Se usan alternativas de actualización para informes de sh bash, pero aún obtengo guión

4

Acabo de actualizar a Ubuntu 18.10 desde Ubuntu 17.10.

Tengo mi caja configurada para usar bashcomo el shell predeterminado en lugar del predeterminado dash. He realizado este cambio con el sudo update-alternatives --config shque informa:

  Selection    Path            Priority   Status
------------------------------------------------------------
  0            /bin/dash        200       auto mode
* 1            /bin/bash        100       manual mode
  2            /bin/dash        200       manual mode

Sin embargo, /bin/shtodavía apunta en dashlugar de señalar bash.

En realidad, en versiones anteriores de Ubuntu, creo que eso solía señalar /bin/sh -> /etc/alternatives/sh.

Parece que el último Ubuntu ya no permite el alternativesmecanismo sho al menos rompió las alternativas durante la actualización. Veo desde ¿Cómo puedo hacer que / bin / sh apunte a / bin / bash? que ahora se recomienda reconfigurar el guión en su lugar.

¿Por qué ya no alternativesfunciona? ¿Dónde se documenta este cambio? He estado usando alternativas con sh durante al menos tres años en Ubuntu y nunca antes lo había roto durante una actualización. Hay muchas guías que sugieren que tales como: https://jwaghetti.blogspot.com/2015/09/changing-dash-to-bash.html

Stephen Ostermiller
fuente
No creo que / bin / sh haya sido manejado a través de alternativas. En las versiones LTS 14.04 a 18.04, ejecutando sudo update-alternatives --config shsalidas update-alternatives: error: no alternatives for sh.
wjandrea
@wjandrea Ciertamente fue manejado por alternativas. Siempre he tenido alternativas para sh disponibles, probablemente porque también he instalado bash. Ver jwaghetti.blogspot.com/2015/09/changing-dash-to-bash.html
Stephen Ostermiller el
1
Ese blog es incorrecto, no deberías usar alternativas a menos que los paquetes que instalan los enlaces simbólicos y binarios también lo estén haciendo. Probablemente sea por esa razón que su sistema ahora es inconsistente con respecto a ese enlace simbólico.
filbranden
1
Puede ser interesante y / o útil explicar en qué contextos / con qué propósito desea que se use Bash en lugar de Dash. Sin embargo, votar para dejar la pregunta abierta como está. Definitivamente vale la pena tener una respuesta única aquí
Zanna

Respuestas:

3

El update-alternativessistema podría haberse utilizado para administrar /bin/sh, pero habría tenido que implementarse de esa manera en los paquetes de Debian para bash y dash.

Los empaquetadores decidieron no hacerlo, en lugar de utilizar el esquema actual que involucraba la dpkg-configuregestión /bin/sh. Vea esta excelente respuesta para obtener detalles y justificación de esa elección.

El artículo al que se vinculó recomienda usar update-alternativeson /bin/sh, configurándolo manualmente. Ese es un consejo terrible. Porque, en efecto, tendrás dos sistemas separados que tratarán de administrar el mismo enlace simbólico de diferentes maneras, y probablemente pisarán los pies del otro. (Que probablemente sea lo que causó su problema durante una actualización de Ubuntu).

filbranden
fuente