alpine-pkg-glibc
alpine-pkg-glibc copied to clipboard
duplicate .so files in release tarball
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
due to https://github.com/sgerrand/docker-glibc-builder/pull/34
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):