On Sat, 13 Feb 2016 13:32:10 +0100
Bernhard Reutner-Fischer <[email protected]> wrote:

> On February 13, 2016 12:04:40 PM GMT+01:00, [email protected] wrote:
> >https://bugs.busybox.net/show_bug.cgi?id=6182
> >
> >Mike Frysinger <[email protected]> changed:
> >
> >           What    |Removed                     |Added
> >----------------------------------------------------------------------------
> >            Summary|Add /sbin/nologin           |nologin: new applet  
> 
> We already have that:
> https://git.busybox.net/busybox/tree/applets_sh/nologin

Alpine Linux has a problem with this approach.

On Alpine Linux you have busybox tools by default, but for users who
may need the bloaty GNU variants (or any other implementation) they can
simply `apk add coreutils` or similar. This works because no package
"owns" the applet symlinks pointing to busybox. Instead `busybox
--install -s` is run from a trigger[1], whenever any package is
installed or removed that has files in /usr/bin /bin etc. This means
that when you `apk del coreutils`, the busybox symlinks are restored
automatically.

With the shell script "applets" we have the problem that we get real
files, "owned" by a package. This causes a conflict error when
installing the package. Yes, the package manager can be told to accept
overwrites of given files, however, you can not make it automagically
restore the busybox applet when you remove the bloated version of it.

As you may understand this feature is pretty important for Alpine Linux
so we ship our own[2] nologin applet for busybox.


[1]: 
http://git.alpinelinux.org/cgit/aports/tree/main/busybox/busybox.trigger#n18
[2]: http://git.alpinelinux.org/cgit/aports/tree/main/busybox/nologin.c

_______________________________________________
busybox mailing list
[email protected]
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to