Re: Making init scripts use dash
On 5/18/06, Margarita Manterola <email@example.com> wrote:
During some tests I've performed, I've found that making the init
scripts run with dash as default shell instead of bash makes the boot
time a 10% faster (6 seconds in a 60 second boot).
To make this speed up available to everyone, we have 2 main choices:
1. Make /bin/sh point to /bin/dash
2. Change #!/bin/sh for #!/bin/dash in the scripts
There are arguments for and against both of them. I'm summarizing
what I've gathered during Debconf, but I do want to hear other
Option (1) implies making dash base and Essential: yes (currently dash
is optional), and that would imply that until no Essential package
Can't you only change the symlink if/when dash is installed?
depends on bash, we would have two shells in Essential. Moving bash
out of Essential would probably imply two release cycles (i.e. it
couldn't be out of Essential until etch+2).
This option also might imply some extra bugs, but it's believed that
not so many, since there are already quite a number of people with
/bin/sh -> /bin/dash, and they do file bugs when "bashisms" appear.
Option (2), on the other hand, implies that package maintainers have
to manually edit init scripts (or apply patches) and add the correct
dependency. This would mean quite a number of uploads, that might
take quite a lot of time.
Even though this second option is less disruptive than the first one,
if we afterwards decide to move /bin/sh to /bin/dash, it would mean
changing all this yet again, so it would be quite a lot of duplicate
Why would all this have to be changed again?
/bin/dash would still continue to work, right?