On Mon, 22 Nov 1999, Agustín Martín Domingo wrote: > Xose Manoel Ramos wrote: > > Quería eliminar 'bash' de mi sistema. (La verdad sería de los pocos > > sistemas Linux sin Bash instalado). > > > > En plan usuario no me preocupa absolutamente nada, porque llevo > > usando 4 años el 'zsh' (más opciones, menos memoria). > > > > Lo que me preocupa es que 'Bash' es la shell del sistema y todos los > > scripts de arranque la usan. Y no me apetecería nada rearancar el > > equipo y que no me cargara. > > > > Según las dependencias sólo el 'bug' depende de 'bash'. Por tanto en > > teoría puedo sacar todo del sistema. > > No es tan simple, no depende ninguno de bash porque bash es requerido y > por tanto no es necesario explicitar la dependencia > > > Package: bash > Essential: yes > Status: install ok installed > Priority: required
Aclaración: Es el "Essential: yes" lo que hace que no sea necesario poner un Depends: bash. [ Para un paquete requerido que no sea esencial sí sería necesario poner un Depends ]. El problema que se presenta aquí es la gran cantidad de paquetes que dependen *implícitamente* de bash, sin decirlo (por ejemplo, aquellos que tengan un script que comience por #!/bin/bash). Hay una solución para esto, y es que bash deje de ser esencial. Para que no se vaya todo al garete habría que crear un nuevo paquete virtual, "posix-shell" cuya existencia garantice que /bin/sh funciona. base-files dependería de posix-shell, igual que ya depende de awk, y así siempre tendrás instalado bash o ash, o cualquier otro shell que se atreva a tener un "Provides: posix-shell". [ Tuve una acaloradísima discusión en debian-devel acerca de esto... En mi opinión, el hecho de que exista ash hace en la práctica que bash no sea tan esencial, y tener tantas dependencias implícitas en bash no es nada bueno. Esperaremos tiempos mejores hasta que la gente se convenza... ]. Lo que sí puedes hacer en todo caso es hacer que /bin/sh apunte a ash, y si algún script /bin/sh dice algo raro, es que tiene un "bashismo" y es un error "reportable". -- "16b93674ab8935097593ab0f16adfad2" (a truly random sig)