Для чего используется bash-static?

15

Какова цель bash-static по сравнению с обычным bash? Это хорошо в качестве спасательной оболочки или для чего это хорошо?

Никлас
источник

Ответы:

24

Вы, вероятно, имеете в виду .debпакет, bash-staticкоторый является статически связанной версией bash, что означает, что это отдельная программа, которая не зависит ни от чего другого (особенно от библиотек) на вашем диске.

Я использовал его в двух разных случаях:

  • Установлен на серверах так, чтобы у меня всегда была работоспособность bash, даже в катастрофических ситуациях, когда ld.soили libcне работает (отсутствует, поврежден, плохо настроен, ...)
  • Поставляется клиентам вместе с моими собственными сценариями оболочки, так что я уверен, что они имеют правильную версию bash, так как я использовал некоторые расширенные функции, которые были представлены в bash v4.3.
xhienne
источник
4
Типичный сценарий: /монтируется нормально, но /usrне может быть установлен по какой-либо причине. Поэтому системы BSD обычно избегают динамически связанных исполняемых файлов в /binи /sbin.
Кусалананда
2
@Kusalananda Не уверен, что это на самом деле типичный сценарий. /usrне должен быть доступен на первых этапах загрузки. Согласно FHS, вы не хотите, чтобы что-либо в /bin(особенно /bin/*sh) зависело от чего-либо в /usr/lib.
Ксиэнн
5
Ах, вот почему у Linux есть /libкаталог (не присутствует в системах BSD), а не /usr/lib...
Кусалананда
5
@Kusalananda Право, в дополнение к, а не, чем. FHS заявляет, что « /libКаталог содержит образы совместно используемых библиотек, необходимые для загрузки системы и выполнения команд в корневой файловой системе, т. Е. С помощью двоичных файлов в /binи /sbin. (Сноска) общих библиотек, которые необходимы только для двоичных файлов в /usr(таких как любые X Двоичные окна) не должны быть в /lib".
Ксиэнн