Dash as default shell

Zdenek Kabelac zkabelac at redhat.com
Thu Oct 2 07:47:09 UTC 2014


Dne 2.10.2014 v 08:33 Lennart Poettering napsal(a):
> On Wed, 01.10.14 22:39, Rahul Sundaram (metherid at gmail.com) wrote:
>
>> Hi
>>
>> Is it worth considering using Dash as the default (non-interactive) shell
>> in Fedora?  Other distributions including Ubuntu and Debian (
>> https://lwn.net/Articles/343924/) have been using dash as the default shell
>> and Android uses mksh.  While this appears to have been done primary to
>> increase bootup efficiency (which is not relevant with systemd), it might
>> help with security
>>
>> Since the recent Shellshock aka Bashdoor vulnerability, there have been
>> some discussions about more distributions switching over (
>> http://lwn.net/SubscriberLink/614218/019d9a52b0eaae3d/) and I was wondering
>> whether it is worth considering for Fedora?  FWIW, both dash and mksh is
>> already packaged in Fedora.
>
> This sounds really wrong to me.
>
> If you change /bin/sh to dash, then you'll have to map two shell
> binaries into memory (since the login shell is going to stay on bash),
> hence the resource usage grows. You increase the number of packages


When I look in my memory footprint where NetworkManager grabs 20M of RAM
and does nearly nothing whole day - it's funny to even hear dash would 
consuming some significant memory resources.

I suggest to look at other places first if you really care about this.

On the other hand - usage of dash significantly speeds up  compilation of
autoconf projects - it's pretty interesting to see the compilation with dash
is then maybe even 50% faster in non optimized builds (depends on how many 
shells are forked during autoconf builds)

So you may have two shells in RAM - when dash is pretty minimalistic,
and you save tons CPU cycles and seconds on i.e. compile time (being 
environment friendly :)

So while I don't care which shell is default - the argument about memory is 
not worth to mentions....

Zdenek



More information about the devel mailing list