Date: Sun, 8 Mar 2026 16:05:06 -0700 (PDT) From: Roger Marquis <marquis@roble.com> To: freebsd-pkgbase@freebsd.org Subject: Re: 1600007 kernel, 1600012 userland: .pkgsave files Message-ID: <5opss904-ss99-s465-5390-7np1322r4386@mx.roble.com> In-Reply-To: <dec35660-6feb-4d99-9b8e-2d2b0820900c@gmail.com> References: <90097b6c-df74-40b1-b189-c94dd85d1ef5@gmail.com> <dec35660-6feb-4d99-9b8e-2d2b0820900c@gmail.com>
index | next in thread | previous in thread | raw e-mail
On Sun, 8 Mar 2026, Graham Perrin wrote:
>> root@maximal:~ # uname -KU
>> 1600007 1600012
>
> Resolved:
> find /boot -name '*.pkgsave' -delete
Or run this script as "pkgsave_cleanup /boot".
#!/bin/sh -
## pkgsave_cleanup
# Archive .pkgsave files created in multiple locations by messy upgrade apps,
# preserving the original path and deleting unchanged files.
## to do:
# Check-in as appropriate.
# See also: etcupdate, zfs snapshot, beadm, ...
PATH=/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin
set -a
DBPATH=/var/db/pkgsave/`date +%G%m%d%H%M`
SEARCHROOT=/
usage () {
echo " USAGE: `basename $0` [search_root]"
exit
}
if [ $# -gt 0 ]; then
if [ $# -gt 1 ] || [ $1 = -h ]; then
usage
elif [ ! -d $1 ]; then
echo " ERROR: directory $1 not found"
usage
else
SEARCHROOT=$1
fi
fi
for f in `find ${SEARCHROOT}/ -type f -name \*.pkgsave | grep -v $DBPATH` ; do
fori="`echo $f | sed 's/.pkgsave//'`"
diff $f $fori >/dev/null 2>&1
if [ $? = 0 ]; then
rm -f $f
else
oripath="`dirname $f`"
if [ ! -d $DBPATH/$oripath ]; then
mkdir -p $DBPATH/$oripath || exit 1
fi
mv -f $f $DBPATH/$oripath || exit 1
fi
done
if [ -d $DBPATH ]; then
echo
echo " Cleaned up: "
ls -lt `find $DBPATH/ -type f` | sed 's/^/ /'
echo
fi
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5opss904-ss99-s465-5390-7np1322r4386>
