[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: /bin/bash -> /bin/sh



*- On 23 May, Werner Reisberger wrote about "/bin/bash -> /bin/sh"
> Some times ago I had a bad experience with the libreadline package.
> The installation failed because a required package wasn't installed. That's
> ok, but the libreadline package had already replaced my bash with another
> one which wasn't working anymore. The bash couldn't be executed because
> the dynamically linked libreadline wasn't installed.
> 
> Since I wasn't able to login anymore, I booted the system with a boot disk
> and replaced the symbolic link bash -> sh with tcsh -> sh. It was still not
                                                 ^^^^^^^^^^^
This is a very BAD IDEA.  The two shells are not functionally
compatible.  In fact I am supprised you are not getting all kinds of
errors due to this. The right choice would have been to link ash->sh or
zsh->sh or other sh-compatible shells.  Csh and tcsh are NOT
sh-compatible.

> possible to boot because at least one important startup script (rcS)
> contained #!/bin/bash instead of #!/bin/sh (I realized this later after
> installing a new base package and hours of work).
> 

Any system script that explicitly requires bash is considered a bug. 
This was discussed at length on debian-devel last year.  Look for the
thread about bashisms.  If you find a system level boot script that
calls bash check the bug tracking system to see if a bug has already
been filed, if not file a bug.

> I reported the problem with libreadline to the package maintainer (and the bug
> list) without getting a response.
> 

I would imagine you were not the only one.  Did you use the bug program
to report the bug?

> I would really aprecciate if the debian base system uses in all important
> system scripts /bin/sh. It would be also safer to use for sh not a symbolic
> link to bash but instead to ash or another bourne compatible shell to avoid
> problems if the bash is broken.
> 

See above. You are right, this is how it is supposed to be.

-- 
Brian 
---------------------------------------------------------------------
Mechanical Engineering                              servis@purdue.edu
Purdue University                   http://www.ecn.purdue.edu/~servis
---------------------------------------------------------------------


Reply to: