LINUX.ORG.RU

Debian, скрипты postinst/postrm

 


0

1

Вопрос:

Есть пакет *.deb.

В нем скрипты postinst/postrm (традиционно) запускаются /bin/sh .
Это как то стандартизировано ??

Или можно свободно сменить в скриптах на /bin/bash ?

Причина - отдельные дистрибутивы заменили bash на dash ( в символьной ссылке /bin/sh ) и скрипт нормально не отрабатывает.

★★★★★

Последнее исправление: Atlant (всего исправлений: 1)

В принципе можно пользоваться вообще всем, чем угодно, хоть tclsh, лишь бы он был установлен в системе на момент запуска скрипта. bash в этом случае не требует никаких дополнительных действий, так как его приоритет required и он essential:

% apt-cache show bash |egrep '(Prio|Ess)'
Essential: yes
Priority: required

Для использования того же tclsh пришлось бы добавлять Pre-Depends в пакет. Рекомендуется dash как POSIX shell, и почти все пакеты им и пользуются.

Да, если применять что-нибудь отличное от шелла, то этот скрипт придеься целиком самому писать. С шеллом же всякие dh-чтототам дописывают в эти скрипты что-нибудь полезное, так что шелл все-таки удобнее. Но bash вполне допустим.

TeopeTuK ★★★★
()
Последнее исправление: TeopeTuK (всего исправлений: 2)
Ответ на: комментарий от Zubok

Ясно, спасибо!
Значит передадим разработчикам требование чистого POSIX shell.

Atlant ★★★★★
() автор топика
Ответ на: комментарий от TeopeTuK

Один коммерческий пакет использует что то недопустимое( в проверках с regexp) в скриптах.

Если официально всё таки есть требования «pure Posix shell», то пусть сами разработчики проверяют скрипт на «чистоту».

Atlant ★★★★★
() автор топика
Ответ на: комментарий от TeopeTuK

А то как раз и произошло.

Atlant ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.