Re: PKGBASE Removes FreeBSD Base System Feature
Date: Fri, 08 Aug 2025 15:03:41 UTC
Current 'vital' thing does NOTHING to protect FreeBSD Base System.
I literally just wiped one of my Jails because of this 'vital' protection.
That 'vital' thing is useless in current state after issuing this command:
# pkg delete -af
Log below.
Unbootable and unusable FreeBSD left after the command that only removed packages without PKGBASE and with PKGBASE you are left with dust.
Even /rescue is gone.
root@bsdinstalljail:/ # pkg info
FreeBSD-acct-14.1p1 System Accounting Utilities
FreeBSD-acct-man-14.1 System Accounting Utilities (Manual Pages)
FreeBSD-acpi-14.1 ACPI Utilities
(...)
FreeBSD-zfs-dev-14.1p1 ZFS Libraries and Utilities (Development Files)
FreeBSD-zfs-man-14.1 ZFS Libraries and Utilities (Manual Pages)
FreeBSD-zoneinfo-14.1p7 zoneinfo package
beadm-1.3.5_1 Solaris-like utility to manage Boot Environments on ZFS
pkg-2.2.1 Package manager
root@bsdinstalljail:/ # pkg delete -af
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 271 packages (of 0 packages in the universe):
Installed packages to be REMOVED:
FreeBSD-acct: 14.1p1
FreeBSD-acct-man: 14.1
FreeBSD-acpi: 14.1
(...)
[bsdinstalljail.lab.org] [268/271] Deleting files for FreeBSD-zfs-man-14.1: 100%
[bsdinstalljail.lab.org] [269/271] Deinstalling FreeBSD-zoneinfo-14.1p7...
[bsdinstalljail.lab.org] [269/271] Deleting files for FreeBSD-zoneinfo-14.1p7: 100%
[bsdinstalljail.lab.org] [270/271] Deinstalling beadm-1.3.5_1...
[bsdinstalljail.lab.org] [270/271] Deleting files for beadm-1.3.5_1: 100%
[bsdinstalljail.lab.org] [271/271] Deinstalling pkg-2.2.1...
[bsdinstalljail.lab.org] [271/271] Deleting files for pkg-2.2.1: 100%
pkg: Cannot runscript POST-DEINSTALL:No such file or directory
You may need to manually remove /usr/local/etc/pkg.conf if it is no longer needed.
root@bsdinstalljail:/ # ls
/bin/sh: ls: not found
root@bsdinstalljail:/ # vi
/bin/sh: vi: not found
root@bsdinstalljail:/ # pkg
/bin/sh: pkg: not found
root@bsdinstalljail:/ # pkg-static
/bin/sh: pkg-static: not found
root@bsdinstalljail:/ # reboot
/bin/sh: reboot: not found
root@bsdinstalljail:/ # goodbye
/bin/sh: goodbye: not found
root@bsdinstalljail:/ # /rescue/ls /rescue
/bin/sh: /rescue/ls: not found
root@bsdinstalljail:/ # /rescue/ls.pkgsave /rescue
rescue: ls.pkgsave not compiled in
usage: rescue <prog> <args> ..., where <prog> is one of:
cat chflags chio chmod cp date dd df echo ed red expr getfacl hostname kenv
kill ln link ls mkdir mv pkill pgrep ps pwd realpath rm unlink rmdir setfacl
sh -sh sleep stty sync test [ csh -csh tcsh -tcsh camcontrol clri devfs dmesg
dump rdump dumpfs dumpon fsck fsck_ffs fsck_4.2bsd fsck_ufs fsck_msdosfs fsdb
fsirand gbde geom glabel gpart ifconfig init kldconfig kldload kldstat
kldunload ldconfig md5 mdconfig mdmfs mknod mount mount_cd9660 mount_msdosfs
mount_nfs mount_nullfs mount_udf mount_unionfs newfs newfs_msdos nos-tun
reboot fastboot halt fasthalt restore rrestore rcorder route savecore shutdown
poweroff swapon sysctl tunefs umount ccdconfig ping ping6 rtsol ipf routed
rtquery bectl zfs zpool bsdlabel disklabel fdisk dhclient head mt sed tail tee
gzip gunzip gzcat zcat bzip2 bunzip2 bzcat less more xz unxz lzma unlzma xzcat
lzcat zstd unzstd zstdcat zstdmt fetch tar nc vi ex id groups whoami iscsictl
zdb chroot chown chgrp iscsid rescue
Temat: Re: PKGBASE Removes FreeBSD Base System Feature
Data: 2025-08-08 10:31
Nadawca: "Dag-Erling Smørgrav" <des@FreeBSD.org>
Adresat: sthaug@nethelp.no;
DW: freebsd-current@freebsd.org; freebsd-stable@freebsd.org;
>
>> sthaug@nethelp.no writes:
>> - It's important to have a clean separation between the base system
>> (whether that is installed using the package system or not) and the
>> rest. An easy way to list "these are the base system packages" is
>> absolutely needed.
>
> You can easily create an alias for this:
>
> pkg query -e '%o = base' %n
>
> If you want something closer to `pkg info`, try:
>
> pkg query -e '%o = base' '%n-%v %c' | column -tl 2
>
>> - Maybe there should be an extra step if you try to delete packages
>> from the base system?
>
> There already is:
>
> % sudo pkg delete FreeBSD-clibs
> Checking integrity... done (0 conflicting)
> The following package(s) are locked or vital and may not be
removed:
>
> FreeBSD-clibs
>
> 1 packages requested for removal: 1 locked, 0 missing
>
> The only matter that remains to be settled is which packages should be
> marked vital:
>
> % pkg query -e '%V = 1' %n
> FreeBSD-clibs
> FreeBSD-runtime
>
> DES
> --
> Dag-Erling Smørgrav - des@FreeBSD.org
>
>
>