On an IPFire installation that has been around since Core Update 110 (released April 28, 2017), these files have been identified as being orphaned, comparing to a fresh installation of Core Update 164.
To avoid such a list of files agglomerating, persons responsible for a Core Update should check whether an updated package contains deleted files in its rootfile. If so, they should be deleted on existing systems via update.sh as well.
Signed-off-by: Peter Müller peter.mueller@ipfire.org --- config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++- 1 file changed, 258 insertions(+), 2 deletions(-)
diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh index 1370555b0..b556986a5 100644 --- a/config/rootfiles/core/166/update.sh +++ b/config/rootfiles/core/166/update.sh @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do done
# Remove files -rm -vf \ +rm -rvf \ + /bin/setserial \ /etc/dracut.conf \ + /etc/fonts/conf.d/30-urw-aliases.conf \ + /etc/grub.d/README \ + /etc/rc.d/init.d/networking/red.up/99-geoip-database \ + /etc/udev/rules.d/99-fuse.rules \ + /lib/firmware/amd-ucode/microcode_amd.bin.asc \ + /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \ + /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \ + /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \ + /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \ + /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \ + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \ + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \ + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \ + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \ + /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \ + /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \ + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \ + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \ + /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \ + /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \ + /lib/firmware/atusb/ChangeLog \ + /lib/firmware/check_whence.py \ + /lib/firmware/cis/src \ + /lib/firmware/copy-firmware.sh \ + /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \ + /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \ + /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \ + /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \ + /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \ + /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \ + /lib/firmware/GPL-2 \ + /lib/firmware/GPL-3 \ + /lib/firmware/isci/README \ + /lib/firmware/LICENCE.* \ + /lib/firmware/Makefile \ + /lib/firmware/qca/NOTICE.txt \ + /lib/firmware/qcom/NOTICE.txt \ + /lib/firmware/README \ + /lib/firmware/WHENCE \ + /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \ + /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \ + /lib/ld-2.29.so \ + /lib/ld-2.31.so \ + /lib/ld-2.32.so \ + /lib/libcap.so \ + /lib/libhistory.so.5 \ + /lib/libhistory.so.5.2 \ + /lib/libip4tc.so.0 \ + /lib/libip4tc.so.0.1.0 \ + /lib/libip6tc.so.0 \ + /lib/libip6tc.so.0.1.0 \ + /lib/libiptc.so \ + /lib/libiptc.so.0 \ + /lib/libiptc.so.0.0.0 \ + /lib/libnss_nis-2.31.so \ + /lib/libnss_nisplus-2.31.so \ + /lib/libnss_nisplus.so.2 \ + /lib/libnss_nis.so.2 \ + /lib/libproc-3.2.8.so \ + /lib/libreadline.so.5 \ + /lib/libreadline.so.5.2 \ + /lib/libsysfs.so \ + /lib/libsysfs.so.1 \ + /lib/libsysfs.so.1.0.3 \ + /lib/udev/bluetooth_serial \ + /lib/udev/rules.d/24-bluetooth.rules \ + /lib/xtables/libxt_IMQ.so \ /opt/pakfire/pakfire-2007.key \ + /sbin/mount.fuse \ + /sbin/raw \ + /sbin/xfs_scrub \ + /sbin/xfs_scrub_all \ + /srv/web/ipfire/cgi-bin/bluetooth.cgi \ + /usr/bin/ez-ipupdate \ + /usr/bin/fusermount \ + /usr/bin/gawk-5.1.0 \ + /usr/bin/gcov-dump \ + /usr/bin/getunimap \ /usr/bin/mkinitrd \ + /usr/bin/mtools \ + /usr/bin/pango-querymodules \ + /usr/bin/perl5.30.0 \ + /usr/bin/setlogcons \ + /usr/bin/setvesablank \ + /usr/bin/ulockmgr_server \ + /usr/include/python2.7 \ + /usr/lib/cairo \ /usr/lib/dracut \ + /usr/lib/findutils/bigram \ + /usr/lib/findutils/code \ + /usr/lib/gawk/testext.so \ + /usr/lib/itcl4.2.1 \ + /usr/lib/libasan.so.5 \ + /usr/lib/libasan.so.5.0.0 \ + /usr/lib/libbfd-2.32.so \ + /usr/lib/libbfd-2.34.so \ + /usr/lib/libbfd-2.35.1.so \ + /usr/lib/libbind9-9.16.22.so \ + /usr/lib/libbind9.so.161 \ + /usr/lib/libbind9.so.161.0.4 \ + /usr/lib/libblkid.so \ + /usr/lib/libdns-9.16.22.so \ + /usr/lib/libdnssec.so.7 \ + /usr/lib/libdnssec.so.7.0.0 \ + /usr/lib/libdns.so.* \ + /usr/lib/libevent-2.1.so.6 \ + /usr/lib/libevent-2.1.so.6.0.2 \ + /usr/lib/libevent_core-2.1.so.6 \ + /usr/lib/libevent_core-2.1.so.6.0.2 \ + /usr/lib/libevent_extra-2.1.so.6 \ + /usr/lib/libevent_extra-2.1.so.6.0.2 \ + /usr/lib/libevent_openssl-2.1.so.6 \ + /usr/lib/libevent_openssl-2.1.so.6.0.2 \ + /usr/lib/libevent_openssl.so \ + /usr/lib/libevent_pthreads-2.1.so.6 \ + /usr/lib/libevent_pthreads-2.1.so.6.0.2 \ + /usr/lib/libevent_pthreads.so \ + /usr/lib/libexpat.so \ + /usr/lib/libexslt.so \ + /usr/lib/libffi.so.6 \ + /usr/lib/libffi.so.6.0.4 \ + /usr/lib/libffi.so.7 \ + /usr/lib/libffi.so.7.1.0 \ + /usr/lib/libfuse.so \ + /usr/lib/libfuse.so.2 \ + /usr/lib/libfuse.so.2.9.7 \ + /usr/lib/libgdbm_compat.so \ + /usr/lib/libgdbm_compat.so.3 \ + /usr/lib/libgdbm_compat.so.3.0.0 \ + /usr/lib/libgdbm.so \ + /usr/lib/libgdbm.so.3 \ + /usr/lib/libgdbm.so.3.0.0 \ + /usr/lib/libgd.so \ + /usr/lib/libgd.so.2 \ + /usr/lib/libgd.so.2.0.0 \ + /usr/lib/libgettextlib-0.19.8.1.so \ + /usr/lib/libgettextsrc-0.19.8.1.so \ + /usr/lib/libhistory.so.6 \ + /usr/lib/libhistory.so.6.3 \ + /usr/lib/libhogweed.so.5 \ + /usr/lib/libhogweed.so.5.0 \ + /usr/lib/libidn.so \ + /usr/lib/libidn.so.11 \ + /usr/lib/libidn.so.11.6.18 \ + /usr/lib/libirs-9.16.22.so \ + /usr/lib/libisc-9.16.22.so \ + /usr/lib/libisccc-9.16.22.so \ + /usr/lib/libisccc.so.161 \ + /usr/lib/libisccc.so.161.0.1 \ + /usr/lib/libisccfg-9.16.22.so \ + /usr/lib/libisccfg.so.163 \ + /usr/lib/libisccfg.so.163.0.8 \ + /usr/lib/libisc.so.1100 \ + /usr/lib/libisc.so.1100.3.2 \ + /usr/lib/libisc.so.1104 \ + /usr/lib/libisc.so.1104.0.0 \ + /usr/lib/libisc.so.1105 \ + /usr/lib/libisc.so.1105.1.1 \ + /usr/lib/libisc.so.1107 \ + /usr/lib/libisc.so.1107.0.5 \ + /usr/lib/libixml.so \ + /usr/lib/libknot.so.10 \ + /usr/lib/libknot.so.10.0.0 \ + /usr/lib/libknot.so.11 \ + /usr/lib/libknot.so.11.0.0 \ + /usr/lib/libknot.so.9 \ + /usr/lib/libknot.so.9.0.0 \ + /usr/lib/liblber-2.3.so.0 \ + /usr/lib/liblber-2.3.so.0.2.8 \ + /usr/lib/libldap-2.3.so.0 \ + /usr/lib/libldap-2.3.so.0.2.8 \ + /usr/lib/libldap_r-2.3.so.0 \ + /usr/lib/libldap_r-2.3.so.0.2.8 \ + /usr/lib/libloc.so.0 \ + /usr/lib/libloc.so.0.0.0 \ + /usr/lib/liblua-5.3.so \ + /usr/lib/liblua.so \ + /usr/lib/liblwres.so.161 \ + /usr/lib/liblwres.so.161.0.4 \ + /usr/lib/libmpfr.so.4 \ + /usr/lib/libmpfr.so.4.1.5 \ + /usr/lib/libmpx.so.2 \ + /usr/lib/libmpx.so.2.0.1 \ + /usr/lib/libmpxwrappers.so.2 \ + /usr/lib/libmpxwrappers.so.2.0.1 \ + /usr/lib/libnettle.so.7 \ + /usr/lib/libnettle.so.7.0 \ + /usr/lib/libns-9.16.22.so \ + /usr/lib/libopcodes-2.32.so \ + /usr/lib/libopcodes-2.34.so \ + /usr/lib/libopcodes-2.35.1.so \ + /usr/lib/libpcre2-posix.so.2 \ + /usr/lib/libpcre2-posix.so.2.0.3 \ + /usr/lib/libpng12.so \ + /usr/lib/libpng12.so.0 \ + /usr/lib/libpng12.so.0.57.0 \ + /usr/lib/libpng.so.3 \ + /usr/lib/libpng.so.3.57.0 \ + /usr/lib/libpoppler.so.100 \ + /usr/lib/libpoppler.so.100.0.0 \ + /usr/lib/libpoppler.so.110 \ + /usr/lib/libpoppler.so.110.0.0 \ + /usr/lib/libpoppler.so.111 \ + /usr/lib/libpoppler.so.111.0.0 \ + /usr/lib/libpoppler.so.66 \ + /usr/lib/libpoppler.so.66.0.0 \ + /usr/lib/libqpdf.so.17 \ + /usr/lib/libqpdf.so.17.0.0 \ + /usr/lib/libreadline.so.6 \ + /usr/lib/libreadline.so.6.3 \ + /usr/lib/libsensors.so.4 \ + /usr/lib/libsensors.so.4.4.0 \ + /usr/lib/libsqlite3.so \ + /usr/lib/libthreadutil.so \ + /usr/lib/libthreadutil.so.6 \ + /usr/lib/libthreadutil.so.6.0.3 \ + /usr/lib/libulockmgr.so \ + /usr/lib/libulockmgr.so.1 \ + /usr/lib/libulockmgr.so.1.0.1 \ + /usr/lib/libupnp.so \ + /usr/lib/libuuid.so \ + /usr/lib/libxml2.so \ + /usr/lib/libxslt.so \ + /usr/lib/pango \ + /usr/lib/perl5/site_perl/5.30.0 \ + /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \ + /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \ + /usr/lib/python3.8/idlelib/Icons/idle.icns \ + /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \ + /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \ + /usr/lib/sqlite3.34.0 \ + /usr/lib/squid/basic_nis_auth \ + /usr/lib/squid/ext_time_quota_acl \ + /usr/lib/tcl8/8.4/platform-1.0.14.tm \ + /usr/lib/tcl8/8.4/platform-1.0.15.tm \ + /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \ + /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \ + /usr/lib/tcl8/8.6/http-2.8.9.tm \ + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \ + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \ + /usr/lib/tdbc1.1.2 \ + /usr/lib/tdbcmysql1.1.2 \ + /usr/lib/tdbcodbc1.1.2 \ + /usr/lib/tdbcpostgres1.1.2 \ + /usr/lib/thread2.8.6 \ + /usr/libexec/xtables-addons \ /usr/local/bin/ovpn-ccd-convert \ - /usr/local/bin/rebuild-initrd + /usr/local/bin/rebuild-initrd \ + /usr/local/bin/xt_geoip_build \ + /usr/local/bin/xt_geoip_update \ + /usr/sbin/batctl \ + /usr/sbin/fbset \ + /usr/sbin/update-usbids.sh \ + /usr/sbin/uuidd \ + /usr/share/doc/fireinfo \ + /usr/share/GeoIP \ + /usr/share/zoneinfo/posix/US/Pacific-New \ + /usr/share/zoneinfo/right/US/Pacific-New \ + /usr/share/zoneinfo/US/Pacific-New \ + /var/lib/GeoIP
# Delete old 2007 Pakfire key from GPG keyring export GNUPGHOME="/opt/pakfire/etc/.gnupg"
Hello *,
for the records: On the IPFire installation in question, this would save some 117 MBytes in total:
24K /bin/setserial 4.0K /etc/dracut.conf 0 /etc/fonts/conf.d/30-urw-aliases.conf 4.0K /etc/grub.d/README 4.0K /etc/rc.d/init.d/networking/red.up/99-geoip-database 4.0K /etc/udev/rules.d/99-fuse.rules 4.0K /lib/firmware/amd-ucode/microcode_amd.bin.asc 4.0K /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc 4.0K /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc 4.0K /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc 32K /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt 48K /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt 80K /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt 56K /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt 48K /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt 56K /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt 16K /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt 32K /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt 16K /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt 16K /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt 32K /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt 32K /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt 4.0K /lib/firmware/atusb/ChangeLog 4.0K /lib/firmware/check_whence.py 56K /lib/firmware/cis/src 4.0K /lib/firmware/copy-firmware.sh 548K /lib/firmware/cxgb4/t4fw-1.20.8.0.bin 560K /lib/firmware/cxgb4/t4fw-1.24.3.0.bin 632K /lib/firmware/cxgb4/t5fw-1.20.8.0.bin 648K /lib/firmware/cxgb4/t5fw-1.24.3.0.bin 680K /lib/firmware/cxgb4/t6fw-1.20.8.0.bin 700K /lib/firmware/cxgb4/t6fw-1.24.3.0.bin 20K /lib/firmware/GPL-2 36K /lib/firmware/GPL-3 4.0K /lib/firmware/isci/README 4.0K /lib/firmware/LICENCE.Abilis 48K /lib/firmware/LICENCE.adsp_sst 4.0K /lib/firmware/LICENCE.agere 4.0K /lib/firmware/LICENCE.atheros_firmware 8.0K /lib/firmware/LICENCE.broadcom_bcm43xx 4.0K /lib/firmware/LICENCE.ca0132 4.0K /lib/firmware/LICENCE.cadence 4.0K /lib/firmware/LICENCE.cavium 28K /lib/firmware/LICENCE.cavium_liquidio 4.0K /lib/firmware/LICENCE.chelsio_firmware 4.0K /lib/firmware/LICENCE.cw1200 12K /lib/firmware/LICENCE.cypress 4.0K /lib/firmware/LICENCE.e100 4.0K /lib/firmware/LICENCE.ene_firmware 4.0K /lib/firmware/LICENCE.fw_sst_0f28 20K /lib/firmware/LICENCE.go7007 4.0K /lib/firmware/LICENCE.i2400m 4.0K /lib/firmware/LICENCE.ibt_firmware 4.0K /lib/firmware/LICENCE.IntcSST2 4.0K /lib/firmware/LICENCE.it913x 4.0K /lib/firmware/LICENCE.iwlwifi_firmware 4.0K /lib/firmware/LICENCE.kaweth 4.0K /lib/firmware/LICENCE.Marvell 4.0K /lib/firmware/LICENCE.mediatek 4.0K /lib/firmware/LICENCE.microchip 4.0K /lib/firmware/LICENCE.moxa 4.0K /lib/firmware/LICENCE.myri10ge_firmware 4.0K /lib/firmware/LICENCE.Netronome 8.0K /lib/firmware/LICENCE.nvidia 4.0K /lib/firmware/LICENCE.OLPC 12K /lib/firmware/LICENCE.open-ath9k-htc-firmware 4.0K /lib/firmware/LICENCE.phanfw 4.0K /lib/firmware/LICENCE.qat_firmware 4.0K /lib/firmware/LICENCE.qla1280 4.0K /lib/firmware/LICENCE.qla2xxx 4.0K /lib/firmware/LICENCE.r8a779x_usb3 4.0K /lib/firmware/LICENCE.ralink_a_mediatek_company_firmware 4.0K /lib/firmware/LICENCE.ralink-firmware.txt 4.0K /lib/firmware/LICENCE.rockchip 4.0K /lib/firmware/LICENCE.rtlwifi_firmware.txt 4.0K /lib/firmware/LICENCE.siano 4.0K /lib/firmware/LICENCE.tda7706-firmware.txt 4.0K /lib/firmware/LICENCE.ti-connectivity 4.0K /lib/firmware/LICENCE.ti-keystone 4.0K /lib/firmware/LICENCE.ueagle-atm4-firmware 4.0K /lib/firmware/LICENCE.via_vt6656 4.0K /lib/firmware/LICENCE.wl1251 4.0K /lib/firmware/LICENCE.xc4000 4.0K /lib/firmware/LICENCE.xc5000 4.0K /lib/firmware/LICENCE.xc5000c 4.0K /lib/firmware/Makefile 20K /lib/firmware/qca/NOTICE.txt 24K /lib/firmware/qcom/NOTICE.txt 4.0K /lib/firmware/README 140K /lib/firmware/WHENCE 4.0K /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz 4.0K /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz 168K /lib/ld-2.29.so 172K /lib/ld-2.31.so 180K /lib/ld-2.32.so 0 /lib/libcap.so 0 /lib/libhistory.so.5 48K /lib/libhistory.so.5.2 0 /lib/libip4tc.so.0 40K /lib/libip4tc.so.0.1.0 0 /lib/libip6tc.so.0 40K /lib/libip6tc.so.0.1.0 0 /lib/libiptc.so 0 /lib/libiptc.so.0 16K /lib/libiptc.so.0.0.0 52K /lib/libnss_nis-2.31.so 60K /lib/libnss_nisplus-2.31.so 0 /lib/libnss_nisplus.so.2 0 /lib/libnss_nis.so.2 68K /lib/libproc-3.2.8.so 0 /lib/libreadline.so.5 308K /lib/libreadline.so.5.2 0 /lib/libsysfs.so 0 /lib/libsysfs.so.1 68K /lib/libsysfs.so.1.0.3 4.0K /lib/udev/bluetooth_serial 4.0K /lib/udev/rules.d/24-bluetooth.rules 20K /lib/xtables/libxt_IMQ.so 4.0K /opt/pakfire/pakfire-2007.key 16K /sbin/mount.fuse 16K /sbin/raw 88K /sbin/xfs_scrub 8.0K /sbin/xfs_scrub_all 8.0K /srv/web/ipfire/cgi-bin/bluetooth.cgi 80K /usr/bin/ez-ipupdate 36K /usr/bin/fusermount 656K /usr/bin/gawk-5.1.0 420K /usr/bin/gcov-dump 16K /usr/bin/getunimap 8.0K /usr/bin/mkinitrd 176K /usr/bin/mtools 20K /usr/bin/pango-querymodules 3.2M /usr/bin/perl5.30.0 16K /usr/bin/setlogcons 16K /usr/bin/setvesablank 16K /usr/bin/ulockmgr_server 44K /usr/include/python2.7 216K /usr/lib/cairo 4.0K /usr/lib/dracut/dracut.conf.d 12K /usr/lib/dracut/modules.d/99shutdown 8.0K /usr/lib/dracut/modules.d/03rescue 60K /usr/lib/dracut/modules.d/90mdraid 16K /usr/lib/dracut/modules.d/99fs-lib 12K /usr/lib/dracut/modules.d/95fstab-sys 8.0K /usr/lib/dracut/modules.d/50drm 32K /usr/lib/dracut/modules.d/10i18n 20K /usr/lib/dracut/modules.d/98integrity 16K /usr/lib/dracut/modules.d/02caps 12K /usr/lib/dracut/modules.d/98pollcdrom 68K /usr/lib/dracut/modules.d/99base 12K /usr/lib/dracut/modules.d/99img-lib 16K /usr/lib/dracut/modules.d/04watchdog 8.0K /usr/lib/dracut/modules.d/95debug 8.0K /usr/lib/dracut/modules.d/00bash 36K /usr/lib/dracut/modules.d/98syslog 8.0K /usr/lib/dracut/modules.d/95terminfo 28K /usr/lib/dracut/modules.d/95rootfs-block 16K /usr/lib/dracut/modules.d/90kernel-modules 20K /usr/lib/dracut/modules.d/99installer 16K /usr/lib/dracut/modules.d/95virtfs 20K /usr/lib/dracut/modules.d/95udev-rules 456K /usr/lib/dracut/modules.d 616K /usr/lib/dracut 32K /usr/lib/findutils/bigram 36K /usr/lib/findutils/code 32K /usr/lib/gawk/testext.so 384K /usr/lib/itcl4.2.1 0 /usr/lib/libasan.so.5 1.6M /usr/lib/libasan.so.5.0.0 1.4M /usr/lib/libbfd-2.32.so 1.3M /usr/lib/libbfd-2.34.so 1.3M /usr/lib/libbfd-2.35.1.so 88K /usr/lib/libbind9-9.16.22.so 0 /usr/lib/libbind9.so.161 76K /usr/lib/libbind9.so.161.0.4 0 /usr/lib/libblkid.so 2.2M /usr/lib/libdns-9.16.22.so 0 /usr/lib/libdnssec.so.7 188K /usr/lib/libdnssec.so.7.0.0 0 /usr/lib/libdns.so.1106 2.4M /usr/lib/libdns.so.1106.0.1 0 /usr/lib/libdns.so.1107 2.3M /usr/lib/libdns.so.1107.1.0 0 /usr/lib/libdns.so.1110 2.3M /usr/lib/libdns.so.1110.0.4 0 /usr/lib/libdns.so.1112 2.3M /usr/lib/libdns.so.1112.0.2 0 /usr/lib/libdns.so.1113 2.3M /usr/lib/libdns.so.1113.0.2 0 /usr/lib/libdns.so.1115 2.3M /usr/lib/libdns.so.1115.0.0 0 /usr/lib/libevent-2.1.so.6 424K /usr/lib/libevent-2.1.so.6.0.2 0 /usr/lib/libevent_core-2.1.so.6 276K /usr/lib/libevent_core-2.1.so.6.0.2 0 /usr/lib/libevent_extra-2.1.so.6 172K /usr/lib/libevent_extra-2.1.so.6.0.2 0 /usr/lib/libevent_openssl-2.1.so.6 40K /usr/lib/libevent_openssl-2.1.so.6.0.2 0 /usr/lib/libevent_openssl.so 0 /usr/lib/libevent_pthreads-2.1.so.6 20K /usr/lib/libevent_pthreads-2.1.so.6.0.2 0 /usr/lib/libevent_pthreads.so 0 /usr/lib/libexpat.so 0 /usr/lib/libexslt.so 0 /usr/lib/libffi.so.6 48K /usr/lib/libffi.so.6.0.4 0 /usr/lib/libffi.so.7 44K /usr/lib/libffi.so.7.1.0 0 /usr/lib/libfuse.so 0 /usr/lib/libfuse.so.2 288K /usr/lib/libfuse.so.2.9.7 0 /usr/lib/libgdbm_compat.so 0 /usr/lib/libgdbm_compat.so.3 20K /usr/lib/libgdbm_compat.so.3.0.0 0 /usr/lib/libgdbm.so 0 /usr/lib/libgdbm.so.3 32K /usr/lib/libgdbm.so.3.0.0 0 /usr/lib/libgd.so 0 /usr/lib/libgd.so.2 328K /usr/lib/libgd.so.2.0.0 1.8M /usr/lib/libgettextlib-0.19.8.1.so 352K /usr/lib/libgettextsrc-0.19.8.1.so 0 /usr/lib/libhistory.so.6 52K /usr/lib/libhistory.so.6.3 0 /usr/lib/libhogweed.so.5 248K /usr/lib/libhogweed.so.5.0 0 /usr/lib/libidn.so 0 /usr/lib/libidn.so.11 216K /usr/lib/libidn.so.11.6.18 48K /usr/lib/libirs-9.16.22.so 612K /usr/lib/libisc-9.16.22.so 44K /usr/lib/libisccc-9.16.22.so 0 /usr/lib/libisccc.so.161 48K /usr/lib/libisccc.so.161.0.1 212K /usr/lib/libisccfg-9.16.22.so 0 /usr/lib/libisccfg.so.163 184K /usr/lib/libisccfg.so.163.0.8 0 /usr/lib/libisc.so.1100 596K /usr/lib/libisc.so.1100.3.2 0 /usr/lib/libisc.so.1104 536K /usr/lib/libisc.so.1104.0.0 0 /usr/lib/libisc.so.1105 548K /usr/lib/libisc.so.1105.1.1 0 /usr/lib/libisc.so.1107 548K /usr/lib/libisc.so.1107.0.5 0 /usr/lib/libixml.so 0 /usr/lib/libknot.so.10 288K /usr/lib/libknot.so.10.0.0 0 /usr/lib/libknot.so.11 248K /usr/lib/libknot.so.11.0.0 0 /usr/lib/libknot.so.9 328K /usr/lib/libknot.so.9.0.0 0 /usr/lib/liblber-2.3.so.0 72K /usr/lib/liblber-2.3.so.0.2.8 0 /usr/lib/libldap-2.3.so.0 264K /usr/lib/libldap-2.3.so.0.2.8 0 /usr/lib/libldap_r-2.3.so.0 284K /usr/lib/libldap_r-2.3.so.0.2.8 0 /usr/lib/libloc.so.0 56K /usr/lib/libloc.so.0.0.0 264K /usr/lib/liblua-5.3.so 0 /usr/lib/liblua.so 0 /usr/lib/liblwres.so.161 88K /usr/lib/liblwres.so.161.0.4 0 /usr/lib/libmpfr.so.4 428K /usr/lib/libmpfr.so.4.1.5 0 /usr/lib/libmpx.so.2 28K /usr/lib/libmpx.so.2.0.1 0 /usr/lib/libmpxwrappers.so.2 24K /usr/lib/libmpxwrappers.so.2.0.1 0 /usr/lib/libnettle.so.7 264K /usr/lib/libnettle.so.7.0 304K /usr/lib/libns-9.16.22.so 1.5M /usr/lib/libopcodes-2.32.so 1.4M /usr/lib/libopcodes-2.34.so 1.4M /usr/lib/libopcodes-2.35.1.so 0 /usr/lib/libpcre2-posix.so.2 16K /usr/lib/libpcre2-posix.so.2.0.3 0 /usr/lib/libpng12.so 0 /usr/lib/libpng12.so.0 240K /usr/lib/libpng12.so.0.57.0 0 /usr/lib/libpng.so.3 256K /usr/lib/libpng.so.3.57.0 0 /usr/lib/libpoppler.so.100 3.8M /usr/lib/libpoppler.so.100.0.0 0 /usr/lib/libpoppler.so.110 3.6M /usr/lib/libpoppler.so.110.0.0 0 /usr/lib/libpoppler.so.111 3.7M /usr/lib/libpoppler.so.111.0.0 0 /usr/lib/libpoppler.so.66 2.8M /usr/lib/libpoppler.so.66.0.0 0 /usr/lib/libqpdf.so.17 1.1M /usr/lib/libqpdf.so.17.0.0 0 /usr/lib/libreadline.so.6 348K /usr/lib/libreadline.so.6.3 0 /usr/lib/libsensors.so.4 76K /usr/lib/libsensors.so.4.4.0 0 /usr/lib/libsqlite3.so 0 /usr/lib/libthreadutil.so 0 /usr/lib/libthreadutil.so.6 32K /usr/lib/libthreadutil.so.6.0.3 0 /usr/lib/libulockmgr.so 0 /usr/lib/libulockmgr.so.1 20K /usr/lib/libulockmgr.so.1.0.1 0 /usr/lib/libupnp.so 0 /usr/lib/libuuid.so 0 /usr/lib/libxml2.so 0 /usr/lib/libxslt.so 316K /usr/lib/pango/1.6.0/modules 320K /usr/lib/pango/1.6.0 324K /usr/lib/pango 24K /usr/lib/perl5/site_perl/5.30.0/Apache 36K /usr/lib/perl5/site_perl/5.30.0/Geo/IP 40K /usr/lib/perl5/site_perl/5.30.0/Geo 28K /usr/lib/perl5/site_perl/5.30.0/Mail/Mailer 16K /usr/lib/perl5/site_perl/5.30.0/Mail/Field 120K /usr/lib/perl5/site_perl/5.30.0/Mail 12K /usr/lib/perl5/site_perl/5.30.0/HTML/Template 196K /usr/lib/perl5/site_perl/5.30.0/HTML 8.0K /usr/lib/perl5/site_perl/5.30.0/WWW/RobotRules 24K /usr/lib/perl5/site_perl/5.30.0/WWW 12K /usr/lib/perl5/site_perl/5.30.0/URI/urn 32K /usr/lib/perl5/site_perl/5.30.0/URI/file 232K /usr/lib/perl5/site_perl/5.30.0/URI 8.0K /usr/lib/perl5/site_perl/5.30.0/CGI/HTML 8.0K /usr/lib/perl5/site_perl/5.30.0/CGI/File 88K /usr/lib/perl5/site_perl/5.30.0/CGI 16K /usr/lib/perl5/site_perl/5.30.0/Digest 20K /usr/lib/perl5/site_perl/5.30.0/LWP/Authen 100K /usr/lib/perl5/site_perl/5.30.0/LWP/Protocol 232K /usr/lib/perl5/site_perl/5.30.0/LWP 24K /usr/lib/perl5/site_perl/5.30.0/Archive/Zip 24K /usr/lib/perl5/site_perl/5.30.0/Archive/Tar 192K /usr/lib/perl5/site_perl/5.30.0/Archive 16K /usr/lib/perl5/site_perl/5.30.0/File 108K /usr/lib/perl5/site_perl/5.30.0/MIME 16K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/ColorSpace/Indexed 32K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/ColorSpace 16K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/XObject/Image/TIFF 84K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/XObject/Image 28K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/XObject/Form/BarCode 44K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/XObject/Form 140K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/XObject 24K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/CIDFont/TrueType 1.3M /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/CIDFont/CJKFont 16M /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/CIDFont/CMap 17M /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/CIDFont 1.2M /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/Font/CoreFont 1.3M /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/Font 19M /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource 8.0K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Content 28K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Basic/PDF/Filter 152K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Basic/PDF 156K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Basic 19M /usr/lib/perl5/site_perl/5.30.0/PDF/API2 20M /usr/lib/perl5/site_perl/5.30.0/PDF 28K /usr/lib/perl5/site_perl/5.30.0/GD/Text 176K /usr/lib/perl5/site_perl/5.30.0/GD/Graph 276K /usr/lib/perl5/site_perl/5.30.0/GD 12K /usr/lib/perl5/site_perl/5.30.0/Crypt 260K /usr/lib/perl5/site_perl/5.30.0/IO/Socket/SSL 372K /usr/lib/perl5/site_perl/5.30.0/IO/Socket 488K /usr/lib/perl5/site_perl/5.30.0/IO 28K /usr/lib/perl5/site_perl/5.30.0/Convert 8.0K /usr/lib/perl5/site_perl/5.30.0/Email/Date 12K /usr/lib/perl5/site_perl/5.30.0/Email 16K /usr/lib/perl5/site_perl/5.30.0/Device/Modem/Log 20K /usr/lib/perl5/site_perl/5.30.0/Device/Modem/Protocol 60K /usr/lib/perl5/site_perl/5.30.0/Device/Modem 108K /usr/lib/perl5/site_perl/5.30.0/Device 16K /usr/lib/perl5/site_perl/5.30.0/Font/TTF/Features 12K /usr/lib/perl5/site_perl/5.30.0/Font/TTF/Woff 24K /usr/lib/perl5/site_perl/5.30.0/Font/TTF/Kern 48K /usr/lib/perl5/site_perl/5.30.0/Font/TTF/Mort 900K /usr/lib/perl5/site_perl/5.30.0/Font/TTF 908K /usr/lib/perl5/site_perl/5.30.0/Font 76K /usr/lib/perl5/site_perl/5.30.0/Net/DNS/Resolver 428K /usr/lib/perl5/site_perl/5.30.0/Net/DNS/RR 704K /usr/lib/perl5/site_perl/5.30.0/Net/DNS 32K /usr/lib/perl5/site_perl/5.30.0/Net/Server/Proto 160K /usr/lib/perl5/site_perl/5.30.0/Net/Server 24K /usr/lib/perl5/site_perl/5.30.0/Net/CIDR 24K /usr/lib/perl5/site_perl/5.30.0/Net/HTTP 1.2M /usr/lib/perl5/site_perl/5.30.0/Net 16K /usr/lib/perl5/site_perl/5.30.0/HTTP/Cookies 20K /usr/lib/perl5/site_perl/5.30.0/HTTP/Request 20K /usr/lib/perl5/site_perl/5.30.0/HTTP/Headers 208K /usr/lib/perl5/site_perl/5.30.0/HTTP 100K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/HTML 4.0K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Linux 12K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Win32 96K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Text 12K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Digest 24K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBD/Gofer/Policy 48K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBD/Gofer/Transport 76K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBD/Gofer 372K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBD 36K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Compress 16K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Unix 4.0K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/common 76K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/GD 112K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/NetAddr/IP 160K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/NetAddr 20K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Convert 12K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/BerkeleyDB 104K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Device 36K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/SQL 12K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/Util 84K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/DBD 84K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/Const/GetInfo 96K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/Const 12K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/ProfileDumper 16K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/Gofer/Serializer 20K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/Gofer/Transport 88K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/Gofer 752K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI 16K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Net/SSLeay 92K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Net 24K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/XML/Parser/Style 300K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/XML/Parser/Encodings 368K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/XML/Parser 400K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/XML 8.0K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Bundle 64K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/HTML/Parser 68K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/HTML 28K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Location 4.0K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Linux/Inotify2 8.0K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Linux 72K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Text/CSV_XS 76K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Text 28K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Digest/SHA1 32K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Digest 848K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/DBD/SQLite 852K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/DBD 68K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Compress/Zlib 72K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Compress 36K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Unix/Syslog 40K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Unix 136K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/GD 40K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/NetAddr/IP/Util 44K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/NetAddr/IP/InetBase 112K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/NetAddr/IP/UtilPP 268K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/NetAddr/IP 272K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/NetAddr 196K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Convert/UUlib 200K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Convert 52K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/RRDs 236K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/BerkeleyDB 24K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Device/SerialPort 28K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Device 140K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/DBI 976K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Net/SSLeay 32K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Net/Oping 24K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Net/DNS 1.1M /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Net 104K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/XML/Parser/Expat 108K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/XML/Parser 112K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/XML 3.4M /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto 6.1M /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi 4.0K /usr/lib/perl5/site_perl/5.30.0/Guardian 8.0K /usr/lib/perl5/site_perl/5.30.0/Bundle 8.0K /usr/lib/perl5/site_perl/5.30.0/auto/Net/IPv4Addr 12K /usr/lib/perl5/site_perl/5.30.0/auto/Net 16K /usr/lib/perl5/site_perl/5.30.0/auto 28K /usr/lib/perl5/site_perl/5.30.0/Sort 30M /usr/lib/perl5/site_perl/5.30.0 76K /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm 1.4M /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl 60K /usr/lib/python3.8/idlelib/Icons/idle.icns 16K /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle 4.0K /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle 1.4M /usr/lib/sqlite3.34.0 16K /usr/lib/squid/basic_nis_auth 24K /usr/lib/squid/ext_time_quota_acl 12K /usr/lib/tcl8/8.4/platform-1.0.14.tm 12K /usr/lib/tcl8/8.4/platform-1.0.15.tm 36K /usr/lib/tcl8/8.5/msgcat-1.6.0.tm 100K /usr/lib/tcl8/8.5/tcltest-2.4.0.tm 44K /usr/lib/tcl8/8.6/http-2.8.9.tm 20K /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm 20K /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm 72K /usr/lib/tdbc1.1.2 72K /usr/lib/tdbcmysql1.1.2 92K /usr/lib/tdbcodbc1.1.2 68K /usr/lib/tdbcpostgres1.1.2 140K /usr/lib/thread2.8.6 16K /usr/libexec/xtables-addons du: cannot access '/usr/local/bin/ovpn-ccd-convert': No such file or directory 4.0K /usr/local/bin/rebuild-initrd 8.0K /usr/local/bin/xt_geoip_build 8.0K /usr/local/bin/xt_geoip_update 68K /usr/sbin/batctl 40K /usr/sbin/fbset 4.0K /usr/sbin/update-usbids.sh 36K /usr/sbin/uuidd 40K /usr/share/doc/fireinfo 140K /usr/share/GeoIP/bin 2.2M /usr/share/GeoIP 4.0K /usr/share/zoneinfo/posix/US/Pacific-New 4.0K /usr/share/zoneinfo/right/US/Pacific-New 4.0K /usr/share/zoneinfo/US/Pacific-New 16M /var/lib/GeoIP 117M total
Thanks, and best regards, Peter Müller
Hello,
This is interesting.
On 21 Mar 2022, at 15:35, Peter Müller peter.mueller@ipfire.org wrote:
On an IPFire installation that has been around since Core Update 110 (released April 28, 2017), these files have been identified as being orphaned, comparing to a fresh installation of Core Update 164.
To avoid such a list of files agglomerating, persons responsible for a Core Update should check whether an updated package contains deleted files in its rootfile. If so, they should be deleted on existing systems via update.sh as well.
Signed-off-by: Peter Müller peter.mueller@ipfire.org
config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++- 1 file changed, 258 insertions(+), 2 deletions(-)
diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh index 1370555b0..b556986a5 100644 --- a/config/rootfiles/core/166/update.sh +++ b/config/rootfiles/core/166/update.sh @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do done
# Remove files -rm -vf \ +rm -rvf \
- /bin/setserial \ /etc/dracut.conf \
- /etc/fonts/conf.d/30-urw-aliases.conf \
- /etc/grub.d/README \
- /etc/rc.d/init.d/networking/red.up/99-geoip-database \
- /etc/udev/rules.d/99-fuse.rules \
- /lib/firmware/amd-ucode/microcode_amd.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
- /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
- /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
- /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
- /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
- /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/atusb/ChangeLog \
- /lib/firmware/check_whence.py \
- /lib/firmware/cis/src \
- /lib/firmware/copy-firmware.sh \
- /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
- /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
- /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
- /lib/firmware/GPL-2 \
- /lib/firmware/GPL-3 \
- /lib/firmware/isci/README \
- /lib/firmware/LICENCE.* \
- /lib/firmware/Makefile \
- /lib/firmware/qca/NOTICE.txt \
- /lib/firmware/qcom/NOTICE.txt \
- /lib/firmware/README \
- /lib/firmware/WHENCE \
- /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
- /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
- /lib/ld-2.29.so \
- /lib/ld-2.31.so \
- /lib/ld-2.32.so \
These should have been gone before. Ideally by the filesystem cleanup script.
- /lib/libcap.so \
- /lib/libhistory.so.5 \
- /lib/libhistory.so.5.2 \
- /lib/libip4tc.so.0 \
- /lib/libip4tc.so.0.1.0 \
- /lib/libip6tc.so.0 \
- /lib/libip6tc.so.0.1.0 \
- /lib/libiptc.so \
- /lib/libiptc.so.0 \
- /lib/libiptc.so.0.0.0 \
- /lib/libnss_nis-2.31.so \
- /lib/libnss_nisplus-2.31.so \
- /lib/libnss_nisplus.so.2 \
- /lib/libnss_nis.so.2 \
- /lib/libproc-3.2.8.so \
- /lib/libreadline.so.5 \
- /lib/libreadline.so.5.2 \
- /lib/libsysfs.so \
- /lib/libsysfs.so.1 \
- /lib/libsysfs.so.1.0.3 \
- /lib/udev/bluetooth_serial \
- /lib/udev/rules.d/24-bluetooth.rules \
- /lib/xtables/libxt_IMQ.so \ /opt/pakfire/pakfire-2007.key \
- /sbin/mount.fuse \
- /sbin/raw \
- /sbin/xfs_scrub \
- /sbin/xfs_scrub_all \
- /srv/web/ipfire/cgi-bin/bluetooth.cgi \
- /usr/bin/ez-ipupdate \
LOL
- /usr/bin/fusermount \
- /usr/bin/gawk-5.1.0 \
- /usr/bin/gcov-dump \
- /usr/bin/getunimap \ /usr/bin/mkinitrd \
- /usr/bin/mtools \
- /usr/bin/pango-querymodules \
- /usr/bin/perl5.30.0 \
- /usr/bin/setlogcons \
- /usr/bin/setvesablank \
- /usr/bin/ulockmgr_server \
- /usr/include/python2.7 \
- /usr/lib/cairo \ /usr/lib/dracut \
- /usr/lib/findutils/bigram \
- /usr/lib/findutils/code \
- /usr/lib/gawk/testext.so \
- /usr/lib/itcl4.2.1 \
- /usr/lib/libasan.so.5 \
- /usr/lib/libasan.so.5.0.0 \
- /usr/lib/libbfd-2.32.so \
- /usr/lib/libbfd-2.34.so \
- /usr/lib/libbfd-2.35.1.so \
- /usr/lib/libbind9-9.16.22.so \
- /usr/lib/libbind9.so.161 \
- /usr/lib/libbind9.so.161.0.4 \
- /usr/lib/libblkid.so \
- /usr/lib/libdns-9.16.22.so \
- /usr/lib/libdnssec.so.7 \
- /usr/lib/libdnssec.so.7.0.0 \
- /usr/lib/libdns.so.* \
These should have been caught by the script as well. Any idea why that didn’t happen?
- /usr/lib/libevent-2.1.so.6 \
- /usr/lib/libevent-2.1.so.6.0.2 \
- /usr/lib/libevent_core-2.1.so.6 \
- /usr/lib/libevent_core-2.1.so.6.0.2 \
- /usr/lib/libevent_extra-2.1.so.6 \
- /usr/lib/libevent_extra-2.1.so.6.0.2 \
- /usr/lib/libevent_openssl-2.1.so.6 \
- /usr/lib/libevent_openssl-2.1.so.6.0.2 \
- /usr/lib/libevent_openssl.so \
- /usr/lib/libevent_pthreads-2.1.so.6 \
- /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
- /usr/lib/libevent_pthreads.so \
- /usr/lib/libexpat.so \
- /usr/lib/libexslt.so \
- /usr/lib/libffi.so.6 \
- /usr/lib/libffi.so.6.0.4 \
- /usr/lib/libffi.so.7 \
- /usr/lib/libffi.so.7.1.0 \
- /usr/lib/libfuse.so \
- /usr/lib/libfuse.so.2 \
- /usr/lib/libfuse.so.2.9.7 \
- /usr/lib/libgdbm_compat.so \
- /usr/lib/libgdbm_compat.so.3 \
- /usr/lib/libgdbm_compat.so.3.0.0 \
- /usr/lib/libgdbm.so \
- /usr/lib/libgdbm.so.3 \
- /usr/lib/libgdbm.so.3.0.0 \
- /usr/lib/libgd.so \
- /usr/lib/libgd.so.2 \
- /usr/lib/libgd.so.2.0.0 \
- /usr/lib/libgettextlib-0.19.8.1.so \
- /usr/lib/libgettextsrc-0.19.8.1.so \
- /usr/lib/libhistory.so.6 \
- /usr/lib/libhistory.so.6.3 \
- /usr/lib/libhogweed.so.5 \
- /usr/lib/libhogweed.so.5.0 \
- /usr/lib/libidn.so \
- /usr/lib/libidn.so.11 \
- /usr/lib/libidn.so.11.6.18 \
- /usr/lib/libirs-9.16.22.so \
- /usr/lib/libisc-9.16.22.so \
- /usr/lib/libisccc-9.16.22.so \
- /usr/lib/libisccc.so.161 \
- /usr/lib/libisccc.so.161.0.1 \
- /usr/lib/libisccfg-9.16.22.so \
- /usr/lib/libisccfg.so.163 \
- /usr/lib/libisccfg.so.163.0.8 \
- /usr/lib/libisc.so.1100 \
- /usr/lib/libisc.so.1100.3.2 \
- /usr/lib/libisc.so.1104 \
- /usr/lib/libisc.so.1104.0.0 \
- /usr/lib/libisc.so.1105 \
- /usr/lib/libisc.so.1105.1.1 \
- /usr/lib/libisc.so.1107 \
- /usr/lib/libisc.so.1107.0.5 \
See above.
- /usr/lib/libixml.so \
- /usr/lib/libknot.so.10 \
- /usr/lib/libknot.so.10.0.0 \
- /usr/lib/libknot.so.11 \
- /usr/lib/libknot.so.11.0.0 \
- /usr/lib/libknot.so.9 \
- /usr/lib/libknot.so.9.0.0 \
- /usr/lib/liblber-2.3.so.0 \
- /usr/lib/liblber-2.3.so.0.2.8 \
- /usr/lib/libldap-2.3.so.0 \
- /usr/lib/libldap-2.3.so.0.2.8 \
- /usr/lib/libldap_r-2.3.so.0 \
- /usr/lib/libldap_r-2.3.so.0.2.8 \
- /usr/lib/libloc.so.0 \
- /usr/lib/libloc.so.0.0.0 \
- /usr/lib/liblua-5.3.so \
- /usr/lib/liblua.so \
- /usr/lib/liblwres.so.161 \
- /usr/lib/liblwres.so.161.0.4 \
- /usr/lib/libmpfr.so.4 \
- /usr/lib/libmpfr.so.4.1.5 \
- /usr/lib/libmpx.so.2 \
- /usr/lib/libmpx.so.2.0.1 \
- /usr/lib/libmpxwrappers.so.2 \
- /usr/lib/libmpxwrappers.so.2.0.1 \
- /usr/lib/libnettle.so.7 \
- /usr/lib/libnettle.so.7.0 \
- /usr/lib/libns-9.16.22.so \
- /usr/lib/libopcodes-2.32.so \
- /usr/lib/libopcodes-2.34.so \
- /usr/lib/libopcodes-2.35.1.so \
- /usr/lib/libpcre2-posix.so.2 \
- /usr/lib/libpcre2-posix.so.2.0.3 \
- /usr/lib/libpng12.so \
- /usr/lib/libpng12.so.0 \
- /usr/lib/libpng12.so.0.57.0 \
- /usr/lib/libpng.so.3 \
- /usr/lib/libpng.so.3.57.0 \
- /usr/lib/libpoppler.so.100 \
- /usr/lib/libpoppler.so.100.0.0 \
- /usr/lib/libpoppler.so.110 \
- /usr/lib/libpoppler.so.110.0.0 \
- /usr/lib/libpoppler.so.111 \
- /usr/lib/libpoppler.so.111.0.0 \
- /usr/lib/libpoppler.so.66 \
- /usr/lib/libpoppler.so.66.0.0 \
- /usr/lib/libqpdf.so.17 \
- /usr/lib/libqpdf.so.17.0.0 \
- /usr/lib/libreadline.so.6 \
- /usr/lib/libreadline.so.6.3 \
- /usr/lib/libsensors.so.4 \
- /usr/lib/libsensors.so.4.4.0 \
- /usr/lib/libsqlite3.so \
- /usr/lib/libthreadutil.so \
- /usr/lib/libthreadutil.so.6 \
- /usr/lib/libthreadutil.so.6.0.3 \
- /usr/lib/libulockmgr.so \
- /usr/lib/libulockmgr.so.1 \
- /usr/lib/libulockmgr.so.1.0.1 \
- /usr/lib/libupnp.so \
- /usr/lib/libuuid.so \
- /usr/lib/libxml2.so \
- /usr/lib/libxslt.so \
- /usr/lib/pango \
- /usr/lib/perl5/site_perl/5.30.0 \
- /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
- /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
- /usr/lib/python3.8/idlelib/Icons/idle.icns \
- /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
- /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
- /usr/lib/sqlite3.34.0 \
- /usr/lib/squid/basic_nis_auth \
- /usr/lib/squid/ext_time_quota_acl \
- /usr/lib/tcl8/8.4/platform-1.0.14.tm \
- /usr/lib/tcl8/8.4/platform-1.0.15.tm \
- /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
- /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
- /usr/lib/tcl8/8.6/http-2.8.9.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
Why do we even ship tcl? Is anything reliant on this?
- /usr/lib/tdbc1.1.2 \
- /usr/lib/tdbcmysql1.1.2 \
- /usr/lib/tdbcodbc1.1.2 \
- /usr/lib/tdbcpostgres1.1.2 \
- /usr/lib/thread2.8.6 \
- /usr/libexec/xtables-addons \ /usr/local/bin/ovpn-ccd-convert \
- /usr/local/bin/rebuild-initrd
- /usr/local/bin/rebuild-initrd \
- /usr/local/bin/xt_geoip_build \
- /usr/local/bin/xt_geoip_update \
- /usr/sbin/batctl \
- /usr/sbin/fbset \
- /usr/sbin/update-usbids.sh \
- /usr/sbin/uuidd \
- /usr/share/doc/fireinfo \
- /usr/share/GeoIP \
- /usr/share/zoneinfo/posix/US/Pacific-New \
- /usr/share/zoneinfo/right/US/Pacific-New \
- /usr/share/zoneinfo/US/Pacific-New \
- /var/lib/GeoIP
What method did you use to identify all these files?
-Michael
# Delete old 2007 Pakfire key from GPG keyring export GNUPGHOME="/opt/pakfire/etc/.gnupg" -- 2.34.1
Hello Michael,
thanks for your reply.
Hello,
This is interesting.
That's a mild way of putting it, I think. :-)
On 21 Mar 2022, at 15:35, Peter Müller peter.mueller@ipfire.org wrote:
On an IPFire installation that has been around since Core Update 110 (released April 28, 2017), these files have been identified as being orphaned, comparing to a fresh installation of Core Update 164.
To avoid such a list of files agglomerating, persons responsible for a Core Update should check whether an updated package contains deleted files in its rootfile. If so, they should be deleted on existing systems via update.sh as well.
Signed-off-by: Peter Müller peter.mueller@ipfire.org
config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++- 1 file changed, 258 insertions(+), 2 deletions(-)
diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh index 1370555b0..b556986a5 100644 --- a/config/rootfiles/core/166/update.sh +++ b/config/rootfiles/core/166/update.sh @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do done
# Remove files -rm -vf \ +rm -rvf \
- /bin/setserial \ /etc/dracut.conf \
- /etc/fonts/conf.d/30-urw-aliases.conf \
- /etc/grub.d/README \
- /etc/rc.d/init.d/networking/red.up/99-geoip-database \
- /etc/udev/rules.d/99-fuse.rules \
- /lib/firmware/amd-ucode/microcode_amd.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
- /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
- /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
- /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
- /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
- /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/atusb/ChangeLog \
- /lib/firmware/check_whence.py \
- /lib/firmware/cis/src \
- /lib/firmware/copy-firmware.sh \
- /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
- /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
- /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
- /lib/firmware/GPL-2 \
- /lib/firmware/GPL-3 \
- /lib/firmware/isci/README \
- /lib/firmware/LICENCE.* \
- /lib/firmware/Makefile \
- /lib/firmware/qca/NOTICE.txt \
- /lib/firmware/qcom/NOTICE.txt \
- /lib/firmware/README \
- /lib/firmware/WHENCE \
- /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
- /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
- /lib/ld-2.29.so \
- /lib/ld-2.31.so \
- /lib/ld-2.32.so \
These should have been gone before. Ideally by the filesystem cleanup script.
To be honest, I never had a look at this script, and therefore do not have an idea what it does and what it does not. I will investigate and get back to you, if necessary.
- /lib/libcap.so \
- /lib/libhistory.so.5 \
- /lib/libhistory.so.5.2 \
- /lib/libip4tc.so.0 \
- /lib/libip4tc.so.0.1.0 \
- /lib/libip6tc.so.0 \
- /lib/libip6tc.so.0.1.0 \
- /lib/libiptc.so \
- /lib/libiptc.so.0 \
- /lib/libiptc.so.0.0.0 \
- /lib/libnss_nis-2.31.so \
- /lib/libnss_nisplus-2.31.so \
- /lib/libnss_nisplus.so.2 \
- /lib/libnss_nis.so.2 \
- /lib/libproc-3.2.8.so \
- /lib/libreadline.so.5 \
- /lib/libreadline.so.5.2 \
- /lib/libsysfs.so \
- /lib/libsysfs.so.1 \
- /lib/libsysfs.so.1.0.3 \
- /lib/udev/bluetooth_serial \
- /lib/udev/rules.d/24-bluetooth.rules \
- /lib/xtables/libxt_IMQ.so \ /opt/pakfire/pakfire-2007.key \
- /sbin/mount.fuse \
- /sbin/raw \
- /sbin/xfs_scrub \
- /sbin/xfs_scrub_all \
- /srv/web/ipfire/cgi-bin/bluetooth.cgi \
- /usr/bin/ez-ipupdate \
LOL
?
- /usr/bin/fusermount \
- /usr/bin/gawk-5.1.0 \
- /usr/bin/gcov-dump \
- /usr/bin/getunimap \ /usr/bin/mkinitrd \
- /usr/bin/mtools \
- /usr/bin/pango-querymodules \
- /usr/bin/perl5.30.0 \
- /usr/bin/setlogcons \
- /usr/bin/setvesablank \
- /usr/bin/ulockmgr_server \
- /usr/include/python2.7 \
- /usr/lib/cairo \ /usr/lib/dracut \
- /usr/lib/findutils/bigram \
- /usr/lib/findutils/code \
- /usr/lib/gawk/testext.so \
- /usr/lib/itcl4.2.1 \
- /usr/lib/libasan.so.5 \
- /usr/lib/libasan.so.5.0.0 \
- /usr/lib/libbfd-2.32.so \
- /usr/lib/libbfd-2.34.so \
- /usr/lib/libbfd-2.35.1.so \
- /usr/lib/libbind9-9.16.22.so \
- /usr/lib/libbind9.so.161 \
- /usr/lib/libbind9.so.161.0.4 \
- /usr/lib/libblkid.so \
- /usr/lib/libdns-9.16.22.so \
- /usr/lib/libdnssec.so.7 \
- /usr/lib/libdnssec.so.7.0.0 \
- /usr/lib/libdns.so.* \
These should have been caught by the script as well. Any idea why that didn’t happen?
- /usr/lib/libevent-2.1.so.6 \
- /usr/lib/libevent-2.1.so.6.0.2 \
- /usr/lib/libevent_core-2.1.so.6 \
- /usr/lib/libevent_core-2.1.so.6.0.2 \
- /usr/lib/libevent_extra-2.1.so.6 \
- /usr/lib/libevent_extra-2.1.so.6.0.2 \
- /usr/lib/libevent_openssl-2.1.so.6 \
- /usr/lib/libevent_openssl-2.1.so.6.0.2 \
- /usr/lib/libevent_openssl.so \
- /usr/lib/libevent_pthreads-2.1.so.6 \
- /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
- /usr/lib/libevent_pthreads.so \
- /usr/lib/libexpat.so \
- /usr/lib/libexslt.so \
- /usr/lib/libffi.so.6 \
- /usr/lib/libffi.so.6.0.4 \
- /usr/lib/libffi.so.7 \
- /usr/lib/libffi.so.7.1.0 \
- /usr/lib/libfuse.so \
- /usr/lib/libfuse.so.2 \
- /usr/lib/libfuse.so.2.9.7 \
- /usr/lib/libgdbm_compat.so \
- /usr/lib/libgdbm_compat.so.3 \
- /usr/lib/libgdbm_compat.so.3.0.0 \
- /usr/lib/libgdbm.so \
- /usr/lib/libgdbm.so.3 \
- /usr/lib/libgdbm.so.3.0.0 \
- /usr/lib/libgd.so \
- /usr/lib/libgd.so.2 \
- /usr/lib/libgd.so.2.0.0 \
- /usr/lib/libgettextlib-0.19.8.1.so \
- /usr/lib/libgettextsrc-0.19.8.1.so \
- /usr/lib/libhistory.so.6 \
- /usr/lib/libhistory.so.6.3 \
- /usr/lib/libhogweed.so.5 \
- /usr/lib/libhogweed.so.5.0 \
- /usr/lib/libidn.so \
- /usr/lib/libidn.so.11 \
- /usr/lib/libidn.so.11.6.18 \
- /usr/lib/libirs-9.16.22.so \
- /usr/lib/libisc-9.16.22.so \
- /usr/lib/libisccc-9.16.22.so \
- /usr/lib/libisccc.so.161 \
- /usr/lib/libisccc.so.161.0.1 \
- /usr/lib/libisccfg-9.16.22.so \
- /usr/lib/libisccfg.so.163 \
- /usr/lib/libisccfg.so.163.0.8 \
- /usr/lib/libisc.so.1100 \
- /usr/lib/libisc.so.1100.3.2 \
- /usr/lib/libisc.so.1104 \
- /usr/lib/libisc.so.1104.0.0 \
- /usr/lib/libisc.so.1105 \
- /usr/lib/libisc.so.1105.1.1 \
- /usr/lib/libisc.so.1107 \
- /usr/lib/libisc.so.1107.0.5 \
See above.
- /usr/lib/libixml.so \
- /usr/lib/libknot.so.10 \
- /usr/lib/libknot.so.10.0.0 \
- /usr/lib/libknot.so.11 \
- /usr/lib/libknot.so.11.0.0 \
- /usr/lib/libknot.so.9 \
- /usr/lib/libknot.so.9.0.0 \
- /usr/lib/liblber-2.3.so.0 \
- /usr/lib/liblber-2.3.so.0.2.8 \
- /usr/lib/libldap-2.3.so.0 \
- /usr/lib/libldap-2.3.so.0.2.8 \
- /usr/lib/libldap_r-2.3.so.0 \
- /usr/lib/libldap_r-2.3.so.0.2.8 \
- /usr/lib/libloc.so.0 \
- /usr/lib/libloc.so.0.0.0 \
- /usr/lib/liblua-5.3.so \
- /usr/lib/liblua.so \
- /usr/lib/liblwres.so.161 \
- /usr/lib/liblwres.so.161.0.4 \
- /usr/lib/libmpfr.so.4 \
- /usr/lib/libmpfr.so.4.1.5 \
- /usr/lib/libmpx.so.2 \
- /usr/lib/libmpx.so.2.0.1 \
- /usr/lib/libmpxwrappers.so.2 \
- /usr/lib/libmpxwrappers.so.2.0.1 \
- /usr/lib/libnettle.so.7 \
- /usr/lib/libnettle.so.7.0 \
- /usr/lib/libns-9.16.22.so \
- /usr/lib/libopcodes-2.32.so \
- /usr/lib/libopcodes-2.34.so \
- /usr/lib/libopcodes-2.35.1.so \
- /usr/lib/libpcre2-posix.so.2 \
- /usr/lib/libpcre2-posix.so.2.0.3 \
- /usr/lib/libpng12.so \
- /usr/lib/libpng12.so.0 \
- /usr/lib/libpng12.so.0.57.0 \
- /usr/lib/libpng.so.3 \
- /usr/lib/libpng.so.3.57.0 \
- /usr/lib/libpoppler.so.100 \
- /usr/lib/libpoppler.so.100.0.0 \
- /usr/lib/libpoppler.so.110 \
- /usr/lib/libpoppler.so.110.0.0 \
- /usr/lib/libpoppler.so.111 \
- /usr/lib/libpoppler.so.111.0.0 \
- /usr/lib/libpoppler.so.66 \
- /usr/lib/libpoppler.so.66.0.0 \
- /usr/lib/libqpdf.so.17 \
- /usr/lib/libqpdf.so.17.0.0 \
- /usr/lib/libreadline.so.6 \
- /usr/lib/libreadline.so.6.3 \
- /usr/lib/libsensors.so.4 \
- /usr/lib/libsensors.so.4.4.0 \
- /usr/lib/libsqlite3.so \
- /usr/lib/libthreadutil.so \
- /usr/lib/libthreadutil.so.6 \
- /usr/lib/libthreadutil.so.6.0.3 \
- /usr/lib/libulockmgr.so \
- /usr/lib/libulockmgr.so.1 \
- /usr/lib/libulockmgr.so.1.0.1 \
- /usr/lib/libupnp.so \
- /usr/lib/libuuid.so \
- /usr/lib/libxml2.so \
- /usr/lib/libxslt.so \
- /usr/lib/pango \
- /usr/lib/perl5/site_perl/5.30.0 \
- /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
- /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
- /usr/lib/python3.8/idlelib/Icons/idle.icns \
- /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
- /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
Yes, good point. I was running the comparison based on Core Update 164, but with Python being updated to 3.10.x in Core Update 165, this folder won't be necessary anymore completely.
- /usr/lib/sqlite3.34.0 \
- /usr/lib/squid/basic_nis_auth \
- /usr/lib/squid/ext_time_quota_acl \
- /usr/lib/tcl8/8.4/platform-1.0.14.tm \
- /usr/lib/tcl8/8.4/platform-1.0.15.tm \
- /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
- /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
- /usr/lib/tcl8/8.6/http-2.8.9.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
Why do we even ship tcl? Is anything reliant on this?
I don't know.
- /usr/lib/tdbc1.1.2 \
- /usr/lib/tdbcmysql1.1.2 \
- /usr/lib/tdbcodbc1.1.2 \
- /usr/lib/tdbcpostgres1.1.2 \
- /usr/lib/thread2.8.6 \
- /usr/libexec/xtables-addons \ /usr/local/bin/ovpn-ccd-convert \
- /usr/local/bin/rebuild-initrd
- /usr/local/bin/rebuild-initrd \
- /usr/local/bin/xt_geoip_build \
- /usr/local/bin/xt_geoip_update \
- /usr/sbin/batctl \
- /usr/sbin/fbset \
- /usr/sbin/update-usbids.sh \
- /usr/sbin/uuidd \
- /usr/share/doc/fireinfo \
- /usr/share/GeoIP \
- /usr/share/zoneinfo/posix/US/Pacific-New \
- /usr/share/zoneinfo/right/US/Pacific-New \
- /usr/share/zoneinfo/US/Pacific-New \
- /var/lib/GeoIP
What method did you use to identify all these files?
On the IPFire installation in question, I ran
find bin/ etc/ lib/ opt/ run/ sbin/ srv/ usr/ var/ | sort > ~/ist
and scp'ed that file onto my workstation. Then, I downloaded the ISO for Core Update 164 (because I wanted to have something stable, which is why I did not choose C165 for this), installed it in a VM, rebooted it, mounted the root partition and executed the same find command with a different file name.
A
diff -Naur soll ist | less
(sorry for the German) outputs a long list, which I vetted manually since some add-ons were installed on the productive system, and I did not want to pipe the output into the rm command blindly.
Thanks, and best regards, Peter Müller
-Michael
# Delete old 2007 Pakfire key from GPG keyring export GNUPGHOME="/opt/pakfire/etc/.gnupg" -- 2.34.1
Hello,
On 21 Mar 2022, at 16:03, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
thanks for your reply.
Hello,
This is interesting.
That's a mild way of putting it, I think. :-)
On 21 Mar 2022, at 15:35, Peter Müller peter.mueller@ipfire.org wrote:
On an IPFire installation that has been around since Core Update 110 (released April 28, 2017), these files have been identified as being orphaned, comparing to a fresh installation of Core Update 164.
To avoid such a list of files agglomerating, persons responsible for a Core Update should check whether an updated package contains deleted files in its rootfile. If so, they should be deleted on existing systems via update.sh as well.
Signed-off-by: Peter Müller peter.mueller@ipfire.org
config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++- 1 file changed, 258 insertions(+), 2 deletions(-)
diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh index 1370555b0..b556986a5 100644 --- a/config/rootfiles/core/166/update.sh +++ b/config/rootfiles/core/166/update.sh @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do done
# Remove files -rm -vf \ +rm -rvf \
- /bin/setserial \ /etc/dracut.conf \
- /etc/fonts/conf.d/30-urw-aliases.conf \
- /etc/grub.d/README \
- /etc/rc.d/init.d/networking/red.up/99-geoip-database \
- /etc/udev/rules.d/99-fuse.rules \
- /lib/firmware/amd-ucode/microcode_amd.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
- /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
- /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
- /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
- /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
- /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/atusb/ChangeLog \
- /lib/firmware/check_whence.py \
- /lib/firmware/cis/src \
- /lib/firmware/copy-firmware.sh \
- /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
- /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
- /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
- /lib/firmware/GPL-2 \
- /lib/firmware/GPL-3 \
- /lib/firmware/isci/README \
- /lib/firmware/LICENCE.* \
- /lib/firmware/Makefile \
- /lib/firmware/qca/NOTICE.txt \
- /lib/firmware/qcom/NOTICE.txt \
- /lib/firmware/README \
- /lib/firmware/WHENCE \
- /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
- /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
- /lib/ld-2.29.so \
- /lib/ld-2.31.so \
- /lib/ld-2.32.so \
These should have been gone before. Ideally by the filesystem cleanup script.
To be honest, I never had a look at this script, and therefore do not have an idea what it does and what it does not. I will investigate and get back to you, if necessary.
- /lib/libcap.so \
- /lib/libhistory.so.5 \
- /lib/libhistory.so.5.2 \
- /lib/libip4tc.so.0 \
- /lib/libip4tc.so.0.1.0 \
- /lib/libip6tc.so.0 \
- /lib/libip6tc.so.0.1.0 \
- /lib/libiptc.so \
- /lib/libiptc.so.0 \
- /lib/libiptc.so.0.0.0 \
- /lib/libnss_nis-2.31.so \
- /lib/libnss_nisplus-2.31.so \
- /lib/libnss_nisplus.so.2 \
- /lib/libnss_nis.so.2 \
- /lib/libproc-3.2.8.so \
- /lib/libreadline.so.5 \
- /lib/libreadline.so.5.2 \
- /lib/libsysfs.so \
- /lib/libsysfs.so.1 \
- /lib/libsysfs.so.1.0.3 \
- /lib/udev/bluetooth_serial \
- /lib/udev/rules.d/24-bluetooth.rules \
- /lib/xtables/libxt_IMQ.so \ /opt/pakfire/pakfire-2007.key \
- /sbin/mount.fuse \
- /sbin/raw \
- /sbin/xfs_scrub \
- /sbin/xfs_scrub_all \
- /srv/web/ipfire/cgi-bin/bluetooth.cgi \
- /usr/bin/ez-ipupdate \
LOL
?
- /usr/bin/fusermount \
- /usr/bin/gawk-5.1.0 \
- /usr/bin/gcov-dump \
- /usr/bin/getunimap \ /usr/bin/mkinitrd \
- /usr/bin/mtools \
- /usr/bin/pango-querymodules \
- /usr/bin/perl5.30.0 \
- /usr/bin/setlogcons \
- /usr/bin/setvesablank \
- /usr/bin/ulockmgr_server \
- /usr/include/python2.7 \
- /usr/lib/cairo \ /usr/lib/dracut \
- /usr/lib/findutils/bigram \
- /usr/lib/findutils/code \
- /usr/lib/gawk/testext.so \
- /usr/lib/itcl4.2.1 \
- /usr/lib/libasan.so.5 \
- /usr/lib/libasan.so.5.0.0 \
- /usr/lib/libbfd-2.32.so \
- /usr/lib/libbfd-2.34.so \
- /usr/lib/libbfd-2.35.1.so \
- /usr/lib/libbind9-9.16.22.so \
- /usr/lib/libbind9.so.161 \
- /usr/lib/libbind9.so.161.0.4 \
- /usr/lib/libblkid.so \
- /usr/lib/libdns-9.16.22.so \
- /usr/lib/libdnssec.so.7 \
- /usr/lib/libdnssec.so.7.0.0 \
- /usr/lib/libdns.so.* \
These should have been caught by the script as well. Any idea why that didn’t happen?
- /usr/lib/libevent-2.1.so.6 \
- /usr/lib/libevent-2.1.so.6.0.2 \
- /usr/lib/libevent_core-2.1.so.6 \
- /usr/lib/libevent_core-2.1.so.6.0.2 \
- /usr/lib/libevent_extra-2.1.so.6 \
- /usr/lib/libevent_extra-2.1.so.6.0.2 \
- /usr/lib/libevent_openssl-2.1.so.6 \
- /usr/lib/libevent_openssl-2.1.so.6.0.2 \
- /usr/lib/libevent_openssl.so \
- /usr/lib/libevent_pthreads-2.1.so.6 \
- /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
- /usr/lib/libevent_pthreads.so \
- /usr/lib/libexpat.so \
- /usr/lib/libexslt.so \
- /usr/lib/libffi.so.6 \
- /usr/lib/libffi.so.6.0.4 \
- /usr/lib/libffi.so.7 \
- /usr/lib/libffi.so.7.1.0 \
- /usr/lib/libfuse.so \
- /usr/lib/libfuse.so.2 \
- /usr/lib/libfuse.so.2.9.7 \
- /usr/lib/libgdbm_compat.so \
- /usr/lib/libgdbm_compat.so.3 \
- /usr/lib/libgdbm_compat.so.3.0.0 \
- /usr/lib/libgdbm.so \
- /usr/lib/libgdbm.so.3 \
- /usr/lib/libgdbm.so.3.0.0 \
- /usr/lib/libgd.so \
- /usr/lib/libgd.so.2 \
- /usr/lib/libgd.so.2.0.0 \
- /usr/lib/libgettextlib-0.19.8.1.so \
- /usr/lib/libgettextsrc-0.19.8.1.so \
- /usr/lib/libhistory.so.6 \
- /usr/lib/libhistory.so.6.3 \
- /usr/lib/libhogweed.so.5 \
- /usr/lib/libhogweed.so.5.0 \
- /usr/lib/libidn.so \
- /usr/lib/libidn.so.11 \
- /usr/lib/libidn.so.11.6.18 \
- /usr/lib/libirs-9.16.22.so \
- /usr/lib/libisc-9.16.22.so \
- /usr/lib/libisccc-9.16.22.so \
- /usr/lib/libisccc.so.161 \
- /usr/lib/libisccc.so.161.0.1 \
- /usr/lib/libisccfg-9.16.22.so \
- /usr/lib/libisccfg.so.163 \
- /usr/lib/libisccfg.so.163.0.8 \
- /usr/lib/libisc.so.1100 \
- /usr/lib/libisc.so.1100.3.2 \
- /usr/lib/libisc.so.1104 \
- /usr/lib/libisc.so.1104.0.0 \
- /usr/lib/libisc.so.1105 \
- /usr/lib/libisc.so.1105.1.1 \
- /usr/lib/libisc.so.1107 \
- /usr/lib/libisc.so.1107.0.5 \
See above.
- /usr/lib/libixml.so \
- /usr/lib/libknot.so.10 \
- /usr/lib/libknot.so.10.0.0 \
- /usr/lib/libknot.so.11 \
- /usr/lib/libknot.so.11.0.0 \
- /usr/lib/libknot.so.9 \
- /usr/lib/libknot.so.9.0.0 \
- /usr/lib/liblber-2.3.so.0 \
- /usr/lib/liblber-2.3.so.0.2.8 \
- /usr/lib/libldap-2.3.so.0 \
- /usr/lib/libldap-2.3.so.0.2.8 \
- /usr/lib/libldap_r-2.3.so.0 \
- /usr/lib/libldap_r-2.3.so.0.2.8 \
- /usr/lib/libloc.so.0 \
- /usr/lib/libloc.so.0.0.0 \
- /usr/lib/liblua-5.3.so \
- /usr/lib/liblua.so \
- /usr/lib/liblwres.so.161 \
- /usr/lib/liblwres.so.161.0.4 \
- /usr/lib/libmpfr.so.4 \
- /usr/lib/libmpfr.so.4.1.5 \
- /usr/lib/libmpx.so.2 \
- /usr/lib/libmpx.so.2.0.1 \
- /usr/lib/libmpxwrappers.so.2 \
- /usr/lib/libmpxwrappers.so.2.0.1 \
- /usr/lib/libnettle.so.7 \
- /usr/lib/libnettle.so.7.0 \
- /usr/lib/libns-9.16.22.so \
- /usr/lib/libopcodes-2.32.so \
- /usr/lib/libopcodes-2.34.so \
- /usr/lib/libopcodes-2.35.1.so \
- /usr/lib/libpcre2-posix.so.2 \
- /usr/lib/libpcre2-posix.so.2.0.3 \
- /usr/lib/libpng12.so \
- /usr/lib/libpng12.so.0 \
- /usr/lib/libpng12.so.0.57.0 \
- /usr/lib/libpng.so.3 \
- /usr/lib/libpng.so.3.57.0 \
- /usr/lib/libpoppler.so.100 \
- /usr/lib/libpoppler.so.100.0.0 \
- /usr/lib/libpoppler.so.110 \
- /usr/lib/libpoppler.so.110.0.0 \
- /usr/lib/libpoppler.so.111 \
- /usr/lib/libpoppler.so.111.0.0 \
- /usr/lib/libpoppler.so.66 \
- /usr/lib/libpoppler.so.66.0.0 \
- /usr/lib/libqpdf.so.17 \
- /usr/lib/libqpdf.so.17.0.0 \
- /usr/lib/libreadline.so.6 \
- /usr/lib/libreadline.so.6.3 \
- /usr/lib/libsensors.so.4 \
- /usr/lib/libsensors.so.4.4.0 \
- /usr/lib/libsqlite3.so \
- /usr/lib/libthreadutil.so \
- /usr/lib/libthreadutil.so.6 \
- /usr/lib/libthreadutil.so.6.0.3 \
- /usr/lib/libulockmgr.so \
- /usr/lib/libulockmgr.so.1 \
- /usr/lib/libulockmgr.so.1.0.1 \
- /usr/lib/libupnp.so \
- /usr/lib/libuuid.so \
- /usr/lib/libxml2.so \
- /usr/lib/libxslt.so \
- /usr/lib/pango \
- /usr/lib/perl5/site_perl/5.30.0 \
- /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
- /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
- /usr/lib/python3.8/idlelib/Icons/idle.icns \
- /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
- /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
Yes, good point. I was running the comparison based on Core Update 164, but with Python being updated to 3.10.x in Core Update 165, this folder won't be necessary anymore completely.
- /usr/lib/sqlite3.34.0 \
- /usr/lib/squid/basic_nis_auth \
- /usr/lib/squid/ext_time_quota_acl \
- /usr/lib/tcl8/8.4/platform-1.0.14.tm \
- /usr/lib/tcl8/8.4/platform-1.0.15.tm \
- /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
- /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
- /usr/lib/tcl8/8.6/http-2.8.9.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
Why do we even ship tcl? Is anything reliant on this?
I don't know.
- /usr/lib/tdbc1.1.2 \
- /usr/lib/tdbcmysql1.1.2 \
- /usr/lib/tdbcodbc1.1.2 \
- /usr/lib/tdbcpostgres1.1.2 \
- /usr/lib/thread2.8.6 \
- /usr/libexec/xtables-addons \ /usr/local/bin/ovpn-ccd-convert \
- /usr/local/bin/rebuild-initrd
- /usr/local/bin/rebuild-initrd \
- /usr/local/bin/xt_geoip_build \
- /usr/local/bin/xt_geoip_update \
- /usr/sbin/batctl \
- /usr/sbin/fbset \
- /usr/sbin/update-usbids.sh \
- /usr/sbin/uuidd \
- /usr/share/doc/fireinfo \
- /usr/share/GeoIP \
- /usr/share/zoneinfo/posix/US/Pacific-New \
- /usr/share/zoneinfo/right/US/Pacific-New \
- /usr/share/zoneinfo/US/Pacific-New \
- /var/lib/GeoIP
What method did you use to identify all these files?
On the IPFire installation in question, I ran
find bin/ etc/ lib/ opt/ run/ sbin/ srv/ usr/ var/ | sort > ~/ist
and scp'ed that file onto my workstation. Then, I downloaded the ISO for Core Update 164 (because I wanted to have something stable, which is why I did not choose C165 for this), installed it in a VM, rebooted it, mounted the root partition and executed the same find command with a different file name.
Okay, so this is based on a random system. Not bad, but would be better if we could diff two filelists from two core updates, wouldn’t it?
A
diff -Naur soll ist | less
(sorry for the German) outputs a long list, which I vetted manually since some add-ons were installed on the productive system, and I did not want to pipe the output into the rm command blindly.
Thanks, and best regards, Peter Müller
-Michael
# Delete old 2007 Pakfire key from GPG keyring export GNUPGHOME="/opt/pakfire/etc/.gnupg" -- 2.34.1
Hello Michael,
thanks for your reply.
Hello,
On 21 Mar 2022, at 16:03, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
thanks for your reply.
Hello,
This is interesting.
That's a mild way of putting it, I think. :-)
On 21 Mar 2022, at 15:35, Peter Müller peter.mueller@ipfire.org wrote:
On an IPFire installation that has been around since Core Update 110 (released April 28, 2017), these files have been identified as being orphaned, comparing to a fresh installation of Core Update 164.
To avoid such a list of files agglomerating, persons responsible for a Core Update should check whether an updated package contains deleted files in its rootfile. If so, they should be deleted on existing systems via update.sh as well.
Signed-off-by: Peter Müller peter.mueller@ipfire.org
config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++- 1 file changed, 258 insertions(+), 2 deletions(-)
diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh index 1370555b0..b556986a5 100644 --- a/config/rootfiles/core/166/update.sh +++ b/config/rootfiles/core/166/update.sh @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do done
# Remove files -rm -vf \ +rm -rvf \
- /bin/setserial \ /etc/dracut.conf \
- /etc/fonts/conf.d/30-urw-aliases.conf \
- /etc/grub.d/README \
- /etc/rc.d/init.d/networking/red.up/99-geoip-database \
- /etc/udev/rules.d/99-fuse.rules \
- /lib/firmware/amd-ucode/microcode_amd.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
- /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
- /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
- /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
- /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
- /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/atusb/ChangeLog \
- /lib/firmware/check_whence.py \
- /lib/firmware/cis/src \
- /lib/firmware/copy-firmware.sh \
- /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
- /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
- /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
- /lib/firmware/GPL-2 \
- /lib/firmware/GPL-3 \
- /lib/firmware/isci/README \
- /lib/firmware/LICENCE.* \
- /lib/firmware/Makefile \
- /lib/firmware/qca/NOTICE.txt \
- /lib/firmware/qcom/NOTICE.txt \
- /lib/firmware/README \
- /lib/firmware/WHENCE \
- /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
- /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
- /lib/ld-2.29.so \
- /lib/ld-2.31.so \
- /lib/ld-2.32.so \
These should have been gone before. Ideally by the filesystem cleanup script.
To be honest, I never had a look at this script, and therefore do not have an idea what it does and what it does not. I will investigate and get back to you, if necessary.
- /lib/libcap.so \
- /lib/libhistory.so.5 \
- /lib/libhistory.so.5.2 \
- /lib/libip4tc.so.0 \
- /lib/libip4tc.so.0.1.0 \
- /lib/libip6tc.so.0 \
- /lib/libip6tc.so.0.1.0 \
- /lib/libiptc.so \
- /lib/libiptc.so.0 \
- /lib/libiptc.so.0.0.0 \
- /lib/libnss_nis-2.31.so \
- /lib/libnss_nisplus-2.31.so \
- /lib/libnss_nisplus.so.2 \
- /lib/libnss_nis.so.2 \
- /lib/libproc-3.2.8.so \
- /lib/libreadline.so.5 \
- /lib/libreadline.so.5.2 \
- /lib/libsysfs.so \
- /lib/libsysfs.so.1 \
- /lib/libsysfs.so.1.0.3 \
- /lib/udev/bluetooth_serial \
- /lib/udev/rules.d/24-bluetooth.rules \
- /lib/xtables/libxt_IMQ.so \ /opt/pakfire/pakfire-2007.key \
- /sbin/mount.fuse \
- /sbin/raw \
- /sbin/xfs_scrub \
- /sbin/xfs_scrub_all \
- /srv/web/ipfire/cgi-bin/bluetooth.cgi \
- /usr/bin/ez-ipupdate \
LOL
?
- /usr/bin/fusermount \
- /usr/bin/gawk-5.1.0 \
- /usr/bin/gcov-dump \
- /usr/bin/getunimap \ /usr/bin/mkinitrd \
- /usr/bin/mtools \
- /usr/bin/pango-querymodules \
- /usr/bin/perl5.30.0 \
- /usr/bin/setlogcons \
- /usr/bin/setvesablank \
- /usr/bin/ulockmgr_server \
- /usr/include/python2.7 \
- /usr/lib/cairo \ /usr/lib/dracut \
- /usr/lib/findutils/bigram \
- /usr/lib/findutils/code \
- /usr/lib/gawk/testext.so \
- /usr/lib/itcl4.2.1 \
- /usr/lib/libasan.so.5 \
- /usr/lib/libasan.so.5.0.0 \
- /usr/lib/libbfd-2.32.so \
- /usr/lib/libbfd-2.34.so \
- /usr/lib/libbfd-2.35.1.so \
- /usr/lib/libbind9-9.16.22.so \
- /usr/lib/libbind9.so.161 \
- /usr/lib/libbind9.so.161.0.4 \
- /usr/lib/libblkid.so \
- /usr/lib/libdns-9.16.22.so \
- /usr/lib/libdnssec.so.7 \
- /usr/lib/libdnssec.so.7.0.0 \
- /usr/lib/libdns.so.* \
These should have been caught by the script as well. Any idea why that didn’t happen?
- /usr/lib/libevent-2.1.so.6 \
- /usr/lib/libevent-2.1.so.6.0.2 \
- /usr/lib/libevent_core-2.1.so.6 \
- /usr/lib/libevent_core-2.1.so.6.0.2 \
- /usr/lib/libevent_extra-2.1.so.6 \
- /usr/lib/libevent_extra-2.1.so.6.0.2 \
- /usr/lib/libevent_openssl-2.1.so.6 \
- /usr/lib/libevent_openssl-2.1.so.6.0.2 \
- /usr/lib/libevent_openssl.so \
- /usr/lib/libevent_pthreads-2.1.so.6 \
- /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
- /usr/lib/libevent_pthreads.so \
- /usr/lib/libexpat.so \
- /usr/lib/libexslt.so \
- /usr/lib/libffi.so.6 \
- /usr/lib/libffi.so.6.0.4 \
- /usr/lib/libffi.so.7 \
- /usr/lib/libffi.so.7.1.0 \
- /usr/lib/libfuse.so \
- /usr/lib/libfuse.so.2 \
- /usr/lib/libfuse.so.2.9.7 \
- /usr/lib/libgdbm_compat.so \
- /usr/lib/libgdbm_compat.so.3 \
- /usr/lib/libgdbm_compat.so.3.0.0 \
- /usr/lib/libgdbm.so \
- /usr/lib/libgdbm.so.3 \
- /usr/lib/libgdbm.so.3.0.0 \
- /usr/lib/libgd.so \
- /usr/lib/libgd.so.2 \
- /usr/lib/libgd.so.2.0.0 \
- /usr/lib/libgettextlib-0.19.8.1.so \
- /usr/lib/libgettextsrc-0.19.8.1.so \
- /usr/lib/libhistory.so.6 \
- /usr/lib/libhistory.so.6.3 \
- /usr/lib/libhogweed.so.5 \
- /usr/lib/libhogweed.so.5.0 \
- /usr/lib/libidn.so \
- /usr/lib/libidn.so.11 \
- /usr/lib/libidn.so.11.6.18 \
- /usr/lib/libirs-9.16.22.so \
- /usr/lib/libisc-9.16.22.so \
- /usr/lib/libisccc-9.16.22.so \
- /usr/lib/libisccc.so.161 \
- /usr/lib/libisccc.so.161.0.1 \
- /usr/lib/libisccfg-9.16.22.so \
- /usr/lib/libisccfg.so.163 \
- /usr/lib/libisccfg.so.163.0.8 \
- /usr/lib/libisc.so.1100 \
- /usr/lib/libisc.so.1100.3.2 \
- /usr/lib/libisc.so.1104 \
- /usr/lib/libisc.so.1104.0.0 \
- /usr/lib/libisc.so.1105 \
- /usr/lib/libisc.so.1105.1.1 \
- /usr/lib/libisc.so.1107 \
- /usr/lib/libisc.so.1107.0.5 \
See above.
- /usr/lib/libixml.so \
- /usr/lib/libknot.so.10 \
- /usr/lib/libknot.so.10.0.0 \
- /usr/lib/libknot.so.11 \
- /usr/lib/libknot.so.11.0.0 \
- /usr/lib/libknot.so.9 \
- /usr/lib/libknot.so.9.0.0 \
- /usr/lib/liblber-2.3.so.0 \
- /usr/lib/liblber-2.3.so.0.2.8 \
- /usr/lib/libldap-2.3.so.0 \
- /usr/lib/libldap-2.3.so.0.2.8 \
- /usr/lib/libldap_r-2.3.so.0 \
- /usr/lib/libldap_r-2.3.so.0.2.8 \
- /usr/lib/libloc.so.0 \
- /usr/lib/libloc.so.0.0.0 \
- /usr/lib/liblua-5.3.so \
- /usr/lib/liblua.so \
- /usr/lib/liblwres.so.161 \
- /usr/lib/liblwres.so.161.0.4 \
- /usr/lib/libmpfr.so.4 \
- /usr/lib/libmpfr.so.4.1.5 \
- /usr/lib/libmpx.so.2 \
- /usr/lib/libmpx.so.2.0.1 \
- /usr/lib/libmpxwrappers.so.2 \
- /usr/lib/libmpxwrappers.so.2.0.1 \
- /usr/lib/libnettle.so.7 \
- /usr/lib/libnettle.so.7.0 \
- /usr/lib/libns-9.16.22.so \
- /usr/lib/libopcodes-2.32.so \
- /usr/lib/libopcodes-2.34.so \
- /usr/lib/libopcodes-2.35.1.so \
- /usr/lib/libpcre2-posix.so.2 \
- /usr/lib/libpcre2-posix.so.2.0.3 \
- /usr/lib/libpng12.so \
- /usr/lib/libpng12.so.0 \
- /usr/lib/libpng12.so.0.57.0 \
- /usr/lib/libpng.so.3 \
- /usr/lib/libpng.so.3.57.0 \
- /usr/lib/libpoppler.so.100 \
- /usr/lib/libpoppler.so.100.0.0 \
- /usr/lib/libpoppler.so.110 \
- /usr/lib/libpoppler.so.110.0.0 \
- /usr/lib/libpoppler.so.111 \
- /usr/lib/libpoppler.so.111.0.0 \
- /usr/lib/libpoppler.so.66 \
- /usr/lib/libpoppler.so.66.0.0 \
- /usr/lib/libqpdf.so.17 \
- /usr/lib/libqpdf.so.17.0.0 \
- /usr/lib/libreadline.so.6 \
- /usr/lib/libreadline.so.6.3 \
- /usr/lib/libsensors.so.4 \
- /usr/lib/libsensors.so.4.4.0 \
- /usr/lib/libsqlite3.so \
- /usr/lib/libthreadutil.so \
- /usr/lib/libthreadutil.so.6 \
- /usr/lib/libthreadutil.so.6.0.3 \
- /usr/lib/libulockmgr.so \
- /usr/lib/libulockmgr.so.1 \
- /usr/lib/libulockmgr.so.1.0.1 \
- /usr/lib/libupnp.so \
- /usr/lib/libuuid.so \
- /usr/lib/libxml2.so \
- /usr/lib/libxslt.so \
- /usr/lib/pango \
- /usr/lib/perl5/site_perl/5.30.0 \
- /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
- /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
- /usr/lib/python3.8/idlelib/Icons/idle.icns \
- /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
- /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
Yes, good point. I was running the comparison based on Core Update 164, but with Python being updated to 3.10.x in Core Update 165, this folder won't be necessary anymore completely.
- /usr/lib/sqlite3.34.0 \
- /usr/lib/squid/basic_nis_auth \
- /usr/lib/squid/ext_time_quota_acl \
- /usr/lib/tcl8/8.4/platform-1.0.14.tm \
- /usr/lib/tcl8/8.4/platform-1.0.15.tm \
- /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
- /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
- /usr/lib/tcl8/8.6/http-2.8.9.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
Why do we even ship tcl? Is anything reliant on this?
I don't know.
- /usr/lib/tdbc1.1.2 \
- /usr/lib/tdbcmysql1.1.2 \
- /usr/lib/tdbcodbc1.1.2 \
- /usr/lib/tdbcpostgres1.1.2 \
- /usr/lib/thread2.8.6 \
- /usr/libexec/xtables-addons \ /usr/local/bin/ovpn-ccd-convert \
- /usr/local/bin/rebuild-initrd
- /usr/local/bin/rebuild-initrd \
- /usr/local/bin/xt_geoip_build \
- /usr/local/bin/xt_geoip_update \
- /usr/sbin/batctl \
- /usr/sbin/fbset \
- /usr/sbin/update-usbids.sh \
- /usr/sbin/uuidd \
- /usr/share/doc/fireinfo \
- /usr/share/GeoIP \
- /usr/share/zoneinfo/posix/US/Pacific-New \
- /usr/share/zoneinfo/right/US/Pacific-New \
- /usr/share/zoneinfo/US/Pacific-New \
- /var/lib/GeoIP
What method did you use to identify all these files?
On the IPFire installation in question, I ran
find bin/ etc/ lib/ opt/ run/ sbin/ srv/ usr/ var/ | sort > ~/ist
and scp'ed that file onto my workstation. Then, I downloaded the ISO for Core Update 164 (because I wanted to have something stable, which is why I did not choose C165 for this), installed it in a VM, rebooted it, mounted the root partition and executed the same find command with a different file name.
Okay, so this is based on a random system. Not bad, but would be better if we could diff two filelists from two core updates, wouldn’t it?
I am not sure if I understood you here: The filelist above contains all leftovers that have agglomerated since Core Update 110. Comparing two filelists would only cover a fraction of it, since this comparison cannot skip any update.
However: Do you see a feasible way to obtain such lists, and perhaps scipt the generation of such a list of orphaned files?
Thanks, and best regards, Peter Müller
A
diff -Naur soll ist | less
(sorry for the German) outputs a long list, which I vetted manually since some add-ons were installed on the productive system, and I did not want to pipe the output into the rm command blindly.
Thanks, and best regards, Peter Müller
-Michael
# Delete old 2007 Pakfire key from GPG keyring export GNUPGHOME="/opt/pakfire/etc/.gnupg" -- 2.34.1
Hello,
On 21 Mar 2022, at 19:15, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
thanks for your reply.
Hello,
On 21 Mar 2022, at 16:03, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
thanks for your reply.
Hello,
This is interesting.
That's a mild way of putting it, I think. :-)
On 21 Mar 2022, at 15:35, Peter Müller peter.mueller@ipfire.org wrote:
On an IPFire installation that has been around since Core Update 110 (released April 28, 2017), these files have been identified as being orphaned, comparing to a fresh installation of Core Update 164.
To avoid such a list of files agglomerating, persons responsible for a Core Update should check whether an updated package contains deleted files in its rootfile. If so, they should be deleted on existing systems via update.sh as well.
Signed-off-by: Peter Müller peter.mueller@ipfire.org
config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++- 1 file changed, 258 insertions(+), 2 deletions(-)
diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh index 1370555b0..b556986a5 100644 --- a/config/rootfiles/core/166/update.sh +++ b/config/rootfiles/core/166/update.sh @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do done
# Remove files -rm -vf \ +rm -rvf \
- /bin/setserial \ /etc/dracut.conf \
- /etc/fonts/conf.d/30-urw-aliases.conf \
- /etc/grub.d/README \
- /etc/rc.d/init.d/networking/red.up/99-geoip-database \
- /etc/udev/rules.d/99-fuse.rules \
- /lib/firmware/amd-ucode/microcode_amd.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
- /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
- /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
- /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
- /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
- /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/atusb/ChangeLog \
- /lib/firmware/check_whence.py \
- /lib/firmware/cis/src \
- /lib/firmware/copy-firmware.sh \
- /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
- /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
- /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
- /lib/firmware/GPL-2 \
- /lib/firmware/GPL-3 \
- /lib/firmware/isci/README \
- /lib/firmware/LICENCE.* \
- /lib/firmware/Makefile \
- /lib/firmware/qca/NOTICE.txt \
- /lib/firmware/qcom/NOTICE.txt \
- /lib/firmware/README \
- /lib/firmware/WHENCE \
- /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
- /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
- /lib/ld-2.29.so \
- /lib/ld-2.31.so \
- /lib/ld-2.32.so \
These should have been gone before. Ideally by the filesystem cleanup script.
To be honest, I never had a look at this script, and therefore do not have an idea what it does and what it does not. I will investigate and get back to you, if necessary.
- /lib/libcap.so \
- /lib/libhistory.so.5 \
- /lib/libhistory.so.5.2 \
- /lib/libip4tc.so.0 \
- /lib/libip4tc.so.0.1.0 \
- /lib/libip6tc.so.0 \
- /lib/libip6tc.so.0.1.0 \
- /lib/libiptc.so \
- /lib/libiptc.so.0 \
- /lib/libiptc.so.0.0.0 \
- /lib/libnss_nis-2.31.so \
- /lib/libnss_nisplus-2.31.so \
- /lib/libnss_nisplus.so.2 \
- /lib/libnss_nis.so.2 \
- /lib/libproc-3.2.8.so \
- /lib/libreadline.so.5 \
- /lib/libreadline.so.5.2 \
- /lib/libsysfs.so \
- /lib/libsysfs.so.1 \
- /lib/libsysfs.so.1.0.3 \
- /lib/udev/bluetooth_serial \
- /lib/udev/rules.d/24-bluetooth.rules \
- /lib/xtables/libxt_IMQ.so \ /opt/pakfire/pakfire-2007.key \
- /sbin/mount.fuse \
- /sbin/raw \
- /sbin/xfs_scrub \
- /sbin/xfs_scrub_all \
- /srv/web/ipfire/cgi-bin/bluetooth.cgi \
- /usr/bin/ez-ipupdate \
LOL
?
- /usr/bin/fusermount \
- /usr/bin/gawk-5.1.0 \
- /usr/bin/gcov-dump \
- /usr/bin/getunimap \ /usr/bin/mkinitrd \
- /usr/bin/mtools \
- /usr/bin/pango-querymodules \
- /usr/bin/perl5.30.0 \
- /usr/bin/setlogcons \
- /usr/bin/setvesablank \
- /usr/bin/ulockmgr_server \
- /usr/include/python2.7 \
- /usr/lib/cairo \ /usr/lib/dracut \
- /usr/lib/findutils/bigram \
- /usr/lib/findutils/code \
- /usr/lib/gawk/testext.so \
- /usr/lib/itcl4.2.1 \
- /usr/lib/libasan.so.5 \
- /usr/lib/libasan.so.5.0.0 \
- /usr/lib/libbfd-2.32.so \
- /usr/lib/libbfd-2.34.so \
- /usr/lib/libbfd-2.35.1.so \
- /usr/lib/libbind9-9.16.22.so \
- /usr/lib/libbind9.so.161 \
- /usr/lib/libbind9.so.161.0.4 \
- /usr/lib/libblkid.so \
- /usr/lib/libdns-9.16.22.so \
- /usr/lib/libdnssec.so.7 \
- /usr/lib/libdnssec.so.7.0.0 \
- /usr/lib/libdns.so.* \
These should have been caught by the script as well. Any idea why that didn’t happen?
- /usr/lib/libevent-2.1.so.6 \
- /usr/lib/libevent-2.1.so.6.0.2 \
- /usr/lib/libevent_core-2.1.so.6 \
- /usr/lib/libevent_core-2.1.so.6.0.2 \
- /usr/lib/libevent_extra-2.1.so.6 \
- /usr/lib/libevent_extra-2.1.so.6.0.2 \
- /usr/lib/libevent_openssl-2.1.so.6 \
- /usr/lib/libevent_openssl-2.1.so.6.0.2 \
- /usr/lib/libevent_openssl.so \
- /usr/lib/libevent_pthreads-2.1.so.6 \
- /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
- /usr/lib/libevent_pthreads.so \
- /usr/lib/libexpat.so \
- /usr/lib/libexslt.so \
- /usr/lib/libffi.so.6 \
- /usr/lib/libffi.so.6.0.4 \
- /usr/lib/libffi.so.7 \
- /usr/lib/libffi.so.7.1.0 \
- /usr/lib/libfuse.so \
- /usr/lib/libfuse.so.2 \
- /usr/lib/libfuse.so.2.9.7 \
- /usr/lib/libgdbm_compat.so \
- /usr/lib/libgdbm_compat.so.3 \
- /usr/lib/libgdbm_compat.so.3.0.0 \
- /usr/lib/libgdbm.so \
- /usr/lib/libgdbm.so.3 \
- /usr/lib/libgdbm.so.3.0.0 \
- /usr/lib/libgd.so \
- /usr/lib/libgd.so.2 \
- /usr/lib/libgd.so.2.0.0 \
- /usr/lib/libgettextlib-0.19.8.1.so \
- /usr/lib/libgettextsrc-0.19.8.1.so \
- /usr/lib/libhistory.so.6 \
- /usr/lib/libhistory.so.6.3 \
- /usr/lib/libhogweed.so.5 \
- /usr/lib/libhogweed.so.5.0 \
- /usr/lib/libidn.so \
- /usr/lib/libidn.so.11 \
- /usr/lib/libidn.so.11.6.18 \
- /usr/lib/libirs-9.16.22.so \
- /usr/lib/libisc-9.16.22.so \
- /usr/lib/libisccc-9.16.22.so \
- /usr/lib/libisccc.so.161 \
- /usr/lib/libisccc.so.161.0.1 \
- /usr/lib/libisccfg-9.16.22.so \
- /usr/lib/libisccfg.so.163 \
- /usr/lib/libisccfg.so.163.0.8 \
- /usr/lib/libisc.so.1100 \
- /usr/lib/libisc.so.1100.3.2 \
- /usr/lib/libisc.so.1104 \
- /usr/lib/libisc.so.1104.0.0 \
- /usr/lib/libisc.so.1105 \
- /usr/lib/libisc.so.1105.1.1 \
- /usr/lib/libisc.so.1107 \
- /usr/lib/libisc.so.1107.0.5 \
See above.
- /usr/lib/libixml.so \
- /usr/lib/libknot.so.10 \
- /usr/lib/libknot.so.10.0.0 \
- /usr/lib/libknot.so.11 \
- /usr/lib/libknot.so.11.0.0 \
- /usr/lib/libknot.so.9 \
- /usr/lib/libknot.so.9.0.0 \
- /usr/lib/liblber-2.3.so.0 \
- /usr/lib/liblber-2.3.so.0.2.8 \
- /usr/lib/libldap-2.3.so.0 \
- /usr/lib/libldap-2.3.so.0.2.8 \
- /usr/lib/libldap_r-2.3.so.0 \
- /usr/lib/libldap_r-2.3.so.0.2.8 \
- /usr/lib/libloc.so.0 \
- /usr/lib/libloc.so.0.0.0 \
- /usr/lib/liblua-5.3.so \
- /usr/lib/liblua.so \
- /usr/lib/liblwres.so.161 \
- /usr/lib/liblwres.so.161.0.4 \
- /usr/lib/libmpfr.so.4 \
- /usr/lib/libmpfr.so.4.1.5 \
- /usr/lib/libmpx.so.2 \
- /usr/lib/libmpx.so.2.0.1 \
- /usr/lib/libmpxwrappers.so.2 \
- /usr/lib/libmpxwrappers.so.2.0.1 \
- /usr/lib/libnettle.so.7 \
- /usr/lib/libnettle.so.7.0 \
- /usr/lib/libns-9.16.22.so \
- /usr/lib/libopcodes-2.32.so \
- /usr/lib/libopcodes-2.34.so \
- /usr/lib/libopcodes-2.35.1.so \
- /usr/lib/libpcre2-posix.so.2 \
- /usr/lib/libpcre2-posix.so.2.0.3 \
- /usr/lib/libpng12.so \
- /usr/lib/libpng12.so.0 \
- /usr/lib/libpng12.so.0.57.0 \
- /usr/lib/libpng.so.3 \
- /usr/lib/libpng.so.3.57.0 \
- /usr/lib/libpoppler.so.100 \
- /usr/lib/libpoppler.so.100.0.0 \
- /usr/lib/libpoppler.so.110 \
- /usr/lib/libpoppler.so.110.0.0 \
- /usr/lib/libpoppler.so.111 \
- /usr/lib/libpoppler.so.111.0.0 \
- /usr/lib/libpoppler.so.66 \
- /usr/lib/libpoppler.so.66.0.0 \
- /usr/lib/libqpdf.so.17 \
- /usr/lib/libqpdf.so.17.0.0 \
- /usr/lib/libreadline.so.6 \
- /usr/lib/libreadline.so.6.3 \
- /usr/lib/libsensors.so.4 \
- /usr/lib/libsensors.so.4.4.0 \
- /usr/lib/libsqlite3.so \
- /usr/lib/libthreadutil.so \
- /usr/lib/libthreadutil.so.6 \
- /usr/lib/libthreadutil.so.6.0.3 \
- /usr/lib/libulockmgr.so \
- /usr/lib/libulockmgr.so.1 \
- /usr/lib/libulockmgr.so.1.0.1 \
- /usr/lib/libupnp.so \
- /usr/lib/libuuid.so \
- /usr/lib/libxml2.so \
- /usr/lib/libxslt.so \
- /usr/lib/pango \
- /usr/lib/perl5/site_perl/5.30.0 \
- /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
- /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
- /usr/lib/python3.8/idlelib/Icons/idle.icns \
- /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
- /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
Yes, good point. I was running the comparison based on Core Update 164, but with Python being updated to 3.10.x in Core Update 165, this folder won't be necessary anymore completely.
- /usr/lib/sqlite3.34.0 \
- /usr/lib/squid/basic_nis_auth \
- /usr/lib/squid/ext_time_quota_acl \
- /usr/lib/tcl8/8.4/platform-1.0.14.tm \
- /usr/lib/tcl8/8.4/platform-1.0.15.tm \
- /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
- /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
- /usr/lib/tcl8/8.6/http-2.8.9.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
Why do we even ship tcl? Is anything reliant on this?
I don't know.
- /usr/lib/tdbc1.1.2 \
- /usr/lib/tdbcmysql1.1.2 \
- /usr/lib/tdbcodbc1.1.2 \
- /usr/lib/tdbcpostgres1.1.2 \
- /usr/lib/thread2.8.6 \
- /usr/libexec/xtables-addons \ /usr/local/bin/ovpn-ccd-convert \
- /usr/local/bin/rebuild-initrd
- /usr/local/bin/rebuild-initrd \
- /usr/local/bin/xt_geoip_build \
- /usr/local/bin/xt_geoip_update \
- /usr/sbin/batctl \
- /usr/sbin/fbset \
- /usr/sbin/update-usbids.sh \
- /usr/sbin/uuidd \
- /usr/share/doc/fireinfo \
- /usr/share/GeoIP \
- /usr/share/zoneinfo/posix/US/Pacific-New \
- /usr/share/zoneinfo/right/US/Pacific-New \
- /usr/share/zoneinfo/US/Pacific-New \
- /var/lib/GeoIP
What method did you use to identify all these files?
On the IPFire installation in question, I ran
find bin/ etc/ lib/ opt/ run/ sbin/ srv/ usr/ var/ | sort > ~/ist
and scp'ed that file onto my workstation. Then, I downloaded the ISO for Core Update 164 (because I wanted to have something stable, which is why I did not choose C165 for this), installed it in a VM, rebooted it, mounted the root partition and executed the same find command with a different file name.
Okay, so this is based on a random system. Not bad, but would be better if we could diff two filelists from two core updates, wouldn’t it?
I am not sure if I understood you here: The filelist above contains all leftovers that have agglomerated since Core Update 110. Comparing two filelists would only cover a fraction of it, since this comparison cannot skip any update.
However: Do you see a feasible way to obtain such lists, and perhaps scipt the generation of such a list of orphaned files?
Yes, we could use “git archive” to create a tarball from any branch, so in this case a core update from the past.
We could then only extract (or directly send to stdout) all files in config/rootfiles/command, sort the output and compare it to what is currently in config/rootfiles/common. Stretch goal is doing this for all architectures :)
Here is the command for the main file list:
git archive origin/core160 | tar --extract --to-stdout config/rootfiles/common | grep -v "^#" | sort -u
This could be integrated into make.sh :)
-Michael
Thanks, and best regards, Peter Müller
A
diff -Naur soll ist | less
(sorry for the German) outputs a long list, which I vetted manually since some add-ons were installed on the productive system, and I did not want to pipe the output into the rm command blindly.
Thanks, and best regards, Peter Müller
-Michael
# Delete old 2007 Pakfire key from GPG keyring export GNUPGHOME="/opt/pakfire/etc/.gnupg" -- 2.34.1
Hello Michael,
thanks for your reply and the information.
How should we proceed with this patch then?
Thanks, and best regards, Peter Müller
Hello,
On 21 Mar 2022, at 19:15, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
thanks for your reply.
Hello,
On 21 Mar 2022, at 16:03, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
thanks for your reply.
Hello,
This is interesting.
That's a mild way of putting it, I think. :-)
On 21 Mar 2022, at 15:35, Peter Müller peter.mueller@ipfire.org wrote:
On an IPFire installation that has been around since Core Update 110 (released April 28, 2017), these files have been identified as being orphaned, comparing to a fresh installation of Core Update 164.
To avoid such a list of files agglomerating, persons responsible for a Core Update should check whether an updated package contains deleted files in its rootfile. If so, they should be deleted on existing systems via update.sh as well.
Signed-off-by: Peter Müller peter.mueller@ipfire.org
config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++- 1 file changed, 258 insertions(+), 2 deletions(-)
diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh index 1370555b0..b556986a5 100644 --- a/config/rootfiles/core/166/update.sh +++ b/config/rootfiles/core/166/update.sh @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do done
# Remove files -rm -vf \ +rm -rvf \
- /bin/setserial \ /etc/dracut.conf \
- /etc/fonts/conf.d/30-urw-aliases.conf \
- /etc/grub.d/README \
- /etc/rc.d/init.d/networking/red.up/99-geoip-database \
- /etc/udev/rules.d/99-fuse.rules \
- /lib/firmware/amd-ucode/microcode_amd.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
- /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
- /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
- /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
- /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
- /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
- /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
- /lib/firmware/atusb/ChangeLog \
- /lib/firmware/check_whence.py \
- /lib/firmware/cis/src \
- /lib/firmware/copy-firmware.sh \
- /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
- /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
- /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
- /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
- /lib/firmware/GPL-2 \
- /lib/firmware/GPL-3 \
- /lib/firmware/isci/README \
- /lib/firmware/LICENCE.* \
- /lib/firmware/Makefile \
- /lib/firmware/qca/NOTICE.txt \
- /lib/firmware/qcom/NOTICE.txt \
- /lib/firmware/README \
- /lib/firmware/WHENCE \
- /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
- /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
- /lib/ld-2.29.so \
- /lib/ld-2.31.so \
- /lib/ld-2.32.so \
These should have been gone before. Ideally by the filesystem cleanup script.
To be honest, I never had a look at this script, and therefore do not have an idea what it does and what it does not. I will investigate and get back to you, if necessary.
- /lib/libcap.so \
- /lib/libhistory.so.5 \
- /lib/libhistory.so.5.2 \
- /lib/libip4tc.so.0 \
- /lib/libip4tc.so.0.1.0 \
- /lib/libip6tc.so.0 \
- /lib/libip6tc.so.0.1.0 \
- /lib/libiptc.so \
- /lib/libiptc.so.0 \
- /lib/libiptc.so.0.0.0 \
- /lib/libnss_nis-2.31.so \
- /lib/libnss_nisplus-2.31.so \
- /lib/libnss_nisplus.so.2 \
- /lib/libnss_nis.so.2 \
- /lib/libproc-3.2.8.so \
- /lib/libreadline.so.5 \
- /lib/libreadline.so.5.2 \
- /lib/libsysfs.so \
- /lib/libsysfs.so.1 \
- /lib/libsysfs.so.1.0.3 \
- /lib/udev/bluetooth_serial \
- /lib/udev/rules.d/24-bluetooth.rules \
- /lib/xtables/libxt_IMQ.so \ /opt/pakfire/pakfire-2007.key \
- /sbin/mount.fuse \
- /sbin/raw \
- /sbin/xfs_scrub \
- /sbin/xfs_scrub_all \
- /srv/web/ipfire/cgi-bin/bluetooth.cgi \
- /usr/bin/ez-ipupdate \
LOL
?
- /usr/bin/fusermount \
- /usr/bin/gawk-5.1.0 \
- /usr/bin/gcov-dump \
- /usr/bin/getunimap \ /usr/bin/mkinitrd \
- /usr/bin/mtools \
- /usr/bin/pango-querymodules \
- /usr/bin/perl5.30.0 \
- /usr/bin/setlogcons \
- /usr/bin/setvesablank \
- /usr/bin/ulockmgr_server \
- /usr/include/python2.7 \
- /usr/lib/cairo \ /usr/lib/dracut \
- /usr/lib/findutils/bigram \
- /usr/lib/findutils/code \
- /usr/lib/gawk/testext.so \
- /usr/lib/itcl4.2.1 \
- /usr/lib/libasan.so.5 \
- /usr/lib/libasan.so.5.0.0 \
- /usr/lib/libbfd-2.32.so \
- /usr/lib/libbfd-2.34.so \
- /usr/lib/libbfd-2.35.1.so \
- /usr/lib/libbind9-9.16.22.so \
- /usr/lib/libbind9.so.161 \
- /usr/lib/libbind9.so.161.0.4 \
- /usr/lib/libblkid.so \
- /usr/lib/libdns-9.16.22.so \
- /usr/lib/libdnssec.so.7 \
- /usr/lib/libdnssec.so.7.0.0 \
- /usr/lib/libdns.so.* \
These should have been caught by the script as well. Any idea why that didn’t happen?
- /usr/lib/libevent-2.1.so.6 \
- /usr/lib/libevent-2.1.so.6.0.2 \
- /usr/lib/libevent_core-2.1.so.6 \
- /usr/lib/libevent_core-2.1.so.6.0.2 \
- /usr/lib/libevent_extra-2.1.so.6 \
- /usr/lib/libevent_extra-2.1.so.6.0.2 \
- /usr/lib/libevent_openssl-2.1.so.6 \
- /usr/lib/libevent_openssl-2.1.so.6.0.2 \
- /usr/lib/libevent_openssl.so \
- /usr/lib/libevent_pthreads-2.1.so.6 \
- /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
- /usr/lib/libevent_pthreads.so \
- /usr/lib/libexpat.so \
- /usr/lib/libexslt.so \
- /usr/lib/libffi.so.6 \
- /usr/lib/libffi.so.6.0.4 \
- /usr/lib/libffi.so.7 \
- /usr/lib/libffi.so.7.1.0 \
- /usr/lib/libfuse.so \
- /usr/lib/libfuse.so.2 \
- /usr/lib/libfuse.so.2.9.7 \
- /usr/lib/libgdbm_compat.so \
- /usr/lib/libgdbm_compat.so.3 \
- /usr/lib/libgdbm_compat.so.3.0.0 \
- /usr/lib/libgdbm.so \
- /usr/lib/libgdbm.so.3 \
- /usr/lib/libgdbm.so.3.0.0 \
- /usr/lib/libgd.so \
- /usr/lib/libgd.so.2 \
- /usr/lib/libgd.so.2.0.0 \
- /usr/lib/libgettextlib-0.19.8.1.so \
- /usr/lib/libgettextsrc-0.19.8.1.so \
- /usr/lib/libhistory.so.6 \
- /usr/lib/libhistory.so.6.3 \
- /usr/lib/libhogweed.so.5 \
- /usr/lib/libhogweed.so.5.0 \
- /usr/lib/libidn.so \
- /usr/lib/libidn.so.11 \
- /usr/lib/libidn.so.11.6.18 \
- /usr/lib/libirs-9.16.22.so \
- /usr/lib/libisc-9.16.22.so \
- /usr/lib/libisccc-9.16.22.so \
- /usr/lib/libisccc.so.161 \
- /usr/lib/libisccc.so.161.0.1 \
- /usr/lib/libisccfg-9.16.22.so \
- /usr/lib/libisccfg.so.163 \
- /usr/lib/libisccfg.so.163.0.8 \
- /usr/lib/libisc.so.1100 \
- /usr/lib/libisc.so.1100.3.2 \
- /usr/lib/libisc.so.1104 \
- /usr/lib/libisc.so.1104.0.0 \
- /usr/lib/libisc.so.1105 \
- /usr/lib/libisc.so.1105.1.1 \
- /usr/lib/libisc.so.1107 \
- /usr/lib/libisc.so.1107.0.5 \
See above.
- /usr/lib/libixml.so \
- /usr/lib/libknot.so.10 \
- /usr/lib/libknot.so.10.0.0 \
- /usr/lib/libknot.so.11 \
- /usr/lib/libknot.so.11.0.0 \
- /usr/lib/libknot.so.9 \
- /usr/lib/libknot.so.9.0.0 \
- /usr/lib/liblber-2.3.so.0 \
- /usr/lib/liblber-2.3.so.0.2.8 \
- /usr/lib/libldap-2.3.so.0 \
- /usr/lib/libldap-2.3.so.0.2.8 \
- /usr/lib/libldap_r-2.3.so.0 \
- /usr/lib/libldap_r-2.3.so.0.2.8 \
- /usr/lib/libloc.so.0 \
- /usr/lib/libloc.so.0.0.0 \
- /usr/lib/liblua-5.3.so \
- /usr/lib/liblua.so \
- /usr/lib/liblwres.so.161 \
- /usr/lib/liblwres.so.161.0.4 \
- /usr/lib/libmpfr.so.4 \
- /usr/lib/libmpfr.so.4.1.5 \
- /usr/lib/libmpx.so.2 \
- /usr/lib/libmpx.so.2.0.1 \
- /usr/lib/libmpxwrappers.so.2 \
- /usr/lib/libmpxwrappers.so.2.0.1 \
- /usr/lib/libnettle.so.7 \
- /usr/lib/libnettle.so.7.0 \
- /usr/lib/libns-9.16.22.so \
- /usr/lib/libopcodes-2.32.so \
- /usr/lib/libopcodes-2.34.so \
- /usr/lib/libopcodes-2.35.1.so \
- /usr/lib/libpcre2-posix.so.2 \
- /usr/lib/libpcre2-posix.so.2.0.3 \
- /usr/lib/libpng12.so \
- /usr/lib/libpng12.so.0 \
- /usr/lib/libpng12.so.0.57.0 \
- /usr/lib/libpng.so.3 \
- /usr/lib/libpng.so.3.57.0 \
- /usr/lib/libpoppler.so.100 \
- /usr/lib/libpoppler.so.100.0.0 \
- /usr/lib/libpoppler.so.110 \
- /usr/lib/libpoppler.so.110.0.0 \
- /usr/lib/libpoppler.so.111 \
- /usr/lib/libpoppler.so.111.0.0 \
- /usr/lib/libpoppler.so.66 \
- /usr/lib/libpoppler.so.66.0.0 \
- /usr/lib/libqpdf.so.17 \
- /usr/lib/libqpdf.so.17.0.0 \
- /usr/lib/libreadline.so.6 \
- /usr/lib/libreadline.so.6.3 \
- /usr/lib/libsensors.so.4 \
- /usr/lib/libsensors.so.4.4.0 \
- /usr/lib/libsqlite3.so \
- /usr/lib/libthreadutil.so \
- /usr/lib/libthreadutil.so.6 \
- /usr/lib/libthreadutil.so.6.0.3 \
- /usr/lib/libulockmgr.so \
- /usr/lib/libulockmgr.so.1 \
- /usr/lib/libulockmgr.so.1.0.1 \
- /usr/lib/libupnp.so \
- /usr/lib/libuuid.so \
- /usr/lib/libxml2.so \
- /usr/lib/libxslt.so \
- /usr/lib/pango \
- /usr/lib/perl5/site_perl/5.30.0 \
- /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
- /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
- /usr/lib/python3.8/idlelib/Icons/idle.icns \
- /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
- /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
Yes, good point. I was running the comparison based on Core Update 164, but with Python being updated to 3.10.x in Core Update 165, this folder won't be necessary anymore completely.
- /usr/lib/sqlite3.34.0 \
- /usr/lib/squid/basic_nis_auth \
- /usr/lib/squid/ext_time_quota_acl \
- /usr/lib/tcl8/8.4/platform-1.0.14.tm \
- /usr/lib/tcl8/8.4/platform-1.0.15.tm \
- /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
- /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
- /usr/lib/tcl8/8.6/http-2.8.9.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
Why do we even ship tcl? Is anything reliant on this?
I don't know.
- /usr/lib/tdbc1.1.2 \
- /usr/lib/tdbcmysql1.1.2 \
- /usr/lib/tdbcodbc1.1.2 \
- /usr/lib/tdbcpostgres1.1.2 \
- /usr/lib/thread2.8.6 \
- /usr/libexec/xtables-addons \ /usr/local/bin/ovpn-ccd-convert \
- /usr/local/bin/rebuild-initrd
- /usr/local/bin/rebuild-initrd \
- /usr/local/bin/xt_geoip_build \
- /usr/local/bin/xt_geoip_update \
- /usr/sbin/batctl \
- /usr/sbin/fbset \
- /usr/sbin/update-usbids.sh \
- /usr/sbin/uuidd \
- /usr/share/doc/fireinfo \
- /usr/share/GeoIP \
- /usr/share/zoneinfo/posix/US/Pacific-New \
- /usr/share/zoneinfo/right/US/Pacific-New \
- /usr/share/zoneinfo/US/Pacific-New \
- /var/lib/GeoIP
What method did you use to identify all these files?
On the IPFire installation in question, I ran
find bin/ etc/ lib/ opt/ run/ sbin/ srv/ usr/ var/ | sort > ~/ist
and scp'ed that file onto my workstation. Then, I downloaded the ISO for Core Update 164 (because I wanted to have something stable, which is why I did not choose C165 for this), installed it in a VM, rebooted it, mounted the root partition and executed the same find command with a different file name.
Okay, so this is based on a random system. Not bad, but would be better if we could diff two filelists from two core updates, wouldn’t it?
I am not sure if I understood you here: The filelist above contains all leftovers that have agglomerated since Core Update 110. Comparing two filelists would only cover a fraction of it, since this comparison cannot skip any update.
However: Do you see a feasible way to obtain such lists, and perhaps scipt the generation of such a list of orphaned files?
Yes, we could use “git archive” to create a tarball from any branch, so in this case a core update from the past.
We could then only extract (or directly send to stdout) all files in config/rootfiles/command, sort the output and compare it to what is currently in config/rootfiles/common. Stretch goal is doing this for all architectures :)
Here is the command for the main file list:
git archive origin/core160 | tar --extract --to-stdout config/rootfiles/common | grep -v "^#" | sort -u
This could be integrated into make.sh :)
-Michael
Thanks, and best regards, Peter Müller
A
diff -Naur soll ist | less
(sorry for the German) outputs a long list, which I vetted manually since some add-ons were installed on the productive system, and I did not want to pipe the output into the rm command blindly.
Thanks, and best regards, Peter Müller
-Michael
# Delete old 2007 Pakfire key from GPG keyring export GNUPGHOME="/opt/pakfire/etc/.gnupg" -- 2.34.1
I would vote to merge it. There is nothing wrong with it except that it might not be 100% complete, but it is at least doing something.
I would still like you to implement an automatic check for the future as I outlined in my last email. :)
On 22 Mar 2022, at 14:59, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
thanks for your reply and the information.
How should we proceed with this patch then?
Thanks, and best regards, Peter Müller
Hello,
On 21 Mar 2022, at 19:15, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
thanks for your reply.
Hello,
On 21 Mar 2022, at 16:03, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael,
thanks for your reply.
Hello,
This is interesting.
That's a mild way of putting it, I think. :-)
> On 21 Mar 2022, at 15:35, Peter Müller peter.mueller@ipfire.org wrote: > > On an IPFire installation that has been around since Core Update 110 > (released April 28, 2017), these files have been identified as being > orphaned, comparing to a fresh installation of Core Update 164. > > To avoid such a list of files agglomerating, persons responsible for a > Core Update should check whether an updated package contains deleted > files in its rootfile. If so, they should be deleted on existing systems > via update.sh as well. > > Signed-off-by: Peter Müller peter.mueller@ipfire.org > --- > config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++- > 1 file changed, 258 insertions(+), 2 deletions(-) > > diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh > index 1370555b0..b556986a5 100644 > --- a/config/rootfiles/core/166/update.sh > +++ b/config/rootfiles/core/166/update.sh > @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do > done > > # Remove files > -rm -vf \ > +rm -rvf \ > + /bin/setserial \ > /etc/dracut.conf \ > + /etc/fonts/conf.d/30-urw-aliases.conf \ > + /etc/grub.d/README \ > + /etc/rc.d/init.d/networking/red.up/99-geoip-database \ > + /etc/udev/rules.d/99-fuse.rules \ > + /lib/firmware/amd-ucode/microcode_amd.bin.asc \ > + /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \ > + /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \ > + /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \ > + /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \ > + /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \ > + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \ > + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \ > + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \ > + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \ > + /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \ > + /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \ > + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \ > + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \ > + /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \ > + /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \ > + /lib/firmware/atusb/ChangeLog \ > + /lib/firmware/check_whence.py \ > + /lib/firmware/cis/src \ > + /lib/firmware/copy-firmware.sh \ > + /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \ > + /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \ > + /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \ > + /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \ > + /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \ > + /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \ > + /lib/firmware/GPL-2 \ > + /lib/firmware/GPL-3 \ > + /lib/firmware/isci/README \ > + /lib/firmware/LICENCE.* \ > + /lib/firmware/Makefile \ > + /lib/firmware/qca/NOTICE.txt \ > + /lib/firmware/qcom/NOTICE.txt \ > + /lib/firmware/README \ > + /lib/firmware/WHENCE \ > + /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \ > + /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \ > + /lib/ld-2.29.so \ > + /lib/ld-2.31.so \ > + /lib/ld-2.32.so \
These should have been gone before. Ideally by the filesystem cleanup script.
To be honest, I never had a look at this script, and therefore do not have an idea what it does and what it does not. I will investigate and get back to you, if necessary.
> + /lib/libcap.so \ > + /lib/libhistory.so.5 \ > + /lib/libhistory.so.5.2 \ > + /lib/libip4tc.so.0 \ > + /lib/libip4tc.so.0.1.0 \ > + /lib/libip6tc.so.0 \ > + /lib/libip6tc.so.0.1.0 \ > + /lib/libiptc.so \ > + /lib/libiptc.so.0 \ > + /lib/libiptc.so.0.0.0 \ > + /lib/libnss_nis-2.31.so \ > + /lib/libnss_nisplus-2.31.so \ > + /lib/libnss_nisplus.so.2 \ > + /lib/libnss_nis.so.2 \ > + /lib/libproc-3.2.8.so \ > + /lib/libreadline.so.5 \ > + /lib/libreadline.so.5.2 \ > + /lib/libsysfs.so \ > + /lib/libsysfs.so.1 \ > + /lib/libsysfs.so.1.0.3 \ > + /lib/udev/bluetooth_serial \ > + /lib/udev/rules.d/24-bluetooth.rules \ > + /lib/xtables/libxt_IMQ.so \ > /opt/pakfire/pakfire-2007.key \ > + /sbin/mount.fuse \ > + /sbin/raw \ > + /sbin/xfs_scrub \ > + /sbin/xfs_scrub_all \ > + /srv/web/ipfire/cgi-bin/bluetooth.cgi \ > + /usr/bin/ez-ipupdate \
LOL
?
> + /usr/bin/fusermount \ > + /usr/bin/gawk-5.1.0 \ > + /usr/bin/gcov-dump \ > + /usr/bin/getunimap \ > /usr/bin/mkinitrd \ > + /usr/bin/mtools \ > + /usr/bin/pango-querymodules \ > + /usr/bin/perl5.30.0 \ > + /usr/bin/setlogcons \ > + /usr/bin/setvesablank \ > + /usr/bin/ulockmgr_server \ > + /usr/include/python2.7 \ > + /usr/lib/cairo \ > /usr/lib/dracut \ > + /usr/lib/findutils/bigram \ > + /usr/lib/findutils/code \ > + /usr/lib/gawk/testext.so \ > + /usr/lib/itcl4.2.1 \ > + /usr/lib/libasan.so.5 \ > + /usr/lib/libasan.so.5.0.0 \ > + /usr/lib/libbfd-2.32.so \ > + /usr/lib/libbfd-2.34.so \ > + /usr/lib/libbfd-2.35.1.so \ > + /usr/lib/libbind9-9.16.22.so \ > + /usr/lib/libbind9.so.161 \ > + /usr/lib/libbind9.so.161.0.4 \ > + /usr/lib/libblkid.so \ > + /usr/lib/libdns-9.16.22.so \ > + /usr/lib/libdnssec.so.7 \ > + /usr/lib/libdnssec.so.7.0.0 \ > + /usr/lib/libdns.so.* \
These should have been caught by the script as well. Any idea why that didn’t happen?
> + /usr/lib/libevent-2.1.so.6 \ > + /usr/lib/libevent-2.1.so.6.0.2 \ > + /usr/lib/libevent_core-2.1.so.6 \ > + /usr/lib/libevent_core-2.1.so.6.0.2 \ > + /usr/lib/libevent_extra-2.1.so.6 \ > + /usr/lib/libevent_extra-2.1.so.6.0.2 \ > + /usr/lib/libevent_openssl-2.1.so.6 \ > + /usr/lib/libevent_openssl-2.1.so.6.0.2 \ > + /usr/lib/libevent_openssl.so \ > + /usr/lib/libevent_pthreads-2.1.so.6 \ > + /usr/lib/libevent_pthreads-2.1.so.6.0.2 \ > + /usr/lib/libevent_pthreads.so \ > + /usr/lib/libexpat.so \ > + /usr/lib/libexslt.so \ > + /usr/lib/libffi.so.6 \ > + /usr/lib/libffi.so.6.0.4 \ > + /usr/lib/libffi.so.7 \ > + /usr/lib/libffi.so.7.1.0 \ > + /usr/lib/libfuse.so \ > + /usr/lib/libfuse.so.2 \ > + /usr/lib/libfuse.so.2.9.7 \ > + /usr/lib/libgdbm_compat.so \ > + /usr/lib/libgdbm_compat.so.3 \ > + /usr/lib/libgdbm_compat.so.3.0.0 \ > + /usr/lib/libgdbm.so \ > + /usr/lib/libgdbm.so.3 \ > + /usr/lib/libgdbm.so.3.0.0 \ > + /usr/lib/libgd.so \ > + /usr/lib/libgd.so.2 \ > + /usr/lib/libgd.so.2.0.0 \ > + /usr/lib/libgettextlib-0.19.8.1.so \ > + /usr/lib/libgettextsrc-0.19.8.1.so \ > + /usr/lib/libhistory.so.6 \ > + /usr/lib/libhistory.so.6.3 \ > + /usr/lib/libhogweed.so.5 \ > + /usr/lib/libhogweed.so.5.0 \ > + /usr/lib/libidn.so \ > + /usr/lib/libidn.so.11 \ > + /usr/lib/libidn.so.11.6.18 \ > + /usr/lib/libirs-9.16.22.so \ > + /usr/lib/libisc-9.16.22.so \ > + /usr/lib/libisccc-9.16.22.so \ > + /usr/lib/libisccc.so.161 \ > + /usr/lib/libisccc.so.161.0.1 \ > + /usr/lib/libisccfg-9.16.22.so \ > + /usr/lib/libisccfg.so.163 \ > + /usr/lib/libisccfg.so.163.0.8 \ > + /usr/lib/libisc.so.1100 \ > + /usr/lib/libisc.so.1100.3.2 \ > + /usr/lib/libisc.so.1104 \ > + /usr/lib/libisc.so.1104.0.0 \ > + /usr/lib/libisc.so.1105 \ > + /usr/lib/libisc.so.1105.1.1 \ > + /usr/lib/libisc.so.1107 \ > + /usr/lib/libisc.so.1107.0.5 \
See above.
> + /usr/lib/libixml.so \ > + /usr/lib/libknot.so.10 \ > + /usr/lib/libknot.so.10.0.0 \ > + /usr/lib/libknot.so.11 \ > + /usr/lib/libknot.so.11.0.0 \ > + /usr/lib/libknot.so.9 \ > + /usr/lib/libknot.so.9.0.0 \ > + /usr/lib/liblber-2.3.so.0 \ > + /usr/lib/liblber-2.3.so.0.2.8 \ > + /usr/lib/libldap-2.3.so.0 \ > + /usr/lib/libldap-2.3.so.0.2.8 \ > + /usr/lib/libldap_r-2.3.so.0 \ > + /usr/lib/libldap_r-2.3.so.0.2.8 \ > + /usr/lib/libloc.so.0 \ > + /usr/lib/libloc.so.0.0.0 \ > + /usr/lib/liblua-5.3.so \ > + /usr/lib/liblua.so \ > + /usr/lib/liblwres.so.161 \ > + /usr/lib/liblwres.so.161.0.4 \ > + /usr/lib/libmpfr.so.4 \ > + /usr/lib/libmpfr.so.4.1.5 \ > + /usr/lib/libmpx.so.2 \ > + /usr/lib/libmpx.so.2.0.1 \ > + /usr/lib/libmpxwrappers.so.2 \ > + /usr/lib/libmpxwrappers.so.2.0.1 \ > + /usr/lib/libnettle.so.7 \ > + /usr/lib/libnettle.so.7.0 \ > + /usr/lib/libns-9.16.22.so \ > + /usr/lib/libopcodes-2.32.so \ > + /usr/lib/libopcodes-2.34.so \ > + /usr/lib/libopcodes-2.35.1.so \ > + /usr/lib/libpcre2-posix.so.2 \ > + /usr/lib/libpcre2-posix.so.2.0.3 \ > + /usr/lib/libpng12.so \ > + /usr/lib/libpng12.so.0 \ > + /usr/lib/libpng12.so.0.57.0 \ > + /usr/lib/libpng.so.3 \ > + /usr/lib/libpng.so.3.57.0 \ > + /usr/lib/libpoppler.so.100 \ > + /usr/lib/libpoppler.so.100.0.0 \ > + /usr/lib/libpoppler.so.110 \ > + /usr/lib/libpoppler.so.110.0.0 \ > + /usr/lib/libpoppler.so.111 \ > + /usr/lib/libpoppler.so.111.0.0 \ > + /usr/lib/libpoppler.so.66 \ > + /usr/lib/libpoppler.so.66.0.0 \ > + /usr/lib/libqpdf.so.17 \ > + /usr/lib/libqpdf.so.17.0.0 \ > + /usr/lib/libreadline.so.6 \ > + /usr/lib/libreadline.so.6.3 \ > + /usr/lib/libsensors.so.4 \ > + /usr/lib/libsensors.so.4.4.0 \ > + /usr/lib/libsqlite3.so \ > + /usr/lib/libthreadutil.so \ > + /usr/lib/libthreadutil.so.6 \ > + /usr/lib/libthreadutil.so.6.0.3 \ > + /usr/lib/libulockmgr.so \ > + /usr/lib/libulockmgr.so.1 \ > + /usr/lib/libulockmgr.so.1.0.1 \ > + /usr/lib/libupnp.so \ > + /usr/lib/libuuid.so \ > + /usr/lib/libxml2.so \ > + /usr/lib/libxslt.so \ > + /usr/lib/pango \ > + /usr/lib/perl5/site_perl/5.30.0 \ > + /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \ > + /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \ > + /usr/lib/python3.8/idlelib/Icons/idle.icns \ > + /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \ > + /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
Yes, good point. I was running the comparison based on Core Update 164, but with Python being updated to 3.10.x in Core Update 165, this folder won't be necessary anymore completely.
> + /usr/lib/sqlite3.34.0 \ > + /usr/lib/squid/basic_nis_auth \ > + /usr/lib/squid/ext_time_quota_acl \ > + /usr/lib/tcl8/8.4/platform-1.0.14.tm \ > + /usr/lib/tcl8/8.4/platform-1.0.15.tm \ > + /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \ > + /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \ > + /usr/lib/tcl8/8.6/http-2.8.9.tm \ > + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \ > + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
Why do we even ship tcl? Is anything reliant on this?
I don't know.
> + /usr/lib/tdbc1.1.2 \ > + /usr/lib/tdbcmysql1.1.2 \ > + /usr/lib/tdbcodbc1.1.2 \ > + /usr/lib/tdbcpostgres1.1.2 \ > + /usr/lib/thread2.8.6 \ > + /usr/libexec/xtables-addons \ > /usr/local/bin/ovpn-ccd-convert \ > - /usr/local/bin/rebuild-initrd > + /usr/local/bin/rebuild-initrd \ > + /usr/local/bin/xt_geoip_build \ > + /usr/local/bin/xt_geoip_update \ > + /usr/sbin/batctl \ > + /usr/sbin/fbset \ > + /usr/sbin/update-usbids.sh \ > + /usr/sbin/uuidd \ > + /usr/share/doc/fireinfo \ > + /usr/share/GeoIP \ > + /usr/share/zoneinfo/posix/US/Pacific-New \ > + /usr/share/zoneinfo/right/US/Pacific-New \ > + /usr/share/zoneinfo/US/Pacific-New \ > + /var/lib/GeoIP
What method did you use to identify all these files?
On the IPFire installation in question, I ran
find bin/ etc/ lib/ opt/ run/ sbin/ srv/ usr/ var/ | sort > ~/ist
and scp'ed that file onto my workstation. Then, I downloaded the ISO for Core Update 164 (because I wanted to have something stable, which is why I did not choose C165 for this), installed it in a VM, rebooted it, mounted the root partition and executed the same find command with a different file name.
Okay, so this is based on a random system. Not bad, but would be better if we could diff two filelists from two core updates, wouldn’t it?
I am not sure if I understood you here: The filelist above contains all leftovers that have agglomerated since Core Update 110. Comparing two filelists would only cover a fraction of it, since this comparison cannot skip any update.
However: Do you see a feasible way to obtain such lists, and perhaps scipt the generation of such a list of orphaned files?
Yes, we could use “git archive” to create a tarball from any branch, so in this case a core update from the past.
We could then only extract (or directly send to stdout) all files in config/rootfiles/command, sort the output and compare it to what is currently in config/rootfiles/common. Stretch goal is doing this for all architectures :)
Here is the command for the main file list:
git archive origin/core160 | tar --extract --to-stdout config/rootfiles/common | grep -v "^#" | sort -u
This could be integrated into make.sh :)
-Michael
Thanks, and best regards, Peter Müller
A
diff -Naur soll ist | less
(sorry for the German) outputs a long list, which I vetted manually since some add-ons were installed on the productive system, and I did not want to pipe the output into the rm command blindly.
Thanks, and best regards, Peter Müller
-Michael
> > # Delete old 2007 Pakfire key from GPG keyring > export GNUPGHOME="/opt/pakfire/etc/.gnupg" > -- > 2.34.1
Hello Michael, hello *,
looking at
- /usr/lib/tcl8/8.4/platform-1.0.14.tm \
- /usr/lib/tcl8/8.4/platform-1.0.15.tm \
- /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
- /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
- /usr/lib/tcl8/8.6/http-2.8.9.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
Why do we even ship tcl? Is anything reliant on this?
in particular and the tcl rootfile in general, I would like to bring your question up again.
This is especially because the current tcl rootfile ships file I definitely expect in the sqlite territory, not here:
#usr/lib/sqlite3.36.0 usr/lib/sqlite3.36.0/libsqlite3.36.0.so usr/lib/sqlite3.36.0/pkgIndex.tcl
To my understanding, this makes it hard to understand if the sqlite version carried out via tcl takes precedence, or if the _actual_ sqlite version is effective.
Unless anybody has an idea why we actually need to ship tcl, I would like to try out what happens if we don't. :-)
Thanks, and best regards, Peter Müller
Hello,
On 3 Apr 2022, at 15:49, Peter Müller peter.mueller@ipfire.org wrote:
Hello Michael, hello *,
looking at
- /usr/lib/tcl8/8.4/platform-1.0.14.tm \
- /usr/lib/tcl8/8.4/platform-1.0.15.tm \
- /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
- /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
- /usr/lib/tcl8/8.6/http-2.8.9.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
- /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
Why do we even ship tcl? Is anything reliant on this?
in particular and the tcl rootfile in general, I would like to bring your question up again.
TCL is required at build time for various packages. However, at runtime there is one:
root@michael:/build/ipfire-2.x# grep -r "^#!.*tcl" build build/usr/sbin/usb_modeswitch_dispatcher:#!/usr/bin/tclsh grep: build/usr/share/misc/magic.mgc: binary file matches
That means we will need to ship tcl.
This is especially because the current tcl rootfile ships file I definitely expect in the sqlite territory, not here:
#usr/lib/sqlite3.36.0 usr/lib/sqlite3.36.0/libsqlite3.36.0.so usr/lib/sqlite3.36.0/pkgIndex.tcl
Since that script is not using sqlite, you can disable building both modules.
To my understanding, this makes it hard to understand if the sqlite version carried out via tcl takes precedence, or if the _actual_ sqlite version is effective.
They serve different purposes.
Unless anybody has an idea why we actually need to ship tcl, I would like to try out what happens if we don't. :-)
See above.
Thanks, and best regards, Peter Müller
-Michael