Сайт | Скачать | Видео | Wiki

Автор Тема: Реализация pinstall.sh и puninstall.sh.  (Прочитано 6524 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vadim

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +21/-0
  • Автор темы
Реализация pinstall.sh и puninstall.sh.
« : 19 Февраль 2014, 14:26:55 »
В *.pet -пакетах была реализована возможность запуска послеустановочного скрипта pinstall.sh и скрипта puninstall.sh, выполняемого после удаления пакета.
Нужно бы эти функции как-то реализовать и в PFS-утилитах.
Desktop i5 750, P7P55D-E EVO
Xenialpup64 7.5

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #1 : 19 Февраль 2014, 14:52:26 »
в pra есть start.sh
в pr я не помню, уже :(
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #2 : 19 Февраль 2014, 14:52:37 »
Давно есть, только название скрипта другое.
load_sfs строки 125-127
Код
if [ -f "$mount_point"/start.sh ];then 
"$mount_point"/start.sh
fi
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #3 : 19 Февраль 2014, 15:08:53 »
В оригинальном PFS-utils полного аналога нет.

Здесь описан похожий функционал (параметр -a / --add-command):
http://forum.puppyrus.org/index.php/topic,12727.msg77673.html#msg77673

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #4 : 19 Февраль 2014, 15:11:37 »
Есть pfsmerge -a
Добавил в http://wiki.puppyrus.org/puppyrus/pr218/pfs?&#pfsmerge Пусть Zay поправит

Да, в PRA я приделал в gui монтирования start.sh. Не знал что есть -a. До сих пор недопонял как это работает.  Когда узнал - start.sh уже прижился и удобно стыкуется с арч пакетами. Через start.sh сделал подгрузку зависимостей

vadim - в каком дистрибутиве Вам нужен этот функционал?

Оффлайн vadim

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +21/-0
  • Автор темы
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #5 : 19 Февраль 2014, 15:24:24 »
Работаю из под PR1312.
Desktop i5 750, P7P55D-E EVO
Xenialpup64 7.5

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #6 : 19 Февраль 2014, 15:31:28 »
Тогда интересно Ваше мнение про удобство и функционал  pfsmerge -a

Оффлайн vadim

  • Постоялец
  • ***
  • Сообщений: 104
  • Репутация: +21/-0
  • Автор темы
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #7 : 19 Февраль 2014, 16:13:17 »
Почитал документацию по pfsmerge -a. Это не совсем то, что нужно, или я чего то не понял ???
Скрипт pinstall.sh в *.pet - пакете выполняет разные постустановочные функции,(например выводит на редактирование
файл конфигурации, предлагает сделать программу, выполняемой по умолчанию и т.д.) и после этого удаляется из
системы. Скрипт puninstall.sh сохраняется в системе до удаления пакета. Во время выполнения удаления пакета, скрипт
puninstall.sh выполняется и удаляется из системы.

P.S.
pfsmerge -a -- это выполнение команды на запуск чего то уже установленного в системе,
а pinstall.sh это скрипт в составе устанавливаемого пакета.
(Наконец смог сформулировать мысль ) ;D
« Последнее редактирование: 19 Февраль 2014, 16:40:29 от vadim »
Desktop i5 750, P7P55D-E EVO
Xenialpup64 7.5

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #8 : 19 Февраль 2014, 16:46:11 »
Вот поэтому я и остался со start.sh stop.sh. Это похоже на то что Вы хотите
Предлагаю вернуть в основную ветку
« Последнее редактирование: 19 Февраль 2014, 16:59:00 от sfs »

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #9 : 22 Февраль 2014, 15:44:53 »
pfsmerge -a -- это выполнение команды на запуск чего то уже установленного в системе,
а pinstall.sh это скрипт в составе устанавливаемого пакета.
Не совсем так. Команда, заданная параметром -a выполняется уже после подключения, соответственно может вызывать программу, которая находится в этом пакете.

Функция задумана, прежде всего, для удобства "непостоянного" использования модулей. Подключил модуль с Firefox'ом или Офисом - и тут же окно с предложением запустить его.
Но можно использовать этот функционал иначе - например запускать "инициализацию" программы, конфигуратор первоначальных настроек и т.д. Примерно то, что Вы описали.

Аналога "puninstall.sh" в PFS-utils нет по соображениям безопасности. Скрипт с ошибкой (или вредоносный) может таких дров наломать...
При удалении пакета средствами PFS-utils есть полная гарантия что будут удалены только файлы этого пакета. Причем если одинаковые файлы были в нескольких пакетах - они не удаляются.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #10 : 23 Февраль 2014, 09:44:40 »
По функционалу может и одно и то же, но удобства нет.
Код
 (параметры командной строки использовать нельзя).
А если я целый многострочный скрипт хочу?
При пересборке легко потерять. Нахождение в /tmp - вообще не найти
Во всех пакетах есть аналогичные стартовые скрипты. В корне пакета - самое удобное место
Все просто и понятно, не потеряется
Про безопасность лучше не вспоминать - все что делается от рута небезопасно. Фругал все спишет (не так просто сломать систему, перезагруз все вылечит)

Оффлайн Zay

  • Почетный участник
  • Ветеран
  • *
  • Сообщений: 1536
  • Репутация: +25/-0
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #11 : 25 Февраль 2014, 23:35:19 »
А если я целый многострочный скрипт хочу?
Можно создать любой скрипт, например yourprogram-init, и указать его параметром -a.
Тогда при запуске пользователь увидит окно с предложением запустить yourprogram-init.

Во всех пакетах есть аналогичные стартовые скрипты.
В каких?

В корне пакета - самое удобное место
В PFS корень - это и корень системы / , в котором лишние файлы явно не нужны.

Про безопасность лучше не вспоминать - все что делается от рута небезопасно. Фругал все спишет (не так просто сломать систему, перезагруз все вылечит)
Повторюсь - подключение PFS с галкой "безопасный режим" - максимально возможная безопасность, ИМХО.
А от деструктивных действий фругал сам по себе не защитит, тот же рм -рф затрёт все смонтированные разделы, в т.ч. home с системой.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #12 : 26 Февраль 2014, 08:05:56 »
В PFS корень - это и корень системы / , в котором лишние файлы явно не нужны.
Для таких дел существует /etc/init.d/
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #13 : 26 Февраль 2014, 08:56:19 »
нет /etc/init.d/ не так работает, он только при загрузке системы, а скрипты выполняются также и при простом подключении модуля т.е. и во время сеанса работы
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33965
  • Репутация: +231/-0
    • PuppyRus-A
Re:Реализация pinstall.sh и puninstall.sh.
« Ответ #14 : 26 Февраль 2014, 10:46:49 »
Можно создать любой скрипт, например yourprogram-init, и указать его параметром -a.
Тогда при запуске пользователь увидит окно с предложением запустить yourprogram-init.
Можно, но неудобно
Во всех пакетах есть аналогичные стартовые скрипты.
В каких?
.pet - pinstall
.pkg (arch) - .INSTALL
.deb - INSTALL
Все в корне пакета и это логично
Да, этот файл окажется в корне дистра. Он не мешает. И это логичнее и удобнее чем yourprogram-init. Особенно при пересборке meta.pfs
Повторюсь - подключение PFS с галкой "безопасный режим" - максимально возможная безопасность, ИМХО.
А от деструктивных действий фругал сам по себе не защитит, тот же рм -рф затрёт все смонтированные разделы, в т.ч. home с системой.
Именно так. Поэтому безопасность лучше не упоминать. У нас фругал вместо безопасности