Re: Making init scripts use dash
Em Qui, 2006-05-18 às 17:27 -0300, Margarita Manterola escreveu:
> 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
> 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.
A tool searching for "bashisms" in init scripts and maintainer scripts
could help a lot on this...
> 2. Change #!/bin/sh for #!/bin/dash in the scripts
This would have quite the same effect of having two shells with
> Also, I've heard other options being posed, such as writing all init
> scripts (including /etc/init.d/rc) in python. But I do want to
> concentrate on what's possible to do for etch or etch+1.
I don't think it's a good idea at all, as a shell will always be
required in the base system and will always be essential. And... if it
was to move to a higher-level language (which I don't think as needed),
why not Perl? which is already in the base system and is already an
> So, mainly the question that I want to ask of the rest of the Debian
> community is if there are more arguments for or against these options,
> and what do you think would be the best route on implementing this.
/bin/sh is not /bin/bash, so any bashism in a script run with /bin/sh is
a bug. I really think using a more lightweight shell as essential is a