#1147074 drop static build of busybox

Package:
busybox
Source:
busybox
Description:
Tiny utilities for small and embedded systems
Submitter:
Michael Tokarev
Date:
2026-09-07 13:07:02 UTC
Severity:
normal
#1147074#5
Date:
2026-09-07 09:04:18 UTC
From:
To:
There's no real useful purpose in having static version of
busybox in 2020s.  Maybe it was a good idea back in 1990s,
when systems were very different, filesystems were much less
reliable, and so on.  But even at that time, keeping extra
rescue tools always installed on the system was very uncommon.

Busybox is used in initrd.  Static build of busybox conflicts
with regular build, because both provides the same binary
([/usr]/bin/busybox).  Now, when static build is installed,
this static build will be used in initrd too.  So initrd,
which is supposed to be small, now includes one more copy of
glibc - the one built into busybox-static.  This is absurd.

Instead of trying to fix busybox & busybox-static co-existance,
at this point it is more useful to drop busybox-static
entirely.

#1147074#10
Date:
2026-09-07 09:36:42 UTC
From:
To:
This is my use case:

deboostrap ... /mnt/
cd /
busybox ash
  mkdir OLD
  mv * OLD/
  mv OLD/mnt/* .

So I do need busybox-static.

#1147074#15
Date:
2026-09-07 11:27:45 UTC
From:
To:
On 9/7/26 12:36, Marco d'Itri wrote:
...
But it's definitely "not supported" by debian :)  That to say: I
don't consider this to be a valid use case - enough to keep the
package.

I remember using busybox-static to perform /usr-merge manually -
dunno why already but somehow usr-merge package was doing something
wrongly, I think...  ah, it was it's copying of / stuff to /usr,
instead of moving it.  So I used busybox-static to do a rename
instead of copy+remove.

So it does have its uses.  But these are very niche.  Even for my
use case, I downloaded busybox-static.deb, extracted it to /tmp/bb,
and used it directly from /var/tmp/bb/bin/busybox, without
installing it.

Thanks,

/mjt

#1147074#20
Date:
2026-09-07 13:05:46 UTC
From:
To:
I find busybox-static incredibly useful for debugging running
containers:

	$ podman cp /usr/bin/busybox misbehaving-container:/bin/busybox
	$ podman exec -ti misbehaving-container bash
	# or if even bash isn't available, busybox sh

and now I can use busybox to investigate the runtime state of the
container, without needing to know anything about what available libc
version (or even vendor) is inside, etc.