Updating FreeBSD With ZFS Boot Environments (beadm)

I recall there was discussion on the -o wasn't sure if it made it into anything for 13.0-RELEASE (I think currently it's at p11).
 
Considering the OP perhaps somewhat unfortunate that with these latest messages we're taking a deeper dive into BEs—and bectl.


There is a difference in complexities, impact of changes and usefulness of keeping old BEs around or on stand by, when:
  • going from one patch level to the next one, as in going from FreeBSD 13.0-p5 FreeBSD 13.0-p6
  • going from one RC to the next one, as in going from FreeBSD 13.1-RC4 to FreeBSD 13.1-RC5
  • going from 13.0-RELEASE to 13.1-RELEASE; this is a minor version upgrade
  • going from 12.2-RELEASE to 13.1-RELEASE; this is a major version upgrade
This difference may relate to how users perceive the necessity to being able to go back (to a previous BE).

Your command sequence shows an upgrade from 13.0-RELEASE to 13.1-RELEASE (right now, the latter does not exist), immediately after installing 13.1-RELEASE you are destroying the 13.0-RELEASE BE. That may be exactly what you want but one might prefer to keep that one around a little bit longer—especially if that is your only one of the 13.0-RELEASE. Sometimes upgrade problems may only show up after some time and it would be useful to be able to easily fall back to an old working BE—even though the underlying origin has not been destroyed.

There used to be when bectl first came out, but there was a commit which made it do it automatically and made the behaviour of bectl identical to beadm.
I think the circumstances are somewhat different; looking at the commit message:
bectl(8): destroy: use BE_DESTROY_AUTOORIGIN if -o is not specified

-o will force the origin to be destroyed unconditionally.
BE_DESTROY_AUTOORIGIN, on the other hand, will only destroy the origin if it
matches the format used by be_snapshot. This lets us clean up the snapshots
that are clearly not user-managed (because we're creating them) while
leaving user-created snapshots in place and warning that they're still
around when the BE created goes away.
The way I interpret this commit message is that if the -o option is not used, and when the origin of the BE (i.e. the snapshot on which it is based) is clearly not user-managed then the origin is destroyed. When it is user-managed the origin it is not destroyed. If this is to be interpreted in another way, I'd like to know.

Non-user-managed BEs would probably be those BEs that are generated by the (more than one) freebsd-update commands normally needed (see earlier message about the auto creation of BEs when using freebsd-update). If I understand xtaz's command sequence correctly, you're bypassing that by using a mnt as target for the successive freebsd-update's that is "not-active", that is: not part of the running OS; resulting in needing only one reboot.

Would there be any benefit to adding "-o" on the bectl destroy? That would avoid a hidden build up of snapshots and such.
I guess that you won't be able to destroy the underlying origin (snapshot) of the 13.0-RELEASE BE, especially when the origin is user-managed. This is because the 13.1-RELEASE BE depends on the 13.0-RELEASE BE. When you cloned it (as part of the creation of the 13.1-RELEASE BE a clone was made), the clone of the 13.1-RELEASE depends on the snapshot of the 13.0-RELEASE. If this is indeed the case, then you'll have to use zfs promote ( zfs-promote(8) ); see Promoting Clones in Advanced ZFS Snapshots

zpool upgrade -a
This might not be a good idea and in general I would recommend not doing that—at least not immediately. I think 13.1-RELEASE is based on a new OpenZFS version (compared to 13.0-RELEASE), so possibly it has new pool features. Using zpool upgrade -a is like burning one's bridges: you'll have no fall back option. Booting from an external 13.0-RELEASE source, such as an image on a flash drive, will fail to use the pool that has the new features activated. zpool-upgrade(8):
Code:
DESCRIPTION
     zpool upgrade
	     Displays pools which do not have all supported features enabled
	     and pools formatted using a legacy	ZFS version number.  These
	     pools can continue to be used, but some features may not be
	     available. Use zpool upgrade -a to enable all features on all
	     pools.

zpool status testmentions this*:
Code:
# zpool status test
pool:   test
state:  ONLINE
status: The pool is formatted using an older on-disk format. The pool can
        still be used, but some features are unavailable.
action: Upgrade the pool using ’zpool upgrade’. Once this is done, the
        pool will no longer be accessible on older software versions.
In general: leave your pool features alone if you might possibly need to revert an OS upgrade.

___
* see also: the section More Information in Should I Upgrade to OpenZFS 2.1?
 
All good points and I agree with everything you’ve said. I take more risks, for me if it works on boot then I will fix forward rather than revert.

I edited the release names slightly to make it more generic rather than having RC4 and RC5 in there as I mentioned in the original post.

However, I may have picked the wrong commit, I’m not sure now, but in the past without -o it did leave snapshots around but roughly since the time of that commit it doesn’t any longer.

I ran it this morning to upgrade to RC5 without -o and it deleted the snapshot.
 
pkg-static -c /mnt upgrade -f

As far as I can tell, the resulting upgrades are not logged.

An upgrade:

Code:
root@mowa219-gjp4-8570p-freebsd:~ # file /tmp/up
/tmp/up: cannot open `/tmp/up' (No such file or directory)
root@mowa219-gjp4-8570p-freebsd:~ # pkg clean -a
Nothing to do.
root@mowa219-gjp4-8570p-freebsd:~ # pkg autoremove
Checking integrity... done (0 conflicting)
Nothing to do.
root@mowa219-gjp4-8570p-freebsd:~ # bectl list -c creation
BE                    Active Mountpoint Space Created
n250511-5f73b3338ee-d -      -          4.94G 2021-11-13 15:43
n252381-75d20a5e386-b -      -          6.81G 2022-01-12 23:23
n252450-5efa7281a79-a -      -          6.49G 2022-01-14 19:27
n252483-c8f8299a230-b -      -          4.84G 2022-01-17 14:24
n252505-cc68614da82-a -      -          4.90G 2022-01-18 14:26
n252531-0ce7909cd0b-h -      -          5.71G 2022-02-06 12:24
n252997-b6724f7004c-c -      -          6.17G 2022-02-11 23:07
n253116-39a36707bd3-e -      -          5.66G 2022-02-20 07:03
n253343-9835900cb95-c -      -          1.54G 2022-02-27 14:58
n253776-d5ad1713cc3-b -      -          7.94G 2022-03-18 09:31
n253861-92e6b4712b5-e -      -          7.41G 2022-04-02 16:02
n254268-50e244964e9-d -      -          6.62G 2022-04-09 18:50
n254693-d7696096209-f -      -          1.01G 2022-04-27 17:41
n255078-e140d551b78-a NR     /          198G  2022-04-28 01:33
root@mowa219-gjp4-8570p-freebsd:~ # bectl create n255078-e140d551b78-b
root@mowa219-gjp4-8570p-freebsd:~ # bectl mount n255078-e140d551b78-b /tmp/up
Successfully mounted n255078-e140d551b78-b at /tmp/up
root@mowa219-gjp4-8570p-freebsd:~ # mount -t devfs devfs /tmp/up/dev
root@mowa219-gjp4-8570p-freebsd:~ # pkg-static -c /tmp/up upgrade
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
Updating poudriere repository catalogue...
pkg-static: file:///usr/local/poudriere/data/packages/main-default/meta.txz: No such file or directory
repository poudriere has no meta file, using default settings
pkg-static: file:///usr/local/poudriere/data/packages/main-default/packagesite.pkg: No such file or directory
pkg-static: file:///usr/local/poudriere/data/packages/main-default/packagesite.txz: No such file or directory
Unable to update repository poudriere
Error updating repositories!
root@mowa219-gjp4-8570p-freebsd:~ # pkg-static -c /tmp/up upgrade -r FreeBSD
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (62 candidates): 100%
Processing candidates (62 candidates): 100%
The following 64 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        gssdp14: 1.4.0.1 [FreeBSD]
        gupnp14: 1.4.3 [FreeBSD]
        libsoup3: 3.0.3_4 [FreeBSD]

Installed packages to be UPGRADED:
        atril: 1.26.0_6 -> 1.26.0_7 [FreeBSD]
        cantor: 22.04.0_2 -> 22.04.0_3 [FreeBSD]
        cups-filters: 1.28.10_3 -> 1.28.10_4 [FreeBSD]
        efl: 1.26.2_2 -> 1.26.2_3 [FreeBSD]
        eog: 42.0 -> 42.1 [FreeBSD]
        firefox: 99.0.1_2,2 -> 100.0,2 [FreeBSD]
        freerdp: 2.6.1 -> 2.7.0 [FreeBSD]
        gdal: 3.4.2_2 -> 3.4.2_3 [FreeBSD]
        gegl: 0.4.34_2 -> 0.4.34_3 [FreeBSD]
        gimp-app: 2.10.30_2,1 -> 2.10.30_3,1 [FreeBSD]
        gnome-online-accounts: 3.40.1_2 -> 3.44.0 [FreeBSD]
        goffice: 0.10.50_2 -> 0.10.52 [FreeBSD]
        graphene: 1.10.6 -> 1.10.8 [FreeBSD]
        graphviz: 2.50.0_1 -> 2.50.0_2 [FreeBSD]
        gssdp: 1.4.0.1 -> 1.5.0 [FreeBSD]
        gupnp: 1.4.3_2 -> 1.5.0 [FreeBSD]
        inkscape: 1.1.2_3 -> 1.1.2_4 [FreeBSD]
        keepassxc: 2.7.0 -> 2.7.1 [FreeBSD]
        kf5-kfilemetadata: 5.93.0 -> 5.93.0_1 [FreeBSD]
        kitinerary: 22.04.0_3 -> 22.04.0_4 [FreeBSD]
        libgcrypt: 1.9.4 -> 1.9.4_1 [FreeBSD]
        libgxps: 0.3.1 -> 0.3.2 [FreeBSD]
        libhandy: 1.6.1 -> 1.6.2 [FreeBSD]
        libmediaart: 1.9.5 -> 1.9.5_1 [FreeBSD]
        libpci: 3.7.0_1 -> 3.8.0 [FreeBSD]
        libreoffice: 7.3.2.2_2 -> 7.3.2.2_4 [FreeBSD]
        libsecret: 0.20.4_2 -> 0.20.5 [FreeBSD]
        libunwind: 20211201 -> 20211201_1 [FreeBSD]
        lumina-pdf: 1.6.2_1 -> 1.6.2_2 [FreeBSD]
        meson: 0.62.0 -> 0.62.1 [FreeBSD]
        nano: 6.0 -> 6.2 [FreeBSD]
        nnn: 4.4 -> 4.5 [FreeBSD]
        obs-studio: 27.2.3_1 -> 27.2.4 [FreeBSD]
        okular: 22.04.0_1 -> 22.04.0_2 [FreeBSD]
        pciutils: 3.7.0 -> 3.8.0 [FreeBSD]
        phoronix-test-suite-php80: 10.8.2 -> 10.8.3 [FreeBSD]
        poppler: 22.01.0_1 -> 22.04.0 [FreeBSD]
        poppler-glib: 22.01.0_1 -> 22.04.0 [FreeBSD]
        poppler-qt5: 22.01.0_1 -> 22.04.0 [FreeBSD]
        poppler-utils: 22.01.0_1 -> 22.04.0 [FreeBSD]
        protobuf: 3.20.0,1 -> 3.20.1,1 [FreeBSD]
        py38-atspi: 2.38.1 -> 2.38.2 [FreeBSD]
        py38-metadata-cleaner: 2.2.1 -> 2.2.2 [FreeBSD]
        py38-pdftotext: 2.2.2_1 -> 2.2.2_2 [FreeBSD]
        py38-pikepdf: 5.1.1 -> 5.1.2 [FreeBSD]
        py38-pyzmq: 22.3.0 -> 22.3.0_1 [FreeBSD]
        py38-typing-extensions: 4.1.1 -> 4.2.0 [FreeBSD]
        python38: 3.8.13 -> 3.8.13_1 [FreeBSD]
        python39: 3.9.12 -> 3.9.12_1 [FreeBSD]
        qpdfview: 0.4.18_27 -> 0.4.18_28 [FreeBSD]
        ruby30-gems: 3.3.11 -> 3.3.12 [FreeBSD]
        sane-backends: 1.1.1_3 -> 1.1.1_4 [FreeBSD]
        sdl2: 2.0.20_1 -> 2.0.22 [FreeBSD]
        simplescreenrecorder: 0.4.3_2 -> 0.4.4 [FreeBSD]
        texlive-base: 20210325_2 -> 20210325_3 [FreeBSD]
        texworks: 0.6.2_38 -> 0.6.2_39 [FreeBSD]
        tikzit: 2.1.6_14 -> 2.1.6_15 [FreeBSD]
        tor: 0.4.6.10 -> 0.4.7.7 [FreeBSD]
        xfce4-tumbler: 4.16.0_15 -> 4.16.0_16 [FreeBSD]
        xournal: 0.4.8.2016_35 -> 0.4.8.2016_36 [FreeBSD]
        xreader: 3.2.2_4 -> 3.2.2_5 [FreeBSD]

Number of packages to be installed: 3
Number of packages to be upgraded: 61

The operation will free 38 MiB.
358 MiB to be downloaded.

Proceed with this action? [y/N]: y
[1/64] Fetching xreader-3.2.2_5.pkg: 100%  880 KiB 901.6kB/s    00:01   
[2/64] Fetching xournal-0.4.8.2016_36.pkg: 100%  227 KiB 232.5kB/s    00:01   
[3/64] Fetching xfce4-tumbler-4.16.0_16.pkg: 100%  143 KiB 146.8kB/s    00:01   
[4/64] Fetching tor-0.4.7.7.pkg: 100%    2 MiB   2.3MB/s    00:01   
[5/64] Fetching tikzit-2.1.6_15.pkg: 100%  303 KiB 309.8kB/s    00:01   
[6/64] Fetching texworks-0.6.2_39.pkg: 100%    2 MiB   2.4MB/s    00:01   
[7/64] Fetching texlive-base-20210325_3.pkg: 100%    4 MiB   4.5MB/s    00:01   
[8/64] Fetching simplescreenrecorder-0.4.4.pkg: 100%    1 MiB   1.3MB/s    00:01   
[9/64] Fetching sdl2-2.0.22.pkg: 100%    1 MiB   1.1MB/s    00:01   
[10/64] Fetching sane-backends-1.1.1_4.pkg: 100%    4 MiB   3.9MB/s    00:01   
[11/64] Fetching ruby30-gems-3.3.12.pkg: 100%  432 KiB 442.1kB/s    00:01   
[12/64] Fetching qpdfview-0.4.18_28.pkg: 100%  588 KiB 602.3kB/s    00:01   
[13/64] Fetching python39-3.9.12_1.pkg: 100%   18 MiB   6.1MB/s    00:03   
[14/64] Fetching python38-3.8.13_1.pkg: 100%   18 MiB   6.1MB/s    00:03   
[15/64] Fetching py38-typing-extensions-4.2.0.pkg: 100%   33 KiB  34.0kB/s    00:01   
[16/64] Fetching py38-pyzmq-22.3.0_1.pkg: 100%  400 KiB 409.4kB/s    00:01   
[17/64] Fetching py38-pikepdf-5.1.2.pkg: 100%  429 KiB 439.8kB/s    00:01   
[18/64] Fetching py38-pdftotext-2.2.2_2.pkg: 100%    8 KiB   8.5kB/s    00:01   
[19/64] Fetching py38-metadata-cleaner-2.2.2.pkg: 100%  161 KiB 165.3kB/s    00:01   
[20/64] Fetching py38-atspi-2.38.2.pkg: 100%   62 KiB  63.3kB/s    00:01   
[21/64] Fetching protobuf-3.20.1,1.pkg: 100%    3 MiB   3.2MB/s    00:01   
[22/64] Fetching poppler-utils-22.04.0.pkg: 100%  169 KiB 172.8kB/s    00:01   
[23/64] Fetching poppler-qt5-22.04.0.pkg: 100%  179 KiB 183.0kB/s    00:01   
[24/64] Fetching poppler-glib-22.04.0.pkg: 100%  195 KiB 199.6kB/s    00:01   
[25/64] Fetching poppler-22.04.0.pkg: 100%    1 MiB   1.1MB/s    00:01   
[26/64] Fetching phoronix-test-suite-php80-10.8.3.pkg: 100%    2 MiB   2.5MB/s    00:01   
[27/64] Fetching pciutils-3.8.0.pkg: 100%   55 KiB  56.1kB/s    00:01   
[28/64] Fetching okular-22.04.0_2.pkg: 100%    6 MiB   6.6MB/s    00:01   
[29/64] Fetching obs-studio-27.2.4.pkg: 100%    5 MiB   5.1MB/s    00:01   
[30/64] Fetching nnn-4.5.pkg: 100%  111 KiB 113.9kB/s    00:01   
[31/64] Fetching nano-6.2.pkg: 100%  568 KiB 581.7kB/s    00:01   
[32/64] Fetching meson-0.62.1.pkg: 100%    1 MiB   1.3MB/s    00:01   
[33/64] Fetching lumina-pdf-1.6.2_2.pkg: 100%   66 KiB  67.8kB/s    00:01   
[34/64] Fetching libunwind-20211201_1.pkg: 100%  127 KiB 130.0kB/s    00:01   
[35/64] Fetching libsecret-0.20.5.pkg: 100%  163 KiB 166.9kB/s    00:01   
[36/64] Fetching libreoffice-7.3.2.2_4.pkg: 100%  124 MiB   5.9MB/s    00:22   
[37/64] Fetching libpci-3.8.0.pkg: 100%   54 KiB  55.6kB/s    00:01   
[38/64] Fetching libmediaart-1.9.5_1.pkg: 100%   50 KiB  51.2kB/s    00:01   
[39/64] Fetching libhandy-1.6.2.pkg: 100%  427 KiB 437.2kB/s    00:01   
[40/64] Fetching libgxps-0.3.2.pkg: 100%   86 KiB  87.8kB/s    00:01   
[41/64] Fetching libgcrypt-1.9.4_1.pkg: 100%  839 KiB 858.9kB/s    00:01   
[42/64] Fetching kitinerary-22.04.0_4.pkg: 100%  925 KiB 947.2kB/s    00:01   
[43/64] Fetching kf5-kfilemetadata-5.93.0_1.pkg: 100%  167 KiB 171.4kB/s    00:01   
[44/64] Fetching keepassxc-2.7.1.pkg: 100%    7 MiB   7.4MB/s    00:01   
[45/64] Fetching inkscape-1.1.2_4.pkg: 100%   17 MiB   5.8MB/s    00:03   
[46/64] Fetching gupnp-1.5.0.pkg: 100%  114 KiB 116.6kB/s    00:01   
[47/64] Fetching gssdp-1.5.0.pkg: 100%   44 KiB  45.0kB/s    00:01   
[48/64] Fetching graphviz-2.50.0_2.pkg: 100%    3 MiB   2.7MB/s    00:01   
[49/64] Fetching graphene-1.10.8.pkg: 100%  194 KiB 198.9kB/s    00:01   
[50/64] Fetching goffice-0.10.52.pkg: 100%    2 MiB   2.1MB/s    00:01   
[51/64] Fetching gnome-online-accounts-3.44.0.pkg: 100%  559 KiB 572.6kB/s    00:01   
[52/64] Fetching gimp-app-2.10.30_3,1.pkg: 100%   18 MiB   6.4MB/s    00:03   
[53/64] Fetching gegl-0.4.34_3.pkg: 100%    2 MiB   2.2MB/s    00:01   
[54/64] Fetching gdal-3.4.2_3.pkg: 100%   17 MiB   5.8MB/s    00:03   
[55/64] Fetching freerdp-2.7.0.pkg: 100%    1 MiB   1.4MB/s    00:01   
[56/64] Fetching firefox-100.0,2.pkg: 100%   55 MiB   5.8MB/s    00:10   
[57/64] Fetching eog-42.1.pkg: 100%    1 MiB   1.1MB/s    00:01   
[58/64] Fetching efl-1.26.2_3.pkg: 100%   29 MiB   6.2MB/s    00:05   
[59/64] Fetching cups-filters-1.28.10_4.pkg: 100%  887 KiB 907.8kB/s    00:01   
[60/64] Fetching cantor-22.04.0_3.pkg: 100%    2 MiB   2.1MB/s    00:01   
[61/64] Fetching atril-1.26.0_7.pkg: 100%    1 MiB   1.4MB/s    00:01   
[62/64] Fetching gssdp14-1.4.0.1.pkg: 100%   44 KiB  44.6kB/s    00:01   
[63/64] Fetching gupnp14-1.4.3.pkg: 100%  115 KiB 117.4kB/s    00:01   
[64/64] Fetching libsoup3-3.0.3_4.pkg: 100%  343 KiB 351.1kB/s    00:01   
Checking integrity... done (2 conflicting)
  - gssdp14-1.4.0.1 [FreeBSD] conflicts with gssdp-1.4.0.1 [installed] on /usr/local/include/gssdp-1.2/libgssdp/gssdp-client.h
  - gupnp14-1.4.3 [FreeBSD] conflicts with gupnp-1.4.3_2 [installed] on /usr/local/bin/gupnp-binding-tool-1.2
Checking integrity... done (0 conflicting)
Conflicts with the existing packages have been found.
One more solver iteration is needed to resolve them.
The following 66 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        gssdp14: 1.4.0.1 [FreeBSD]
        gupnp14: 1.4.3 [FreeBSD]
        libsoup3: 3.0.3_4 [FreeBSD]

Installed packages to be UPGRADED:
        atril: 1.26.0_6 -> 1.26.0_7 [FreeBSD]
        cantor: 22.04.0_2 -> 22.04.0_3 [FreeBSD]
        cups-filters: 1.28.10_3 -> 1.28.10_4 [FreeBSD]
        efl: 1.26.2_2 -> 1.26.2_3 [FreeBSD]
        eog: 42.0 -> 42.1 [FreeBSD]
        firefox: 99.0.1_2,2 -> 100.0,2 [FreeBSD]
        freerdp: 2.6.1 -> 2.7.0 [FreeBSD]
        gdal: 3.4.2_2 -> 3.4.2_3 [FreeBSD]
        gegl: 0.4.34_2 -> 0.4.34_3 [FreeBSD]
        gimp-app: 2.10.30_2,1 -> 2.10.30_3,1 [FreeBSD]
        gnome-online-accounts: 3.40.1_2 -> 3.44.0 [FreeBSD]
        goffice: 0.10.50_2 -> 0.10.52 [FreeBSD]
        graphene: 1.10.6 -> 1.10.8 [FreeBSD]
        graphviz: 2.50.0_1 -> 2.50.0_2 [FreeBSD]
        gssdp: 1.4.0.1 -> 1.5.0 [FreeBSD]
        inkscape: 1.1.2_3 -> 1.1.2_4 [FreeBSD]
        keepassxc: 2.7.0 -> 2.7.1 [FreeBSD]
        kf5-kfilemetadata: 5.93.0 -> 5.93.0_1 [FreeBSD]
        kitinerary: 22.04.0_3 -> 22.04.0_4 [FreeBSD]
        libgcrypt: 1.9.4 -> 1.9.4_1 [FreeBSD]
        libgxps: 0.3.1 -> 0.3.2 [FreeBSD]
        libhandy: 1.6.1 -> 1.6.2 [FreeBSD]
        libmediaart: 1.9.5 -> 1.9.5_1 [FreeBSD]
        libpci: 3.7.0_1 -> 3.8.0 [FreeBSD]
        libreoffice: 7.3.2.2_2 -> 7.3.2.2_4 [FreeBSD]
        libsecret: 0.20.4_2 -> 0.20.5 [FreeBSD]
        libunwind: 20211201 -> 20211201_1 [FreeBSD]
        lumina-pdf: 1.6.2_1 -> 1.6.2_2 [FreeBSD]
        meson: 0.62.0 -> 0.62.1 [FreeBSD]
        nano: 6.0 -> 6.2 [FreeBSD]
        nnn: 4.4 -> 4.5 [FreeBSD]
        obs-studio: 27.2.3_1 -> 27.2.4 [FreeBSD]
        okular: 22.04.0_1 -> 22.04.0_2 [FreeBSD]
        pciutils: 3.7.0 -> 3.8.0 [FreeBSD]
        phoronix-test-suite-php80: 10.8.2 -> 10.8.3 [FreeBSD]
        poppler: 22.01.0_1 -> 22.04.0 [FreeBSD]
        poppler-glib: 22.01.0_1 -> 22.04.0 [FreeBSD]
        poppler-qt5: 22.01.0_1 -> 22.04.0 [FreeBSD]
        poppler-utils: 22.01.0_1 -> 22.04.0 [FreeBSD]
        protobuf: 3.20.0,1 -> 3.20.1,1 [FreeBSD]
        py38-atspi: 2.38.1 -> 2.38.2 [FreeBSD]
        py38-metadata-cleaner: 2.2.1 -> 2.2.2 [FreeBSD]
        py38-pdftotext: 2.2.2_1 -> 2.2.2_2 [FreeBSD]
        py38-pikepdf: 5.1.1 -> 5.1.2 [FreeBSD]
        py38-pyzmq: 22.3.0 -> 22.3.0_1 [FreeBSD]
        py38-typing-extensions: 4.1.1 -> 4.2.0 [FreeBSD]
        python38: 3.8.13 -> 3.8.13_1 [FreeBSD]
        python39: 3.9.12 -> 3.9.12_1 [FreeBSD]
        qpdfview: 0.4.18_27 -> 0.4.18_28 [FreeBSD]
        ruby30-gems: 3.3.11 -> 3.3.12 [FreeBSD]
        sane-backends: 1.1.1_3 -> 1.1.1_4 [FreeBSD]
        sdl2: 2.0.20_1 -> 2.0.22 [FreeBSD]
        simplescreenrecorder: 0.4.3_2 -> 0.4.4 [FreeBSD]
        texlive-base: 20210325_2 -> 20210325_3 [FreeBSD]
        texworks: 0.6.2_38 -> 0.6.2_39 [FreeBSD]
        tikzit: 2.1.6_14 -> 2.1.6_15 [FreeBSD]
        tor: 0.4.6.10 -> 0.4.7.7 [FreeBSD]
        xfce4-tumbler: 4.16.0_15 -> 4.16.0_16 [FreeBSD]
        xournal: 0.4.8.2016_35 -> 0.4.8.2016_36 [FreeBSD]
        xreader: 3.2.2_4 -> 3.2.2_5 [FreeBSD]

Installed packages to be REINSTALLED:
        pkg-1.17.5_1 [FreeBSD]

Number of packages to be installed: 3
Number of packages to be upgraded: 60
Number of packages to be reinstalled: 1

The operation will free 38 MiB.
8 MiB to be downloaded.

Proceed with this action? [y/N]: y
[1/1] Fetching pkg-1.17.5_1.pkg: 100%    8 MiB   4.3MB/s    00:02   
[1/66] Upgrading python38 from 3.8.13 to 3.8.13_1...
[1/66] Extracting python38-3.8.13_1: 100%
…
root@mowa219-gjp4-8570p-freebsd:~ # umount /tmp/up/dev
root@mowa219-gjp4-8570p-freebsd:~ # grep firefox-100 /tmp/up/var/log/messages
grep: /tmp/up/var/log/messages: No such file or directory
root@mowa219-gjp4-8570p-freebsd:~ # bectl umount n255078-e140d551b78-b
root@mowa219-gjp4-8570p-freebsd:~ # grep firefox-100 /var/log/messages
root@mowa219-gjp4-8570p-freebsd:~ # bectl destroy n255078-e140d551b78-b
root@mowa219-gjp4-8570p-freebsd:~ # rm -r /tmp/up
root@mowa219-gjp4-8570p-freebsd:~ #
 
An upgrade of packages, with logging, using the --rootdir option of pkg(8):

Code:
root@mowa219-gjp4-8570p-freebsd:~ # file /tmp/up
/tmp/up: cannot open `/tmp/up' (No such file or directory)
root@mowa219-gjp4-8570p-freebsd:~ # du -hs /var/cache/pkg
1.5M    /var/cache/pkg
root@mowa219-gjp4-8570p-freebsd:~ # bectl create n255078-e140d551b78-b
root@mowa219-gjp4-8570p-freebsd:~ # bectl mount n255078-e140d551b78-b /tmp/up
Successfully mounted n255078-e140d551b78-b at /tmp/up
root@mowa219-gjp4-8570p-freebsd:~ # time pkg -r /tmp/up upgrade --fetch-only --quiet --yes
Conflicts with the existing packages have been found.
One more solver iteration is needed to resolve them.
13.197u 9.230s 1:58.92 18.8%    2487+519k 1965+45686io 2950pf+0w
root@mowa219-gjp4-8570p-freebsd:~ # time pkg -r /tmp/up upgrade --quiet --yes
===> Creating groups.
Using existing group '_tor'.
===> Creating users
Using existing user '_tor'.
===> Creating homedir(s)
===> Creating groups.
Using existing group 'saned'.
===> Creating users
Using existing user 'saned'.
=====
Message from qpdfview-0.4.18_28:

--
===>   NOTICE:

The qpdfview port currently does not have a maintainer. As a result, it is
more likely to have unresolved issues, not be up-to-date, or even be removed in
the future. To volunteer to maintain this port, please create an issue at:

https://bugs.freebsd.org/bugzilla

More information about port maintainership is available at:

https://docs.freebsd.org/en/articles/contributing/#ports-contributing
44.331u 49.918s 5:12.33 30.1%   2361+519k 21045+152460io 953pf+0w
root@mowa219-gjp4-8570p-freebsd:~ # grep firefox-100 /var/log/messages
root@mowa219-gjp4-8570p-freebsd:~ # grep firefox\ upgraded /var/log/messages
Apr 30 18:35:14 mowa219-gjp4-8570p-freebsd pkg[15148]: firefox upgraded: 99.0.1_2,2 -> 100.0,2
root@mowa219-gjp4-8570p-freebsd:~ # bectl umount n255078-e140d551b78-b
root@mowa219-gjp4-8570p-freebsd:~ # bectl activate n255078-e140d551b78-b
Successfully activated boot environment n255078-e140d551b78-b
root@mowa219-gjp4-8570p-freebsd:~ # bectl list -c creation
BE                    Active Mountpoint Space Created
n250511-5f73b3338ee-d -      -          4.94G 2021-11-13 15:43
n252381-75d20a5e386-b -      -          6.81G 2022-01-12 23:23
n252450-5efa7281a79-a -      -          6.49G 2022-01-14 19:27
n252483-c8f8299a230-b -      -          4.84G 2022-01-17 14:24
n252505-cc68614da82-a -      -          4.90G 2022-01-18 14:26
n252531-0ce7909cd0b-h -      -          5.71G 2022-02-06 12:24
n252997-b6724f7004c-c -      -          6.17G 2022-02-11 23:07
n253116-39a36707bd3-e -      -          5.66G 2022-02-20 07:03
n253343-9835900cb95-c -      -          1.54G 2022-02-27 14:58
n253776-d5ad1713cc3-b -      -          7.94G 2022-03-18 09:31
n253861-92e6b4712b5-e -      -          7.41G 2022-04-02 16:02
n254268-50e244964e9-d -      -          6.62G 2022-04-09 18:50
n254693-d7696096209-f -      -          1.01G 2022-04-27 17:41
n255078-e140d551b78-a N      /          15.5M 2022-04-28 01:33
n255078-e140d551b78-b R      -          199G  2022-04-30 18:28
root@mowa219-gjp4-8570p-freebsd:~ # exit
logout
% du -hs /var/cache/pkg
1.5M    /var/cache/pkg
%

(I'm lazily not using devfs(5).)
 
Back
Top