Why is busybox.musl.static a symlink?

Why is /usr/sbin/busybox.musl.static a symlink to the dynamically linked binary?

$ file -Ls /usr/sbin/busybox* 
/usr/sbin/busybox:             ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-x86_64.so.1, BuildID[sha1]=31dce81049eeba32603072cedae67e731390c0e3, stripped
/usr/sbin/busybox.musl.static: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-x86_64.so.1, BuildID[sha1]=31dce81049eeba32603072cedae67e731390c0e3, stripped

$ rpm -qf /usr/sbin/busybox* | sort -u
busybox-1.35.0-4.fc36.x86_64

$ ls -go /usr/sbin/busybox*
-rwxr-xr-x. 1 1245312 Apr  8 16:30 /usr/sbin/busybox
lrwxrwxrwx. 1       9 Apr  8 16:30 /usr/sbin/busybox.musl.static -> ./busybox

Shouldn’t it be a separate binary, but statically linked, as the name suggests? I needed Busybox on another box and had to resort to an Arch installation where the statically linked version is provided:

$ file -Ls /usr/sbin/busybox 
/usr/sbin/busybox: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, stripped

FWIW, the package description even states:

$ dnf search busybox
[....]
busybox.x86_64 : Statically linked binary providing simplified versions of system commands
busybox-shared.x86_64 : A shared (non-static) version of busybox

…and I only have busybox installed, not busybox-shared.

1 Like

That looks like a bug in the package. I see this, which is perhaps indicating the same issue?

https://bugzilla.redhat.com/show_bug.cgi?id=2079295

1 Like

Weird that I did not find this report in my search. Thanks for the pointer!

1 Like