sgerrand / alpine-pkg-glibc

A glibc compatibility layer package for Alpine Linux
2.05k stars 280 forks source link

duplicate .so files in release tarball #125

Open zhangyoufu opened 4 years ago

zhangyoufu commented 4 years ago

I noticed that the artifacts of latest glibc-2.30 release is significant larger than previous releases. Some .so libraries should be symbolic linked instead of copies.

$ tar -tvf glibc-2.30-r0.apk
-rw-r--r--  0 root   root      256 Aug 18 19:34 .SIGN.RSA.sgerrand.rsa.pub
-rw-r--r--  0 root   root      533 Aug 18 19:34 .PKGINFO
drwxr-xr-x  0 root   root        0 Aug 18 19:33 etc/
lrwxrwxrwx  0 root   root        0 Aug 18 19:33 etc/ld.so.cache -> /usr/glibc-compat/etc/ld.so.cache
-rw-r--r--  0 root   root       55 Aug 18 19:33 etc/nsswitch.conf
drwxr-xr-x  0 root   root        0 Aug 18 19:33 lib/
lrwxrwxrwx  0 root   root        0 Aug 18 19:33 lib/ld-linux-x86-64.so.2 -> /usr/glibc-compat/lib/ld-linux-x86-64.so.2
drwxr-xr-x  0 root   root        0 Aug 18 19:33 lib64/
lrwxrwxrwx  0 root   root        0 Aug 18 19:33 lib64/ld-linux-x86-64.so.2 -> /usr/glibc-compat/lib/ld-linux-x86-64.so.2
drwxr-xr-x  0 root   root        0 Aug 18 19:33 usr/
drwxr-xr-x  0 root   root        0 Aug 18 19:33 usr/glibc-compat/
drwxr-xr-x  0 root   root        0 Aug 18 19:33 usr/glibc-compat/etc/
-rw-r--r--  0 root   root       81 Aug 18 19:33 usr/glibc-compat/etc/ld.so.conf
-rw-r--r--  0 root   root     3284 Aug 18 18:23 usr/glibc-compat/etc/ld.so.cache
drwxr-xr-x  0 root   root        0 Aug 18 19:33 usr/glibc-compat/lib/
-rwxr-xr-x  0 root   root    39720 Aug 18 19:33 usr/glibc-compat/lib/libnss_compat.so.2
-rwxr-xr-x  0 root   root    26944 Aug 18 19:33 usr/glibc-compat/lib/libnss_dns.so
-rwxr-xr-x  0 root   root   118200 Aug 18 19:33 usr/glibc-compat/lib/libpthread.so
-rwxr-xr-x  0 root   root    39888 Aug 18 19:33 usr/glibc-compat/lib/librt-2.30.so
-rwxr-xr-x  0 root   root  1321304 Aug 18 19:33 usr/glibc-compat/lib/libm-2.30.so
-rwxr-xr-x  0 root   root    39296 Aug 18 19:33 usr/glibc-compat/lib/libcrypt.so
-rwxr-xr-x  0 root   root    51680 Aug 18 19:33 usr/glibc-compat/lib/libnss_files.so
-rwxr-xr-x  0 root   root    31072 Aug 18 19:33 usr/glibc-compat/lib/libnss_db.so
-rwxr-xr-x  0 root   root   118200 Aug 18 19:33 usr/glibc-compat/lib/libpthread-2.30.so
-rwxr-xr-x  0 root   root    84784 Aug 18 19:33 usr/glibc-compat/lib/libresolv-2.30.so
-rwxr-xr-x  0 root   root   174472 Aug 18 19:33 usr/glibc-compat/lib/libmvec.so
-rwxr-xr-x  0 root   root    14576 Aug 18 19:33 usr/glibc-compat/lib/libdl.so
-rwxr-xr-x  0 root   root    19032 Aug 18 19:33 usr/glibc-compat/lib/libanl.so
-rwxr-xr-x  0 root   root    39752 Aug 18 19:33 usr/glibc-compat/lib/libthread_db.so
-rwxr-xr-x  0 root   root    14440 Aug 18 19:33 usr/glibc-compat/lib/libpcprofile.so
-rwxr-xr-x  0 root   root    39296 Aug 18 19:33 usr/glibc-compat/lib/libcrypt.so.1
-rwxr-xr-x  0 root   root    26944 Aug 18 19:33 usr/glibc-compat/lib/libnss_dns-2.30.so
-rwxr-xr-x  0 root   root    39752 Aug 18 19:33 usr/glibc-compat/lib/libthread_db-1.0.so
-rwxr-xr-x  0 root   root    39720 Aug 18 19:33 usr/glibc-compat/lib/libnss_compat-2.30.so
-rwxr-xr-x  0 root   root    14704 Aug 18 19:33 usr/glibc-compat/lib/libutil-2.30.so
-rw-r--r--  0 root   root      182 Aug 18 18:22 usr/glibc-compat/lib/libm.so
-rwxr-xr-x  0 root   root  1835672 Aug 18 19:33 usr/glibc-compat/lib/libc.so.6
-rwxr-xr-x  0 root   root    84784 Aug 18 19:33 usr/glibc-compat/lib/libresolv.so
-rwxr-xr-x  0 root   root    14704 Aug 18 19:33 usr/glibc-compat/lib/libutil.so
-rwxr-xr-x  0 root   root    14416 Aug 18 19:33 usr/glibc-compat/lib/libBrokenLocale.so
-rwxr-xr-x  0 root   root    26984 Aug 18 19:33 usr/glibc-compat/lib/libnss_hesiod-2.30.so
-rwxr-xr-x  0 root   root    51680 Aug 18 19:33 usr/glibc-compat/lib/libnss_files.so.2
-rwxr-xr-x  0 root   root   174472 Aug 18 19:33 usr/glibc-compat/lib/libmvec.so.1
-rwxr-xr-x  0 root   root    51680 Aug 18 19:33 usr/glibc-compat/lib/libnss_files-2.30.so
-rwxr-xr-x  0 root   root    14576 Aug 18 19:33 usr/glibc-compat/lib/libdl.so.2
-rwxr-xr-x  0 root   root  1321304 Aug 18 19:33 usr/glibc-compat/lib/libm.so.6
-rwxr-xr-x  0 root   root   169696 Aug 18 19:33 usr/glibc-compat/lib/ld-2.30.so
-rwxr-xr-x  0 root   root    39752 Aug 18 19:33 usr/glibc-compat/lib/libthread_db.so.1
-rwxr-xr-x  0 root   root    14416 Aug 18 19:33 usr/glibc-compat/lib/libBrokenLocale-2.30.so
-rwxr-xr-x  0 root   root    19032 Aug 18 19:33 usr/glibc-compat/lib/libanl.so.1
-rwxr-xr-x  0 root   root    14576 Aug 18 19:33 usr/glibc-compat/lib/libdl-2.30.so
-rwxr-xr-x  0 root   root    39888 Aug 18 19:33 usr/glibc-compat/lib/librt.so
-rwxr-xr-x  0 root   root    14416 Aug 18 19:33 usr/glibc-compat/lib/libBrokenLocale.so.1
-rwxr-xr-x  0 root   root    26984 Aug 18 19:33 usr/glibc-compat/lib/libnss_hesiod.so.2
-rwxr-xr-x  0 root   root   174472 Aug 18 19:33 usr/glibc-compat/lib/libmvec-2.30.so
-rwxr-xr-x  0 root   root    88984 Aug 18 19:33 usr/glibc-compat/lib/libnsl.so.1
-rwxr-xr-x  0 root   root   118200 Aug 18 19:33 usr/glibc-compat/lib/libpthread.so.0
-rwxr-xr-x  0 root   root    18728 Aug 18 19:33 usr/glibc-compat/lib/libmemusage.so
-rwxr-xr-x  0 root   root    19032 Aug 18 19:33 usr/glibc-compat/lib/libanl-2.30.so
-rwxr-xr-x  0 root   root    84784 Aug 18 19:33 usr/glibc-compat/lib/libresolv.so.2
-rwxr-xr-x  0 root   root    31072 Aug 18 19:33 usr/glibc-compat/lib/libnss_db.so.2
-rwxr-xr-x  0 root   root    39888 Aug 18 19:33 usr/glibc-compat/lib/librt.so.1
-rwxr-xr-x  0 root   root  1835672 Aug 18 19:33 usr/glibc-compat/lib/libc-2.30.so
-rw-r--r--  0 root   root      294 Aug 18 18:21 usr/glibc-compat/lib/libc.so
-rwxr-xr-x  0 root   root    26944 Aug 18 19:33 usr/glibc-compat/lib/libnss_dns.so.2
-rwxr-xr-x  0 root   root   169696 Aug 18 19:33 usr/glibc-compat/lib/ld-linux-x86-64.so.2
-rwxr-xr-x  0 root   root    39720 Aug 18 19:33 usr/glibc-compat/lib/libnss_compat.so
-rwxr-xr-x  0 root   root    88984 Aug 18 19:33 usr/glibc-compat/lib/libnsl-2.30.so
-rwxr-xr-x  0 root   root    14704 Aug 18 19:33 usr/glibc-compat/lib/libutil.so.1
-rwxr-xr-x  0 root   root    39296 Aug 18 19:33 usr/glibc-compat/lib/libcrypt-2.30.so
-rwxr-xr-x  0 root   root    22752 Aug 18 19:33 usr/glibc-compat/lib/libSegFault.so
drwxr-xr-x  0 root   root        0 Aug 18 19:33 usr/glibc-compat/lib/locale/
-rwxr-xr-x  0 root   root    26984 Aug 18 19:33 usr/glibc-compat/lib/libnss_hesiod.so
-rwxr-xr-x  0 root   root    31072 Aug 18 19:33 usr/glibc-compat/lib/libnss_db-2.30.so
drwxr-xr-x  0 root   root        0 Aug 18 19:33 usr/glibc-compat/lib64/
lrwxrwxrwx  0 root   root        0 Aug 18 19:33 usr/glibc-compat/lib64/ld-linux-x86-64.so.2 -> /usr/glibc-compat/lib/ld-linux-x86-64.so.2
$ tar -tvf glibc-2.29-r0.apk
-rw-r--r--  0 root   root      256 Feb 12  2019 .SIGN.RSA.sgerrand.rsa.pub
-rw-r--r--  0 root   root      533 Feb 12  2019 .PKGINFO
drwxr-xr-x  0 root   root        0 Feb 12  2019 etc/
lrwxrwxrwx  0 root   root        0 Feb 12  2019 etc/ld.so.cache -> /usr/glibc-compat/etc/ld.so.cache
-rw-r--r--  0 root   root       55 Feb 12  2019 etc/nsswitch.conf
drwxr-xr-x  0 root   root        0 Feb 12  2019 lib/
lrwxrwxrwx  0 root   root        0 Feb 12  2019 lib/ld-linux-x86-64.so.2 -> /usr/glibc-compat/lib/ld-linux-x86-64.so.2
drwxr-xr-x  0 root   root        0 Feb 12  2019 lib64/
lrwxrwxrwx  0 root   root        0 Feb 12  2019 lib64/ld-linux-x86-64.so.2 -> /usr/glibc-compat/lib/ld-linux-x86-64.so.2
drwxr-xr-x  0 root   root        0 Feb 12  2019 usr/
drwxr-xr-x  0 root   root        0 Feb 12  2019 usr/glibc-compat/
drwxr-xr-x  0 root   root        0 Feb 12  2019 usr/glibc-compat/etc/
-rw-r--r--  0 root   root       81 Feb 12  2019 usr/glibc-compat/etc/ld.so.conf
-rw-r--r--  0 root   root     3284 Feb 11  2019 usr/glibc-compat/etc/ld.so.cache
drwxr-xr-x  0 root   root        0 Feb 12  2019 usr/glibc-compat/lib/
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libnss_compat.so.2 -> libnss_compat-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libnss_dns.so -> libnss_dns.so.2
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libpthread.so -> libpthread.so.0
-rwxr-xr-x  0 root   root  1313120 Feb 12  2019 usr/glibc-compat/lib/libm-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libcrypt.so -> libcrypt.so.1
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libnss_files.so -> libnss_files.so.2
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libnss_db.so -> libnss_db.so.2
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libmvec.so -> libmvec.so.1
-rwxr-xr-x  0 root   root    84792 Feb 12  2019 usr/glibc-compat/lib/libresolv-2.29.so
-rwxr-xr-x  0 root   root    47584 Feb 12  2019 usr/glibc-compat/lib/libnss_files-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libdl.so -> libdl.so.2
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libanl.so -> libanl.so.1
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libthread_db.so -> libthread_db.so.1
-rwxr-xr-x  0 root   root     6256 Feb 12  2019 usr/glibc-compat/lib/libpcprofile.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libcrypt.so.1 -> libcrypt-2.29.so
-rwxr-xr-x  0 root   root    14936 Feb 12  2019 usr/glibc-compat/lib/libanl-2.29.so
-rwxr-xr-x  0 root   root    35656 Feb 12  2019 usr/glibc-compat/lib/libthread_db-1.0.so
-rwxr-xr-x  0 root   root   170376 Feb 12  2019 usr/glibc-compat/lib/libmvec-2.29.so
-rwxr-xr-x  0 root   root     6224 Feb 12  2019 usr/glibc-compat/lib/libBrokenLocale-2.29.so
-rw-r--r--  0 root   root      182 Feb 11  2019 usr/glibc-compat/lib/libm.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libc.so.6 -> libc-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libresolv.so -> libresolv.so.2
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libutil.so -> libutil.so.1
-rwxr-xr-x  0 root   root    10608 Feb 12  2019 usr/glibc-compat/lib/libutil-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libBrokenLocale.so -> libBrokenLocale.so.1
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libnss_files.so.2 -> libnss_files-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libmvec.so.1 -> libmvec-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libdl.so.2 -> libdl-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libm.so.6 -> libm-2.29.so
-rwxr-xr-x  0 root   root   165616 Feb 12  2019 usr/glibc-compat/lib/ld-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libthread_db.so.1 -> libthread_db-1.0.so
-rwxr-xr-x  0 root   root    31072 Feb 12  2019 usr/glibc-compat/lib/libnss_db-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libanl.so.1 -> libanl-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/librt.so -> librt.so.1
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libBrokenLocale.so.1 -> libBrokenLocale-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libnss_hesiod.so.2 -> libnss_hesiod-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libnsl.so.1 -> libnsl-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libpthread.so.0 -> libpthread-2.29.so
-rwxr-xr-x  0 root   root    18736 Feb 12  2019 usr/glibc-compat/lib/libmemusage.so
-rwxr-xr-x  0 root   root    14576 Feb 12  2019 usr/glibc-compat/lib/libdl-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libresolv.so.2 -> libresolv-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libnss_db.so.2 -> libnss_db-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/librt.so.1 -> librt-2.29.so
-rw-r--r--  0 root   root      294 Feb 11  2019 usr/glibc-compat/lib/libc.so
-rwxr-xr-x  0 root   root    22848 Feb 12  2019 usr/glibc-compat/lib/libnss_dns-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libnss_dns.so.2 -> libnss_dns-2.29.so
-rwxr-xr-x  0 root   root    31528 Feb 12  2019 usr/glibc-compat/lib/libnss_compat-2.29.so
-rwxr-xr-x  0 root   root   110008 Feb 12  2019 usr/glibc-compat/lib/libpthread-2.29.so
-rwxr-xr-x  0 root   root  1816304 Feb 12  2019 usr/glibc-compat/lib/libc-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/ld-linux-x86-64.so.2 -> ld-2.29.so
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libnss_compat.so -> libnss_compat.so.2
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libutil.so.1 -> libutil-2.29.so
-rwxr-xr-x  0 root   root    84888 Feb 12  2019 usr/glibc-compat/lib/libnsl-2.29.so
-rwxr-xr-x  0 root   root    18664 Feb 12  2019 usr/glibc-compat/lib/libSegFault.so
-rwxr-xr-x  0 root   root    18792 Feb 12  2019 usr/glibc-compat/lib/libnss_hesiod-2.29.so
-rwxr-xr-x  0 root   root    39216 Feb 12  2019 usr/glibc-compat/lib/libcrypt-2.29.so
drwxr-xr-x  0 root   root        0 Feb 12  2019 usr/glibc-compat/lib/locale/
lrwxrwxrwx  0 root   root        0 Feb 11  2019 usr/glibc-compat/lib/libnss_hesiod.so -> libnss_hesiod.so.2
-rwxr-xr-x  0 root   root    31696 Feb 12  2019 usr/glibc-compat/lib/librt-2.29.so
zhangyoufu commented 4 years ago

due to https://github.com/sgerrand/docker-glibc-builder/pull/34

prantlf commented 2 years ago

I tried a brute-force workaround introducing symlinks .so for all .so.N files after installing the glibc:

ln -sf /usr/glibc-compat/lib/ld-linux-x86-64.so.2 /usr/glibc-compat/lib/ld-linux-x86-64.so
ln -sf /usr/glibc-compat/lib/libBrokenLocale.so.1 /usr/glibc-compat/lib/libBrokenLocale.so
ln -sf /usr/glibc-compat/lib/libanl.so.1 /usr/glibc-compat/lib/libanl.so
ln -sf /usr/glibc-compat/lib/libc_malloc_debug.so.0 /usr/glibc-compat/lib/libc_malloc_debug.so
ln -sf /usr/glibc-compat/lib/libcrypt.so.1 /usr/glibc-compat/lib/libcrypt.so
ln -sf /usr/glibc-compat/lib/libdl.so.2 /usr/glibc-compat/lib/libdl.so
ln -sf /usr/glibc-compat/lib/libmvec.so.1 /usr/glibc-compat/lib/libmvec.so
ln -sf /usr/glibc-compat/lib/libnsl.so.1 /usr/glibc-compat/lib/libnsl.so
ln -sf /usr/glibc-compat/lib/libnss_compat.so.2 /usr/glibc-compat/lib/libnss_compat.so
ln -sf /usr/glibc-compat/lib/libnss_db.so.2 /usr/glibc-compat/lib/libnss_db.so
ln -sf /usr/glibc-compat/lib/libnss_dns.so.2 /usr/glibc-compat/lib/libnss_dns.so
ln -sf /usr/glibc-compat/lib/libnss_files.so.2 /usr/glibc-compat/lib/libnss_files.so
ln -sf /usr/glibc-compat/lib/libnss_hesiod.so.2 /usr/glibc-compat/lib/libnss_hesiod.so
ln -sf /usr/glibc-compat/lib/libpthread.so.0 /usr/glibc-compat/lib/libpthread.so
ln -sf /usr/glibc-compat/lib/libresolv.so.2 /usr/glibc-compat/lib/libresolv.so
ln -sf /usr/glibc-compat/lib/librt.so.1 /usr/glibc-compat/lib/librt.so
ln -sf /usr/glibc-compat/lib/libthread_db.so.1 /usr/glibc-compat/lib/libthread_db.so
ln -sf /usr/glibc-compat/lib/libutil.so.1 /usr/glibc-compat/lib/libutil.so

The size decreased a bit, as expected:

❯ docker image ls | grep alpine
alpine-glibc   3.14     8e87f25dc3a2   3 seconds ago        12.6MB
alpine-glibc   latest   65b0583b701e   20 hours ago         13.1MB

And the same repeated for glibc 2.3.3 on alpine latest:

ln -sf /usr/glibc-compat/lib/ld-linux-x86-64.so.2 /usr/glibc-compat/lib/ld-linux-x86-64.so
ln -sf /usr/glibc-compat/lib/ld-linux-x86-64.so.2 /usr/glibc-compat/lib/ld-2.33.so
ln -sf /usr/glibc-compat/lib/libBrokenLocale.so.1 /usr/glibc-compat/lib/libBrokenLocale.so
ln -sf /usr/glibc-compat/lib/libBrokenLocale.so.1 /usr/glibc-compat/lib/libBrokenLocale-2.33.so
ln -sf /usr/glibc-compat/lib/libanl.so.1 /usr/glibc-compat/lib/libanl.so
ln -sf /usr/glibc-compat/lib/libanl.so.1 /usr/glibc-compat/lib/libanl-2.33.so
ln -sf /usr/glibc-compat/lib/libc.so.6 /usr/glibc-compat/lib/libc-2.33.so
ln -sf /usr/glibc-compat/lib/libcrypt.so.1 /usr/glibc-compat/lib/libcrypt.so
ln -sf /usr/glibc-compat/lib/libcrypt.so.1 /usr/glibc-compat/lib/libcrypt-2.33.so
ln -sf /usr/glibc-compat/lib/libdl.so.2 /usr/glibc-compat/lib/libdl.so
ln -sf /usr/glibc-compat/lib/libdl.so.2 /usr/glibc-compat/lib/libdl-2.33.so
ln -sf /usr/glibc-compat/lib/libm.so.6 /usr/glibc-compat/lib/libm-2.33.so
ln -sf /usr/glibc-compat/lib/libmvec.so.1 /usr/glibc-compat/lib/libmvec.so
ln -sf /usr/glibc-compat/lib/libmvec.so.1 /usr/glibc-compat/lib/libmvec-2.33.so
ln -sf /usr/glibc-compat/lib/libnsl.so.1 /usr/glibc-compat/lib/libnsl.so
ln -sf /usr/glibc-compat/lib/libnsl.so.1 /usr/glibc-compat/lib/libnsl-2.33.so
ln -sf /usr/glibc-compat/lib/libnss_compat.so.2 /usr/glibc-compat/lib/libnss_compat.so
ln -sf /usr/glibc-compat/lib/libnss_compat.so.2 /usr/glibc-compat/lib/libnss_compat-2.33.so
ln -sf /usr/glibc-compat/lib/libnss_db.so.2 /usr/glibc-compat/lib/libnss_db.so
ln -sf /usr/glibc-compat/lib/libnss_db.so.2 /usr/glibc-compat/lib/libnss_db-2.33.so
ln -sf /usr/glibc-compat/lib/libnss_dns.so.2 /usr/glibc-compat/lib/libnss_dns.so
ln -sf /usr/glibc-compat/lib/libnss_dns.so.2 /usr/glibc-compat/lib/libnss_dns-2.33.so
ln -sf /usr/glibc-compat/lib/libnss_files.so.2 /usr/glibc-compat/lib/libnss_files.so
ln -sf /usr/glibc-compat/lib/libnss_files.so.2 /usr/glibc-compat/lib/libnss_files-2.33.so
ln -sf /usr/glibc-compat/lib/libnss_hesiod.so.2 /usr/glibc-compat/lib/libnss_hesiod.so
ln -sf /usr/glibc-compat/lib/libnss_hesiod.so.2 /usr/glibc-compat/lib/libnss_hesiod-2.33.so
ln -sf /usr/glibc-compat/lib/libpthread.so.0 /usr/glibc-compat/lib/libpthread.so
ln -sf /usr/glibc-compat/lib/libpthread.so.0 /usr/glibc-compat/lib/libpthread-2.33.so
ln -sf /usr/glibc-compat/lib/libresolv.so.2 /usr/glibc-compat/lib/libresolv.so
ln -sf /usr/glibc-compat/lib/libresolv.so.2 /usr/glibc-compat/lib/libresolv-2.33.so
ln -sf /usr/glibc-compat/lib/librt.so.1 /usr/glibc-compat/lib/librt.so
ln -sf /usr/glibc-compat/lib/librt.so.1 /usr/glibc-compat/lib/librt-2.33.so
ln -sf /usr/glibc-compat/lib/libthread_db.so.1 /usr/glibc-compat/lib/libthread_db.so
ln -sf /usr/glibc-compat/lib/libthread_db.so.1 /usr/glibc-compat/lib/libthread_db-1.0.so
ln -sf /usr/glibc-compat/lib/libutil.so.1 /usr/glibc-compat/lib/libutil.so
ln -sf /usr/glibc-compat/lib/libutil.so.1 /usr/glibc-compat/lib/libutil-2.33.so
❯ docker image ls | grep alpine
alpine-glibc            latest           dff144a41b52   46 seconds ago      13MB
prantlf/alpine-glibc    latest           74eee2009995   16 hours ago        18MB

The size difference reported by the Docker hub among 3.14-2.34 (symlinks), 3.14-2.33 (symlinks) and 3.13-2.33 (file copies):

Bildschirmfoto 2021-09-27 um 16 07 59