Я просто обновил до Ubuntu 18.10 из Ubuntu 17.10.
Мне настроили мое поле для использования bash
как оболочка по умолчанию, а не значение по умолчанию dash
. Я внес это изменение с sudo update-alternatives --config sh
который сообщает:
Selection Path Priority Status
------------------------------------------------------------
0 /bin/dash 200 auto mode
* 1 /bin/bash 100 manual mode
2 /bin/dash 200 manual mode
Однако /bin/sh
неподвижные точки к dash
вместо того, чтобы указывать bash
.
На самом деле, на предыдущих версиях Ubuntu, я полагаю, что это раньше указывало /bin/sh -> /etc/alternatives/sh
.
Похоже, что последняя Ubuntu больше не позволяет alternatives
механизм для sh
или по крайней мере повредил альтернативы во время обновления. Я вижу от того, Как я могу Высказать/bin/sh мнение к/bin/bash? то, что теперь рекомендуется реконфигурировать тире вместо этого.
Почему не делает alternatives
работа еще? Где это изменение документируется? Я использовал альтернативы с sh в течение по крайней мере трех лет в Ubuntu, и мне никогда не повреждали его во время обновления прежде. Существуют многие руководства, которые предполагают что, такие как: https://jwaghetti.blogspot.com/2015/09/changing-dash-to-bash.html
Система update-alternatives
могла бы использоваться для управления /bin/sh
, но ее пришлось бы реализовать таким образом в пакетах Debian для bash и dash.
Упаковщики решили против этого, вместо этого используя текущую схему, включающую dpkg-configure
для управления /bin/sh
. См. этот превосходный ответ для деталей и обоснования этого выбора.
В статье , на которую вы ссылаетесь , рекомендуется использовать update-alternatives
в /bin/sh
, настраивая ее вручную. Это ужасный совет. Потому что, по сути, у вас будет две отдельные системы, пытающиеся управлять одной и той же символической ссылкой по-разному и, вероятно, наступать друг другу на ноги. (Что, вероятно, стало причиной вашей проблемы во время обновления Ubuntu.)