1
0
Fork 0
mirror of git://slackware.nl/current.git synced 2025-01-15 15:41:54 +01:00
slackware-current/source/a/mkinitrd/remove-orphaned-initrds

87 lines
3.2 KiB
Text
Raw Normal View History

#!/bin/bash
# Copyright 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# This script removes initrds in the /boot directory if there's no kernel
# in /boot with the same version. This keeps unused initrds from accumulating
# and filling up the filesystem.
# Usage: Run without any options to clean up initrd orphans:
#
# ./remove-orphaned-initrds
#
# To see what would be removed without actually removing anything:
#
# ./remove-orphaned-initrds --dry-run
#
# This script is suitable to run as a periodic cron job (perhaps weekly).
ORPHANS_FOUND=false
Wed Dec 18 00:32:07 UTC 2024 Thanks to UrbanDesimator for the help getting Xfce Wayland-ready! :-) a/mkinitrd-1.4.11-x86_64-58.txz: Rebuilt. remove-orphaned-initrds: reject unsupported command line options. Thanks to Mechanikx. a/ndctl-80-x86_64-1.txz: Upgraded. Added option -Dlibtracefs=enabled, compiled against libtracefs-1.8.1. d/llvm-19.1.6-x86_64-1.txz: Upgraded. d/meson-1.6.1-x86_64-1.txz: Upgraded. l/libclc-19.1.6-x86_64-1.txz: Upgraded. l/libtraceevent-1.8.4-x86_64-1.txz: Added. Needed by libtracefs-1.8.1. l/libtracefs-1.8.1-x86_64-1.txz: Added. Needed by ndctl-80. l/qtkeychain-0.14.3-x86_64-3.txz: Rebuilt. Fix 32-bit $ARCH. l/seatd-0.9.1-x86_64-1.txz: Added. Needed by wlroots-0.18.2. n/ipset-7.23-x86_64-1.txz: Upgraded. x/labwc-0.8.2-x86_64-1.txz: Added. A Wayland compositor that works with Xfce. x/libsfdo-0.1.3-x86_64-1.txz: Added. Needed by labwc-0.8.2. x/wlroots-0.18.2-x86_64-1.txz: Added. Needed by labwc-0.8.2. xfce/Greybird-3.23.3-noarch-2.txz: Rebuilt. [PATCH] Fix label styles for xfdesktop 4.19 (#338) Fixes Icon-label color not transparent when other window is focused. Thanks to Robby Workman. xfce/exo-4.20.0-x86_64-2.txz: Rebuilt. Added options --enable-x11 --enable-wayland. xfce/libxfce4ui-4.20.0-x86_64-2.txz: Rebuilt. Added options --enable-x11 --enable-wayland. xfce/xfce4-clipman-plugin-1.6.6-x86_64-2.txz: Rebuilt. Added options --enable-x11 --enable-wayland. xfce/xfce4-notifyd-0.9.6-x86_64-2.txz: Rebuilt. Added options --enable-x11 --enable-wayland. Recompiled against gtk-layer-shell-0.9.0. xfce/xfce4-panel-4.20.0-x86_64-2.txz: Rebuilt. Added options --enable-x11 --enable-wayland. Recompiled against gtk-layer-shell-0.9.0. xfce/xfce4-power-manager-4.20.0-x86_64-2.txz: Rebuilt. Added options --enable-x11 --enable-wayland. xfce/xfce4-screenshooter-1.11.1-x86_64-2.txz: Rebuilt. Added options --enable-x11 --enable-wayland. xfce/xfce4-session-4.20.0-x86_64-2.txz: Rebuilt. Added options --enable-x11 --enable-wayland. Recompiled against gtk-layer-shell-0.9.0. xfce/xfce4-settings-4.20.0-x86_64-2.txz: Rebuilt. Added options --enable-x11 --enable-wayland. Recompiled against gtk-layer-shell-0.9.0. xfce/xfce4-terminal-1.1.3-x86_64-2.txz: Rebuilt. Added options --enable-x11 --enable-wayland. Recompiled against gtk-layer-shell-0.9.0. xfce/xfce4-whiskermenu-plugin-2.8.3-x86_64-2.txz: Rebuilt. Added options --enable-x11 --enable-wayland. Recompiled against gtk-layer-shell-0.9.0. xfce/xfdesktop-4.20.0-x86_64-2.txz: Rebuilt. Added options --enable-x11 --enable-wayland. Recompiled against gtk-layer-shell-0.9.0.
2024-12-18 01:32:07 +01:00
# --dry-run is the only supported option here:
if [ ! -z "$1" -a ! "$1" = "--dry-run" ]; then
echo "Usage: $(basename $0) [--dry-run]"
exit 1
fi
cd /boot
Mon Oct 28 21:22:48 UTC 2024 a/aaa_libraries-15.1-x86_64-34.txz: Rebuilt. Upgraded: libcap.so.2.71, libelf-0.192.so, liblzma.so.5.6.3, libcares.so.2.19.1, libexpat.so.1.9.3, libglib-2.0.so.0.8200.2, libgmodule-2.0.so.0.8200.2, libgobject-2.0.so.0.8200.2, libgthread-2.0.so.0.8200.2, libisl.so.23.4.0, libjson-c.so.5.4.0, libpng16.so.16.44.0, libtiff.so.6.1.0, libtiffxx.so.6.1.0, libunistring.so.5.2.0. Removed: libboost_*.so.1.85.0. Added (temporarily): libicudata.so.74.2, libicui18n.so.74.2, libicuio.so.74.2, libicutest.so.74.2, libicutu.so.74.2, libicuuc.so.74.2. a/mkinitrd-1.4.11-x86_64-41.txz: Rebuilt. remove-orphaned-initrds: simplify matching - initrd-${FOO}.img is considered orphaned if there is no vmlinuz-${FOO} (the contents of $FOO are arbitrary). a/pkgtools-15.1-noarch-15.txz: Rebuilt. make-kernel-backup: if we are backing up vmlinuz-${FOO}, then also back up initrd-${FOO}.img if it exists. Don't try to match specific fields. a/xfsprogs-6.11.0-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. ap/mpg123-1.32.8-x86_64-1.txz: Upgraded. ap/sqlite-3.46.1-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. d/mercurial-6.8.2-x86_64-1.txz: Upgraded. d/python-pip-24.3.1-x86_64-1.txz: Upgraded. kde/kdeplasma-addons-5.27.11-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. kde/kdewebkit-5.116.0-x86_64-1.txz: Removed. Mothing uses this. Obsolete. kde/konsole-23.08.5-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. kde/plasma-workspace-5.27.11.1-x86_64-3.txz: Rebuilt. Recompiled against icu4c-76.1. l/M2Crypto-0.42.0-x86_64-1.txz: Removed. Nothing in Slackware has needed this since crda was removed, and very little elsewhere does. Thanks to lucabon. l/babl-0.1.110-x86_64-1.txz: Upgraded. l/boost-1.86.0-x86_64-3.txz: Rebuilt. Recompiled against icu4c-76.1. l/desktop-file-utils-0.28-x86_64-1.txz: Upgraded. l/gspell-1.14.0-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/harfbuzz-10.0.1-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/icu4c-76.1-x86_64-1.txz: Upgraded. Shared library .so-version bump. l/libcap-2.71-x86_64-1.txz: Upgraded. l/libical-3.0.18-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/libqalculate-5.3.0-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/liburing-2.8-x86_64-1.txz: Upgraded. l/libvisio-0.1.8-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/mozjs128-128.3.1esr-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/nodejs-20.18.0-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/qt5-5.15.15_20241016_9f395e3b-x86_64-1.txz: Upgraded. Compiled against icu4c-76.1. l/qt5-webkit-5.212.0_alpha4-x86_64-13.txz: Removed. Nothing uses this except kdewebkit, and nothing uses that. Plus it is unmaintained, obsolete, and likely full of holes. l/qt6-6.7.3_20240920_90e86aee-x86_64-4.txz: Rebuilt. Recompiled against icu4c-76.1. l/vte-0.78.1-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. n/dovecot-2.3.21.1-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. n/netatalk-4.0.3-x86_64-1.txz: Upgraded. n/php-8.3.13-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. n/postfix-3.9.0-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. n/samba-4.21.1-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. n/tin-2.6.3-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. t/texlive-2024.240409-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. extra/brltty/brltty-6.7-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. extra/sendmail/sendmail-8.18.1-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. extra/sendmail/sendmail-cf-8.18.1-noarch-2.txz: Rebuilt. Recompiled against icu4c-76.1.
2024-10-28 22:22:48 +01:00
for initrd in initrd-*.img ; do
if [ ! -r $initrd ]; then
continue
fi
Mon Oct 28 21:22:48 UTC 2024 a/aaa_libraries-15.1-x86_64-34.txz: Rebuilt. Upgraded: libcap.so.2.71, libelf-0.192.so, liblzma.so.5.6.3, libcares.so.2.19.1, libexpat.so.1.9.3, libglib-2.0.so.0.8200.2, libgmodule-2.0.so.0.8200.2, libgobject-2.0.so.0.8200.2, libgthread-2.0.so.0.8200.2, libisl.so.23.4.0, libjson-c.so.5.4.0, libpng16.so.16.44.0, libtiff.so.6.1.0, libtiffxx.so.6.1.0, libunistring.so.5.2.0. Removed: libboost_*.so.1.85.0. Added (temporarily): libicudata.so.74.2, libicui18n.so.74.2, libicuio.so.74.2, libicutest.so.74.2, libicutu.so.74.2, libicuuc.so.74.2. a/mkinitrd-1.4.11-x86_64-41.txz: Rebuilt. remove-orphaned-initrds: simplify matching - initrd-${FOO}.img is considered orphaned if there is no vmlinuz-${FOO} (the contents of $FOO are arbitrary). a/pkgtools-15.1-noarch-15.txz: Rebuilt. make-kernel-backup: if we are backing up vmlinuz-${FOO}, then also back up initrd-${FOO}.img if it exists. Don't try to match specific fields. a/xfsprogs-6.11.0-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. ap/mpg123-1.32.8-x86_64-1.txz: Upgraded. ap/sqlite-3.46.1-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. d/mercurial-6.8.2-x86_64-1.txz: Upgraded. d/python-pip-24.3.1-x86_64-1.txz: Upgraded. kde/kdeplasma-addons-5.27.11-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. kde/kdewebkit-5.116.0-x86_64-1.txz: Removed. Mothing uses this. Obsolete. kde/konsole-23.08.5-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. kde/plasma-workspace-5.27.11.1-x86_64-3.txz: Rebuilt. Recompiled against icu4c-76.1. l/M2Crypto-0.42.0-x86_64-1.txz: Removed. Nothing in Slackware has needed this since crda was removed, and very little elsewhere does. Thanks to lucabon. l/babl-0.1.110-x86_64-1.txz: Upgraded. l/boost-1.86.0-x86_64-3.txz: Rebuilt. Recompiled against icu4c-76.1. l/desktop-file-utils-0.28-x86_64-1.txz: Upgraded. l/gspell-1.14.0-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/harfbuzz-10.0.1-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/icu4c-76.1-x86_64-1.txz: Upgraded. Shared library .so-version bump. l/libcap-2.71-x86_64-1.txz: Upgraded. l/libical-3.0.18-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/libqalculate-5.3.0-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/liburing-2.8-x86_64-1.txz: Upgraded. l/libvisio-0.1.8-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/mozjs128-128.3.1esr-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/nodejs-20.18.0-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. l/qt5-5.15.15_20241016_9f395e3b-x86_64-1.txz: Upgraded. Compiled against icu4c-76.1. l/qt5-webkit-5.212.0_alpha4-x86_64-13.txz: Removed. Nothing uses this except kdewebkit, and nothing uses that. Plus it is unmaintained, obsolete, and likely full of holes. l/qt6-6.7.3_20240920_90e86aee-x86_64-4.txz: Rebuilt. Recompiled against icu4c-76.1. l/vte-0.78.1-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. n/dovecot-2.3.21.1-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. n/netatalk-4.0.3-x86_64-1.txz: Upgraded. n/php-8.3.13-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. n/postfix-3.9.0-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. n/samba-4.21.1-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. n/tin-2.6.3-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. t/texlive-2024.240409-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. extra/brltty/brltty-6.7-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. extra/sendmail/sendmail-8.18.1-x86_64-2.txz: Rebuilt. Recompiled against icu4c-76.1. extra/sendmail/sendmail-cf-8.18.1-noarch-2.txz: Rebuilt. Recompiled against icu4c-76.1.
2024-10-28 22:22:48 +01:00
# We are not removing symlinks here. We'll remove dangling ones later on.
if [ -L $initrd ]; then
continue
fi
# Find the identifying portion of the initrd's filename:
IDENTIFIER="$(basename $(echo $initrd | cut -f 2- -d -) .img)"
if [ ! -r vmlinuz-${IDENTIFIER} ]; then
ORPHANS_FOUND=true
if [ "$1" = "--dry-run" ]; then
echo "Would remove orphaned initrd: /boot/${initrd}"
else
echo "Removing orphaned initrd: /boot/${initrd}"
rm -f $initrd
fi
fi
done
if [ "$ORPHANS_FOUND" = "false" ]; then
echo "No orphaned initrds found in /boot."
fi
# Also handle initrd symlinks:
Tue Nov 26 22:05:37 UTC 2024 a/mkinitrd-1.4.11-x86_64-51.txz: Rebuilt. remove-orphaned-initrds: fix report about dangling symlinks from --dry-run. Thanks to Mechanikx. setup.01.mkinitrd: report if symlinks are created. ap/mariadb-11.4.4-x86_64-4.txz: Rebuilt. /etc/default/mariadb: it appears that the correct option to skip SSL is --skip-ssl as in mariadb(1), not the --disable-ssl that was mentioned on the changes-improvements-in-mariadb-11-4 page. Thanks to rocknrobin and Windu. l/mozjs128-128.5.0esr-x86_64-1.txz: Upgraded. n/netatalk-4.0.7-x86_64-1.txz: Upgraded. n/samba-4.21.2-x86_64-1.txz: Upgraded. xap/mozilla-firefox-128.5.0esr-x86_64-1.txz: Upgraded. This update contains security fixes and improvements. For more information, see: https://www.mozilla.org/en-US/firefox/128.5.0/releasenotes/ https://www.mozilla.org/security/advisories/mfsa2024-64 https://www.cve.org/CVERecord?id=CVE-2024-11691 https://www.cve.org/CVERecord?id=CVE-2024-11692 https://www.cve.org/CVERecord?id=CVE-2024-11693 https://www.cve.org/CVERecord?id=CVE-2024-11694 https://www.cve.org/CVERecord?id=CVE-2024-11695 https://www.cve.org/CVERecord?id=CVE-2024-11696 https://www.cve.org/CVERecord?id=CVE-2024-11697 https://www.cve.org/CVERecord?id=CVE-2024-11698 https://www.cve.org/CVERecord?id=CVE-2024-11699 (* Security fix *) xap/mozilla-thunderbird-128.5.0esr-x86_64-1.txz: Upgraded. This release contains security fixes and improvements. For more information, see: https://www.mozilla.org/en-US/thunderbird/128.5.0esr/releasenotes/ https://www.mozilla.org/en-US/security/advisories/mfsa2024-68/ https://www.cve.org/CVERecord?id=CVE-2024-11691 https://www.cve.org/CVERecord?id=CVE-2024-11692 https://www.cve.org/CVERecord?id=CVE-2024-11693 https://www.cve.org/CVERecord?id=CVE-2024-11694 https://www.cve.org/CVERecord?id=CVE-2024-11695 https://www.cve.org/CVERecord?id=CVE-2024-11696 https://www.cve.org/CVERecord?id=CVE-2024-11697 https://www.cve.org/CVERecord?id=CVE-2024-11698 https://www.cve.org/CVERecord?id=CVE-2024-11699 (* Security fix *)
2024-11-26 23:05:37 +01:00
if [ "$1" = "--dry-run" ]; then
for dangling_symlink in $(find . -name "initrd-*.img" -type l -printf '%P\n') $(find . -name "initrd.gz" -type l -printf '%P\n') ; do
if [ ! -r "$(readlink $dangling_symlink)" ]; then
echo "Would remove dangling initrd symlink: /boot/${dangling_symlink}"
else
IDENTIFIER="$(basename $(echo $(readlink $dangling_symlink) | cut -f 2- -d -) .img)"
if [ ! -r vmlinuz-${IDENTIFIER} ]; then
echo "Would remove dangling initrd symlink: /boot/${dangling_symlink}"
fi
fi
done
else
for dangling_symlink in $(find . -name "initrd-*.img" -xtype l -printf '%P\n') $(find . -name "initrd.gz" -xtype l -printf '%P\n') ; do
echo "Removing dangling initrd symlink: /boot/${dangling_symlink}"
rm -f $dangling_symlink
Tue Nov 26 22:05:37 UTC 2024 a/mkinitrd-1.4.11-x86_64-51.txz: Rebuilt. remove-orphaned-initrds: fix report about dangling symlinks from --dry-run. Thanks to Mechanikx. setup.01.mkinitrd: report if symlinks are created. ap/mariadb-11.4.4-x86_64-4.txz: Rebuilt. /etc/default/mariadb: it appears that the correct option to skip SSL is --skip-ssl as in mariadb(1), not the --disable-ssl that was mentioned on the changes-improvements-in-mariadb-11-4 page. Thanks to rocknrobin and Windu. l/mozjs128-128.5.0esr-x86_64-1.txz: Upgraded. n/netatalk-4.0.7-x86_64-1.txz: Upgraded. n/samba-4.21.2-x86_64-1.txz: Upgraded. xap/mozilla-firefox-128.5.0esr-x86_64-1.txz: Upgraded. This update contains security fixes and improvements. For more information, see: https://www.mozilla.org/en-US/firefox/128.5.0/releasenotes/ https://www.mozilla.org/security/advisories/mfsa2024-64 https://www.cve.org/CVERecord?id=CVE-2024-11691 https://www.cve.org/CVERecord?id=CVE-2024-11692 https://www.cve.org/CVERecord?id=CVE-2024-11693 https://www.cve.org/CVERecord?id=CVE-2024-11694 https://www.cve.org/CVERecord?id=CVE-2024-11695 https://www.cve.org/CVERecord?id=CVE-2024-11696 https://www.cve.org/CVERecord?id=CVE-2024-11697 https://www.cve.org/CVERecord?id=CVE-2024-11698 https://www.cve.org/CVERecord?id=CVE-2024-11699 (* Security fix *) xap/mozilla-thunderbird-128.5.0esr-x86_64-1.txz: Upgraded. This release contains security fixes and improvements. For more information, see: https://www.mozilla.org/en-US/thunderbird/128.5.0esr/releasenotes/ https://www.mozilla.org/en-US/security/advisories/mfsa2024-68/ https://www.cve.org/CVERecord?id=CVE-2024-11691 https://www.cve.org/CVERecord?id=CVE-2024-11692 https://www.cve.org/CVERecord?id=CVE-2024-11693 https://www.cve.org/CVERecord?id=CVE-2024-11694 https://www.cve.org/CVERecord?id=CVE-2024-11695 https://www.cve.org/CVERecord?id=CVE-2024-11696 https://www.cve.org/CVERecord?id=CVE-2024-11697 https://www.cve.org/CVERecord?id=CVE-2024-11698 https://www.cve.org/CVERecord?id=CVE-2024-11699 (* Security fix *)
2024-11-26 23:05:37 +01:00
done
fi