slackware-current/source/a/mkinitrd/remove-orphaned-initrds
Patrick J Volkerding aae4a0adca 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-27 00:34:09 +01:00

80 lines
3 KiB
Bash

#!/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
cd /boot
for initrd in initrd-*.img ; do
if [ ! -r $initrd ]; then
continue
fi
# 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:
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
done
fi