¿Es seguro actualizar Bash a través de Homebrew?

76

Soy nuevo en OS X. Estoy ejecutando OS X Lion en una MacBook Pro. ¿Es seguro actualizar el shell bash utilizando Homebrew:

$ brew install bash

Si es seguro, ¿cómo lo hago como la instancia predeterminada del shell que ejecuto a través de Terminal?

¡Gracias!

    
pregunta Rudy 09.09.2011 - 23:33

4 respuestas

100

Los binarios en /{,usr/}{,s}bin/ generalmente no deben reemplazarse con otros archivos. Otros programas esperan que sean las versiones que vienen con OS X, y son reemplazadas por las actualizaciones del sistema operativo.

Después de ejecutar brew install bash , puedes cambiar el shell predeterminado de manera segura:

  • Añadiendo /usr/local/bin/bash a /etc/shells
  • Ejecutando chsh -s /usr/local/bin/bash .

Las configuraciones en Terminal o iTerm 2 normalmente no tienen que ser cambiadas. Ambos de forma predeterminada abren ventanas nuevas con un shell de inicio de sesión del shell predeterminado.

El shell predeterminado también se puede cambiar desde Preferencias del sistema o con dscl, pero las tres opciones solo modifican /var/db/dslocal/nodes/Default/users/$USER.plist .

    
respondido por el Daniel 09.09.2011 - 23:45
4

Podría estar equivocado aquí, pero por lo que sé, brew instalaría su propia instancia de bash , ya que brew funciona con /usr/local/bin mientras que los valores predeterminados del sistema funcionan con /bin (y /usr/bin ) .

Acerca de Terminal, puede hacer que los shells se abran con su propio comando personalizado. Ir a Preferencias > Inicia y selecciona Carcasas abiertas con: Comando (ruta completa) . Simplemente escriba la ruta a su nuevo bash y vuala!

Espero que ayude!

BTW: Copia de seguridad! ¡El mejor consejo en estas situaciones!

    
respondido por el kevin9794 09.09.2011 - 23:43
0

Antes de hacer algo, haga una copia de seguridad de su archivo actual (por supuesto, pero siempre merece ser dicho)

sudo cp /bin/bash /bin/bash.3.2.bk

Luego crea un enlace simbólico al ejecutable de bash que Homebrew descargó. Creo que será en / usr / local / Cellar, como tal

sudo ln -s /usr/local/Cellar/bash/4.2.10/bin/bash /bin/bash

Ahora / bin / bash apunta al archivo en su directorio usr / local

    
respondido por el lemonginger 09.09.2011 - 23:42
0

Creo que es seguro si lo inicias

brew install bash

y luego agrégalo como tu shell predeterminado

chsh -s /usr/local/bin/bash

ya que solo estás modificando tu usuario actual. Sin embargo, me di cuenta de que mi ~ / .profile predeterminado es

if [ "/bin/bash" == $BASH ]; then
    source ~/.bashrc
fi

por lo que necesita ser actualizado. Lo cambié a

if [ "bash" == $(basename $BASH) ]; then
        source ~/.bashrc
fi
    
respondido por el Gianluca Casati 07.03.2016 - 10:05

Lea otras preguntas en las etiquetas