Tech Notes

Freebsd SMART configuration

  1. Install smartmontools package.
sudo pkg install -y smartmontools
  1. Check list of local disks.
sudo smartctl --scan
/dev/ada0 -d atacam # /dev/ada0, ATA device
  1. Create config file:
  • /usr/local/etc/smartd.conf
/dev/ada0 -a -d atacam -m root@localhost -s S/../.././15

NOTE:

S/../.././15 says: run a Short test every day during the 15th hour.

smartd does not schedule via cron. Instead, it polls every 30 minutes

  1. Enable at boot and start smartd
sysrc smartd_enable=YES
service smartd start

Freebsd Email Notification

To get notification about not read email on local system, create file in /usr/local/etc/profile with following content:

unread_count=$(echo q | mailx -N | head -n2 | tail -n1 | cut -f4 -d" ")
if [ -n "$unread_count" ] && [ "$unread_count" -gt 0 ]; then
    echo -e "\n\tYou have $unread_count unread mail message(s).\n"
fi

Update FreeBSD Jails to 13.4

Description

Following steps describe upgrading Thin Jails managed by Bastille (Bastille).

Upgrade steps for Thin Jails

Important Note: These instructions are for upgrading Thin Jails managed by Bastille. Upgrading Thick Jails would require a different approach. It’s highly recommended to back up your jail configuration files before proceeding.

  1. List of Jails and FreeBSD version:
for jail in  `bastille list | awk '{print $2}' |grep -v IP ` ; do bastille cmd $jail freebsd-version -ur ; done

Output:

[adguardhome]:
13.4-RELEASE-p1
13.3-RELEASE-p6
[adguardhome]: 0

[jellyfin]:
13.4-RELEASE-p1
13.3-RELEASE-p6
[jellyfin]: 0

[tran]:
13.4-RELEASE-p1
13.3-RELEASE-p6
[tran]: 0

[prom]:
13.4-RELEASE-p1
13.3-RELEASE-p6
[prom]: 0
  1. Download Bastille boostrap for 13.4-RELEASE
bastille bootstrap 13.4-RELEASE
  1. Stopping Jails:
for jail in  `bastille list | awk '{print $2}' |grep -v IP ` ; do bastille stop $jail ; done

Output:

pfctl: /dev/pf: No such file or directory
rdr-anchor not found in pf.conf
[adguardhome]:
adguardhome: removed
pfctl: /dev/pf: No such file or directory

pfctl: /dev/pf: No such file or directory
rdr-anchor not found in pf.conf
[jellyfin]:
jellyfin: removed

pfctl: /dev/pf: No such file or directory
rdr-anchor not found in pf.conf
[prom]:
prom: removed

pfctl: /dev/pf: No such file or directory
rdr-anchor not found in pf.conf
[tran]:
tran: removed
  1. Update Jails fstab file to use 13.4-RELEASE:
for file in `bastille list -a | grep -v IP | awk '{ print $7 }' | sed 's#root#fstab#' ` ; do sed -i'.backup-13.3' 's/13.3-RELEASE/13.4-RELEASE/g' $file ; done
  1. Verify fstab files:
for file in `bastille list -a | grep -v IP | awk '{ print $7 }' | sed 's#root#fstab#' ` ; do echo -e "\nfile: $file" ; cat $file ; done

Output:

file: /usr/local/bastille/jails/adguardhome/fstab
/usr/local/bastille/releases/13.4-RELEASE /usr/local/bastille/jails/adguardhome/root/.bastille nullfs ro 0 0

file: /usr/local/bastille/jails/jellyfin/fstab
/usr/local/bastille/releases/13.4-RELEASE /usr/local/bastille/jails/jellyfin/root/.bastille nullfs ro 0 0
/tank/movies /usr/local/bastille/jails/jellyfin/root/movies nullfs rw 0 0
/tank/music /usr/local/bastille/jails/jellyfin/root/music nullfs rw 0 0

file: /usr/local/bastille/jails/prom/fstab
/usr/local/bastille/releases/13.4-RELEASE /usr/local/bastille/jails/prom/root/.bastille nullfs ro 0 0

file: /usr/local/bastille/jails/tran/fstab
/usr/local/bastille/releases/13.4-RELEASE /usr/local/bastille/jails/tran/root/.bastille nullfs ro 0 0
/tank/movies /usr/local/bastille/jails/tran/root/movies nullfs rw 0 0
  1. Checking old fstab - backup files:
for file in `bastille list -a | grep -v IP | awk '{ print $7 }' | sed 's#root#fstab#' ` ; do echo -e "\nfile: $file" ; cat $file.backup-13.3 ; done

Output:

file: /usr/local/bastille/jails/adguardhome/fstab
/usr/local/bastille/releases/13.3-RELEASE /usr/local/bastille/jails/adguardhome/root/.bastille nullfs ro 0 0

file: /usr/local/bastille/jails/jellyfin/fstab
/usr/local/bastille/releases/13.3-RELEASE /usr/local/bastille/jails/jellyfin/root/.bastille nullfs ro 0 0
/tank/movies /usr/local/bastille/jails/jellyfin/root/movies nullfs rw 0 0
/tank/music /usr/local/bastille/jails/jellyfin/root/music nullfs rw 0 0

file: /usr/local/bastille/jails/prom/fstab
/usr/local/bastille/releases/13.3-RELEASE /usr/local/bastille/jails/prom/root/.bastille nullfs ro 0 0

file: /usr/local/bastille/jails/tran/fstab
/usr/local/bastille/releases/13.3-RELEASE /usr/local/bastille/jails/tran/root/.bastille nullfs ro 0 0
/tank/movies /usr/local/bastille/jails/tran/root/movies nullfs rw 0 0
  1. Start jails:
for jail in  `bastille list -a | awk '{print $5}' |grep -v IP ` ; do bastille start $jail ; done

Output:

[Published]: Not found.
pfctl: /dev/pf: No such file or directory
[adguardhome]:
e0a_bastille0
e0b_bastille0
adguardhome: created
pfctl: /dev/pf: No such file or directory
rdr-anchor not found in pf.conf
pfctl: /dev/pf: No such file or directory
rdr-anchor not found in pf.conf

pfctl: /dev/pf: No such file or directory
[jellyfin]:
e0a_bastille1
e0b_bastille1
jellyfin: created

pfctl: /dev/pf: No such file or directory
[prom]:
e0a_bastille5
e0b_bastille5
prom: created

pfctl: /dev/pf: No such file or directory
[tran]:
e0a_bastille2
e0b_bastille2
tran: created
  1. Checking FreeBSD version
for jail in  `bastille list | awk '{print $2}' |grep -v IP ` ; do bastille cmd $jail freebsd-version -ur ; done

Output:

[adguardhome]:
13.4-RELEASE-p1
13.4-RELEASE-p1
[adguardhome]: 0

[jellyfin]:
13.4-RELEASE-p1
13.4-RELEASE-p1
[jellyfin]: 0

[tran]:
13.4-RELEASE-p1
13.4-RELEASE-p1
[tran]: 0

[prom]:
13.4-RELEASE-p1
13.4-RELEASE-p1
[prom]: 0
  1. Upgrade packages:
for jail in  `bastille list | awk '{print $2}' |grep -v IP ` ; do bastille pkg $jail upgrade -y ; done

Output:

[adguardhome]:
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (1 candidates): 100%
Processing candidates (1 candidates): 100%
The following 1 package(s) will be affected (of 0 checked):

Installed packages to be UPGRADED:
	curl: 8.9.1_1 -> 8.10.0

Number of packages to be upgraded: 1

2 MiB to be downloaded.
[adguardhome] [1/1] Fetching curl-8.10.0.pkg: 100%    2 MiB   1.6MB/s    00:01
Checking integrity... done (0 conflicting)
[adguardhome] [1/1] Upgrading curl from 8.9.1_1 to 8.10.0...
[adguardhome] [1/1] Extracting curl-8.10.0: 100%

[jellyfin]:
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (19 candidates): 100%
Processing candidates (19 candidates): 100%
The following 19 package(s) will be affected (of 0 checked):

Installed packages to be UPGRADED:
	Imath: 3.1.11 -> 3.1.12
	aom: 3.10.0 -> 3.10.0_1
	argp-standalone: 1.5.0 -> 1.5.0_1
	ffmpeg: 6.1.2,1 -> 6.1.2_1,1
	libdrm: 2.4.122,1 -> 2.4.123,1
	libjxl: 0.10.3 -> 0.11.0
	libnghttp2: 1.62.1 -> 1.63.0
	libv4l: 1.23.0_4 -> 1.23.0_5
	openssl: 3.0.14,1 -> 3.0.15,1
	py311-attrs: 24.1.0 -> 24.2.0
	py311-certifi: 2024.7.4 -> 2024.8.30
	py311-cffi: 1.17.0 -> 1.17.1
	py311-cryptography: 42.0.8_2,1 -> 42.0.8_3,1
	py311-httpx: 0.27.0_1 -> 0.27.2
	py311-idna: 3.7 -> 3.8
	python311: 3.11.9_1 -> 3.11.10
	python39: 3.9.19 -> 3.9.20
	readline: 8.2.10 -> 8.2.13
	shaderc: 2024.1 -> 2024.2

Number of packages to be upgraded: 19

The process will require 2 MiB more space.
70 MiB to be downloaded.
[jellyfin] [1/19] Fetching py311-idna-3.8.pkg: 100%   78 KiB  79.4kB/s    00:01
[jellyfin] [2/19] Fetching libnghttp2-1.63.0.pkg: 100%  132 KiB 135.2kB/s    00:01
[jellyfin] [3/19] Fetching aom-3.10.0_1.pkg: 100%    3 MiB   3.3MB/s    00:01
[jellyfin] [4/19] Fetching py311-cffi-1.17.1.pkg: 100%  263 KiB 269.6kB/s    00:01
[jellyfin] [5/19] Fetching python39-3.9.20.pkg: 100%   18 MiB   9.2MB/s    00:02
[jellyfin] [6/19] Fetching shaderc-2024.2.pkg: 100%    3 MiB   2.9MB/s    00:01
[jellyfin] [7/19] Fetching py311-attrs-24.2.0.pkg: 100%   98 KiB 100.7kB/s    00:01
[jellyfin] [8/19] Fetching py311-certifi-2024.8.30.pkg: 100%  158 KiB 161.4kB/s    00:01
[jellyfin] [9/19] Fetching ffmpeg-6.1.2_1,1.pkg: 100%   10 MiB   3.6MB/s    00:03
[jellyfin] [10/19] Fetching Imath-3.1.12.pkg: 100%  103 KiB 105.8kB/s    00:01
[jellyfin] [11/19] Fetching py311-cryptography-42.0.8_3,1.pkg: 100%    1 MiB   1.1MB/s    00:01
[jellyfin] [12/19] Fetching openssl-3.0.15,1.pkg: 100%    6 MiB   3.2MB/s    00:02
[jellyfin] [13/19] Fetching libdrm-2.4.123,1.pkg: 100%  256 KiB 261.8kB/s    00:01
[jellyfin] [14/19] Fetching py311-httpx-0.27.2.pkg: 100%  153 KiB 156.9kB/s    00:01
[jellyfin] [15/19] Fetching libjxl-0.11.0.pkg: 100%    2 MiB   1.8MB/s    00:01
[jellyfin] [16/19] Fetching libv4l-1.23.0_5.pkg: 100%  364 KiB 373.0kB/s    00:01
[jellyfin] [17/19] Fetching python311-3.11.10.pkg: 100%   25 MiB   5.3MB/s    00:05
[jellyfin] [18/19] Fetching argp-standalone-1.5.0_1.pkg: 100%   29 KiB  30.0kB/s    00:01
[jellyfin] [19/19] Fetching readline-8.2.13.pkg: 100%  371 KiB 379.8kB/s    00:01
Checking integrity... done (0 conflicting)
[jellyfin] [1/19] Upgrading readline from 8.2.10 to 8.2.13...
[jellyfin] [1/19] Extracting readline-8.2.13: 100%
[jellyfin] [2/19] Upgrading python311 from 3.11.9_1 to 3.11.10...
[jellyfin] [2/19] Extracting python311-3.11.10: 100%
[jellyfin] [3/19] Upgrading py311-idna from 3.7 to 3.8...
[jellyfin] [3/19] Extracting py311-idna-3.8: 100%
[jellyfin] [4/19] Upgrading Imath from 3.1.11 to 3.1.12...
[jellyfin] [4/19] Extracting Imath-3.1.12: 100%
[jellyfin] [5/19] Upgrading shaderc from 2024.1 to 2024.2...
[jellyfin] [5/19] Extracting shaderc-2024.2: 100%
[jellyfin] [6/19] Upgrading py311-certifi from 2024.7.4 to 2024.8.30...
[jellyfin] [6/19] Extracting py311-certifi-2024.8.30: 100%
[jellyfin] [7/19] Upgrading libdrm from 2.4.122,1 to 2.4.123,1...
[jellyfin] [7/19] Extracting libdrm-2.4.123,1: 100%
[jellyfin] [8/19] Upgrading aom from 3.10.0 to 3.10.0_1...
[jellyfin] [8/19] Extracting aom-3.10.0_1: 100%
[jellyfin] [9/19] Upgrading py311-cffi from 1.17.0 to 1.17.1...
[jellyfin] [9/19] Extracting py311-cffi-1.17.1: 100%
[jellyfin] [10/19] Upgrading libjxl from 0.10.3 to 0.11.0...
[jellyfin] [10/19] Extracting libjxl-0.11.0: 100%
[jellyfin] [11/19] Upgrading libv4l from 1.23.0_4 to 1.23.0_5...
[jellyfin] [11/19] Extracting libv4l-1.23.0_5: 100%
[jellyfin] [12/19] Upgrading libnghttp2 from 1.62.1 to 1.63.0...
[jellyfin] [12/19] Extracting libnghttp2-1.63.0: 100%
[jellyfin] [13/19] Upgrading python39 from 3.9.19 to 3.9.20...
[jellyfin] [13/19] Extracting python39-3.9.20: 100%
[jellyfin] [14/19] Upgrading py311-attrs from 24.1.0 to 24.2.0...
[jellyfin] [14/19] Extracting py311-attrs-24.2.0: 100%
[jellyfin] [15/19] Upgrading ffmpeg from 6.1.2,1 to 6.1.2_1,1...
[jellyfin] [15/19] Extracting ffmpeg-6.1.2_1,1: 100%
[jellyfin] [16/19] Upgrading py311-cryptography from 42.0.8_2,1 to 42.0.8_3,1...
[jellyfin] [16/19] Extracting py311-cryptography-42.0.8_3,1: 100%
[jellyfin] [17/19] Upgrading openssl from 3.0.14,1 to 3.0.15,1...
[jellyfin] [17/19] Extracting openssl-3.0.15,1: 100%
[jellyfin] [18/19] Upgrading py311-httpx from 0.27.0_1 to 0.27.2...
[jellyfin] [18/19] Extracting py311-httpx-0.27.2: 100%
[jellyfin] [19/19] Upgrading argp-standalone from 1.5.0 to 1.5.0_1...
[jellyfin] [19/19] Extracting argp-standalone-1.5.0_1: 100%
==> Running trigger: gdk-pixbuf-query-loaders.ucl
Generating gdk-pixbuf modules cache
==> Running trigger: shared-mime-info.ucl
Building the Shared MIME-Info database cache

[tran]:
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (1 candidates): 100%
Processing candidates (1 candidates): 100%
The following 1 package(s) will be affected (of 0 checked):

Installed packages to be UPGRADED:
	curl: 8.9.1_1 -> 8.10.0

Number of packages to be upgraded: 1

2 MiB to be downloaded.
[tran] [1/1] Fetching curl-8.10.0.pkg: 100%    2 MiB   1.6MB/s    00:01
Checking integrity... done (0 conflicting)
[tran] [1/1] Upgrading curl from 8.9.1_1 to 8.10.0...
[tran] [1/1] Extracting curl-8.10.0: 100%

[prom]:
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (2 candidates): 100%
Processing candidates (2 candidates): 100%
The following 1 package(s) will be affected (of 0 checked):

Installed packages to be UPGRADED:
	curl: 8.9.1_1 -> 8.10.0

Number of packages to be upgraded: 1

2 MiB to be downloaded.
[prom] [1/1] Fetching curl-8.10.0.pkg: 100%    2 MiB   1.6MB/s    00:01
Checking integrity... done (0 conflicting)
[prom] [1/1] Upgrading curl from 8.9.1_1 to 8.10.0...
[prom] [1/1] Extracting curl-8.10.0: 100%
  1. Restart Jails:
for jail in  `bastille list | awk '{print $2}' |grep -v IP ` ; do bastille restart $jail; done
  1. Bastille FreeBSD Jails upgrade completed!

Update to FreeBSD host to 13.4

Description

This guide details how to upgrade a FreeBSD system hosted on a machine named “Wyse” from version 13.3-RELEASE to 13.4-RELEASE. The system manages Thin Jails using Bastille (https://bastillebsd.org/getting-started/).

Upgrade steps on host

  1. Switch to the root user.
  2. Check the current FreeBSD version:
freebsd-version -kur

Expected output:

13.3-RELEASE-p6
13.3-RELEASE-p6
13.3-RELEASE-p6
  1. Ensure the system is fully updated for the 13.3 Release:
freebsd-update fetch install

Expected output (this step require to close popup with list of files to update):

src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 13.3-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
...
The following files will be updated as part of updating to
13.3-RELEASE-p7:
/bin/freebsd-version
/boot/kernel/kernel
/boot/kernel/pf.ko
/lib/libnv.so.0
/usr/include/net/pfvar.h
/usr/lib/libnv.a
/usr/lib/libnv_p.a
/usr/sbin/bhyve
...
src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 13.3-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.
Creating snapshot of existing boot environment... done.
Installing updates...
Restarting sshd after upgrade
Performing sanity check on sshd configuration.
Stopping sshd.
Waiting for PIDS: 77258.
Performing sanity check on sshd configuration.
Starting sshd.
Scanning //usr/share/certs/blacklisted for certificates...
Scanning //usr/share/certs/trusted for certificates...
Scanning //usr/local/share/certs for certificates...
 done.
  1. Upgrade the host to 13.4-RELASE
freebsd-update upgrade -r 13.4-RELEASE

Expected output (this step prompts for confirmation before proceeding):

src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 13.3-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic world/base

The following components of FreeBSD do not seem to be installed:
kernel/generic-dbg world/base-dbg world/lib32 world/lib32-dbg

Does this look reasonable (y/n)? y

Fetching metadata signature for 13.4-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Inspecting system... done.

The following components of FreeBSD seem to be installed:
kernel/generic world/base

The following components of FreeBSD do not seem to be installed:
kernel/generic-dbg world/base-dbg world/lib32 world/lib32-dbg

Does this look reasonable (y/n)? y

Fetching metadata signature for 13.4-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.

Fetching 1 metadata files... done.
Inspecting system... done.
Fetching files from 13.3-RELEASE for merging... done.
Preparing to download files... done.
Fetching 3257 patches.....10....20....30....40....50....60....70....80....90....100....110....120....130....140....150....160....170....180....190....200....210....220....230....240....250....260....270....280....290....300....310....320....330....340....350....360....370....380....390....400....410....420....430....440....450....460....470....480....490....500....510....520....530....540....550....560....570....580....590....600....610....620....630....640....650....660....670....680....690....700....710....720....730....740....750....760....770....780....790....800....810....820....830....840....850....860....870....880....890....900....910....920....930....940....950....960....970....980....990....1000....1010....1020....1030....1040....1050....1060....1070....1080....1090....1100....1110....1120....1130....1140....1150....1160....1170....1180....1190....1200....1210....1220....1230....1240....1250....1260....1270....1280....1290....1300....1310....1320....1330....1340....1350....1360....1370....1380....1390....1400....1410....1420....1430....1440....1450....1460....1470....1480....1490....1500....1510....1520....1530....1540....1550....1560....1570....1580....1590....1600....1610....1620....1630....1640....1650....1660....1670....1680....1690....1700....1710....1720....1730....1740....1750....1760....1770....1780....1790....1800....1810....1820....1830....1840....1850....1860....1870....1880....1890....1900....1910....1920....1930....1940....1950....1960....1970....1980....1990....2000....2010....2020....2030....2040....2050....2060....2070....2080....2090....2100....2110....2120....2130....2140....2150....2160....2170....2180....2190....2200....2210....2220....2230....2240....2250....2260....2270....2280....2290....2300....2310....2320....2330....2340....2350....2360....2370....2380....2390....2400....2410....2420....2430....2440....2450....2460....2470....2480....2490....2500....2510....2520....2530....2540....2550....2560....2570....2580....2590....2600....2610....2620....2630....2640....2650....2660....2670....2680....2690....2700....2710....2720....2730....2740....2750....2760....2770....2780....2790....2800....2810....2820....2830....2840....2850....2860....2870....2880....2890....2900....2910....2920....2930....2940....2950....2960....2970....2980....2990....3000....3010....3020....3030....3040....3050....3060....3070....3080....3090....3100....3110....3120....3130....3140....3150....3160....3170....3180....3190....3200....3210....3220....3230....3240....3250... done.
Applying patches...

Fetching 197 files... ....10....20....30....40....50....60....70....80....90....100....110....120....130....140....150....160....170....180....190... done.
Attempting to automatically merge changes in files... done.

The following changes, which occurred between FreeBSD 13.3-RELEASE and
FreeBSD 13.4-RELEASE have been merged into /etc/ssh/sshd_config:
--- current version
+++ new version
@@ -103,11 +103,11 @@
 #PidFile /var/run/sshd.pid
 #MaxStartups 10:30:100
 #PermitTunnel no
 #ChrootDirectory none
 #UseBlacklist no
-#VersionAddendum FreeBSD-20240104
+#VersionAddendum FreeBSD-20240806

 # no default banner path
 #Banner none

 # override default of no subsystems
 Does this look reasonable (y/n)? y
To install the downloaded upgrades, run "/usr/sbin/freebsd-update install".
  1. Install 13.4-RELEASE
freebsd-update install

Expected output:

src component not installed, skipped
Creating snapshot of existing boot environment... done.
Installing updates...
Restarting sshd after upgrade
Performing sanity check on sshd configuration.
Stopping sshd.
Waiting for PIDS: 19285, 19285.
Performing sanity check on sshd configuration.
Starting sshd.
Scanning //usr/share/certs/blacklisted for certificates...
Scanning //usr/share/certs/trusted for certificates...
Scanning //usr/local/share/certs for certificates...
 done.
  1. Reboot the system:
shutdown -r now
  1. After rebooting, freebsd-update needs to be run again to install the new userland components:
freebsd-update install
  1. Upgrade packages:
pkg upgrade -y

Expected output:

Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
root@wyse:~ # pkg upgrade
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking for upgrades (1 candidates): 100%
Processing candidates (1 candidates): 100%
The following 1 package(s) will be affected (of 0 checked):

Installed packages to be UPGRADED:
	curl: 8.9.1_1 -> 8.10.0

Number of packages to be upgraded: 1

2 MiB to be downloaded.

[1/1] Fetching curl-8.10.0.pkg: 100%    2 MiB   1.6MB/s    00:01
Checking integrity... done (0 conflicting)
[1/1] Upgrading curl from 8.9.1_1 to 8.10.0...
[1/1] Extracting curl-8.10.0: 100%
  1. Finally, reboot into 13.4-RELEASE:
shutdown -r now
  1. FreeBSD upgrade completed!

Bastille Jails Update

Before Jails update, execute following command to switch to root account:

sudo -i
  1. Update FreeBSD release in Bastille:
bastille bootstrap 13.3-RELEASE update

Output:

Bootstrapping FreeBSD distfiles...
Bootstrap appears complete.

Bootstrap successful.
See 'bastille --help' for available commands.

src component not installed, skipped
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 13.3-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Inspecting system... done.
Preparing to download files... done.
The following files will be updated as part of updating to
13.3-RELEASE-p6:
/bin/freebsd-version
/lib/libnv.so.0
/usr/bin/calendar
/usr/lib/libnv.a
/usr/lib/libnv_p.a
/usr/sbin/bhyve
src component not installed, skipped
Installing updates...Scanning /usr/local/bastille/releases/13.3-RELEASE/usr/share/certs/blacklisted for certificates...
Scanning /usr/local/bastille/releases/13.3-RELEASE/usr/share/certs/trusted for certificates...
 done.
  1. Update packages in Jails:
  • use dry mode to view proposed changes
for jail in  `bastille list | awk '{print $2}' |grep -v IP ` ; do pkg -j $jail upgrade -n ; done                                              

Output:

Updating FreeBSD repository catalogue...
[adguardhome] Fetching data.pkg: 100%    7 MiB   2.5MB/s    00:03    
Processing entries: 100%
FreeBSD repository update completed. 34415 packages processed.
All repositories are up to date.
Checking for upgrades (2 candidates): 100%
Processing candidates (2 candidates): 100%
The following 2 package(s) will be affected (of 0 checked):

Installed packages to be UPGRADED:
        curl: 8.9.1 -> 8.9.1_1
        perl5: 5.36.3_1 -> 5.36.3_2

Number of packages to be upgraded: 2

16 MiB to be downloaded.
Updating FreeBSD repository catalogue...
[jellyfin] Fetching data.pkg: 100%    7 MiB   3.8MB/s    00:02    
...
  • update/install packages
for jail in  `bastille list | awk '{print $2}' |grep -v IP ` ; do pkg -j $jail upgrade  -y ; done
  1. Restart all Jails:
for jail in  `bastille list | awk '{print $2}' |grep -v IP ` ; do bastille restart $jail ; done
  1. Bastille Jails Update has been completed!

First post

This is my first post here. It’ll contain notes on troubleshooting, setup and programming.