Je viens de passer à Ubuntu 18.10 à partir de Ubuntu 17.10.
J'ai ma boîte configurée pour utiliser bash
comme shell par défaut plutôt que par défaut dash
. J'ai apporté cette modification avec Sudo update-alternatives --config sh
qui rapporte:
Selection Path Priority Status
------------------------------------------------------------
0 /bin/dash 200 auto mode
* 1 /bin/bash 100 manual mode
2 /bin/dash 200 manual mode
Cependant, /bin/sh
pointe toujours sur dash
plutôt que sur bash
.
En fait, sur les versions précédentes d’Ubuntu, je crois que cela désignait jadis /bin/sh -> /etc/alternatives/sh
.
Il semble que la dernière Ubuntu n'autorise plus le mécanisme alternatives
pour sh
ou du moins ait cassé les alternatives lors de la mise à niveau. Je vois depuis Comment faire en sorte que/bin/sh pointe vers/bin/bash? il est maintenant recommandé de reconfigurer le tiret à la place.
Pourquoi alternatives
ne fonctionne plus? Où ce changement est-il documenté? J'utilise des alternatives avec sh depuis au moins trois ans sous Ubuntu et je ne les avais jamais cassées lors d'une mise à niveau. Il existe de nombreux guides suggérant que: https://jwaghetti.blogspot.com/2015/09/changing-dash-to-bash.html
Le système update-alternatives
aurait pu être utilisé pour gérer /bin/sh
, mais il aurait dû être implémenté de cette manière dans les paquets Debian pour bash et dash.
Les emballeurs ont décidé de ne pas le faire, utilisant plutôt le schéma actuel impliquant dpkg-configure
pour gérer /bin/sh
. Voir cette excellente réponse pour les détails et les raisons de ce choix.
Le article auquel vous avez lié recommande d'utiliser update-alternatives
sur /bin/sh
, en le configurant manuellement. C’est un conseil terrible. Parce qu’en réalité, vous aurez deux systèmes distincts qui essaieront de gérer le même lien symbolique de différentes manières, et qui marcheront probablement sur chacun d’eux. orteils de l'autre. (C'est probablement ce qui a causé votre problème lors d'une mise à jour Ubuntu.)