update-альтернативы для отчетов sh используется bash, но я все еще получаю тире
Я только что обновился до 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? что теперь рекомендуется переконфигурировать dash.
Почему не alternatives
работать больше? Где это изменение задокументировано? Я использую альтернативы с sh как минимум три года в Ubuntu, и у меня никогда не было поломок во время обновления. Есть много руководств, которые предлагают это, например: https://jwaghetti.blogspot.com/2015/09/changing-dash-to-bash.html
1 ответ
update-alternatives
Система могла бы быть использована для управления /bin/sh
, но это должно было быть реализовано таким образом в пакетах Debian для bash и dash.
Упаковщики решили против этого, вместо этого используя текущую схему, включающую dpkg-configure
управлять /bin/sh
, Посмотрите этот отличный ответ для деталей и обоснования этого выбора.
Статья, на которую вы ссылаетесь, рекомендует использовать update-alternatives
на /bin/sh
, настраивая это вручную. Это ужасный совет. Потому что, по сути, у вас будет две отдельные системы, пытающиеся управлять одной и той же символической ссылкой по-разному и, вероятно, наступать друг другу на ноги. (Что, вероятно, стало причиной вашей проблемы во время обновления Ubuntu.)