<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>FreeBSD on Institute of Ineptitude</title><link>https://ineptitude.ca/tags/freebsd/</link><description>Recent content in FreeBSD on Institute of Ineptitude</description><generator>Hugo -- 0.153.1</generator><language>en</language><lastBuildDate>Fri, 05 Dec 2025 15:02:16 -0700</lastBuildDate><atom:link href="https://ineptitude.ca/tags/freebsd/index.xml" rel="self" type="application/rss+xml"/><item><title>Upgrading FreeBSD Bastille Jails</title><link>https://ineptitude.ca/writing/upgrade-jails-pkg-static/</link><pubDate>Fri, 05 Dec 2025 15:02:16 -0700</pubDate><guid>https://ineptitude.ca/writing/upgrade-jails-pkg-static/</guid><description>&lt;p&gt;Upgrading &lt;a href="https://bastillebsd.org"&gt;BastilleBSD&lt;/a&gt; jails&amp;hellip;&lt;/p&gt;
&lt;p&gt;Mostly uneventful&amp;hellip; I did need a rescue from
&lt;a href="https://man.freebsd.org/cgi/man.cgi?query=pkg-static"&gt;pkg-static&lt;/a&gt; before
&lt;code&gt;pkg update/upgrade&lt;/code&gt; would work.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh-session" data-lang="sh-session"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;root@bastille-host:/ # bastille list
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt; JID Name Boot Prio State Type IP Address Published Ports Release Tags
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt; 1 random-jail on 99 Up thin 192.168.27.10 - 14.3-RELEASE-p6 -
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;root@bastille-host:/ # bastille stop random-jail
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;[random-jail]:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;random-jail: removed
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;root@bastille-host:/ # vi /usr/local/bastille/jails/random-jail/fstab
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;root@bastille-host:/usr/local/bastille/jails/random-jail # bastille start random-jail
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;[random-jail]:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;random-jail: created
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;root@bastille-host:/usr/local/bastille/jails/random-jail #
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;root@bastille-host:/ # bastille list
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt; JID Name Boot Prio State Type IP Address Published Ports Release Tags
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt; 1 random-jail on 99 Up thin 192.168.27.10 - 15.0-RELEASE -
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;root@bastille-host:/ # bastille console random-jail
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="err"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;[random-jail]:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;root@random-jail:~ # pkg update
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;ld-elf.so.1: Shared object &amp;#34;libutil.so.9&amp;#34; not found, required by &amp;#34;pkg&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;root@random-jail:~ # pkg-static bootstrap
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;pkg-static: Warning: Major OS version upgrade detected. Running &amp;#34;pkg bootstrap -f&amp;#34; recommended
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;pkg(8) already installed, use -f to force.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;root@random-jail:~ # pkg-static bootstrap -f
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;pkg-static: Warning: Major OS version upgrade detected. Running &amp;#34;pkg bootstrap -f&amp;#34; recommended
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;pkg(8) is already installed. Forcing reinstallation through pkg(7).
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;The package management tool is not yet installed on your system.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;Do you want to fetch and install it now? [y/N]: y
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/FreeBSD:15:amd64/quarterly, please wait...
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;[random-jail] Installing pkg-2.4.2...
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;package pkg is already installed, forced install
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;[random-jail] Extracting pkg-2.4.2: 100%
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then out with the old base:&lt;/p&gt;</description></item><item><title>FreeBSD 15.0-RELEASE</title><link>https://ineptitude.ca/writing/freebsd-15-release/</link><pubDate>Mon, 01 Dec 2025 20:44:41 -0700</pubDate><guid>https://ineptitude.ca/writing/freebsd-15-release/</guid><description>&lt;p&gt;Upgraded my FreeBSD system to 15.0-RELEASE&lt;/p&gt;
&lt;p&gt;Watch out for that second run of freebsd-update that removes the
prior libs&amp;hellip; Seems that broke &lt;code&gt;sudo&lt;/code&gt; as the pkg didn&amp;rsquo;t get
upgraded (yet).&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh-session" data-lang="sh-session"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;FreeBSD 15.0-RELEASE (GENERIC) releng/15.0-n280995-7aedc8de6446
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;%&lt;/span&gt; uptime
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt; 8:42PM up 54 mins, 4 users, load averages: 0.65, 0.96, 1.33
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;%&lt;/span&gt; sudo bastille list
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;ld-elf.so.1: Shared object &amp;#34;libutil.so.9&amp;#34; not found, required by &amp;#34;sudo&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;%&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Deleting and re-installing pulled in the compatibility packages and got things sorted:&lt;/p&gt;</description></item><item><title>Environment variables</title><link>https://ineptitude.ca/writing/env-vars/</link><pubDate>Wed, 27 Nov 2024 23:29:21 -0700</pubDate><guid>https://ineptitude.ca/writing/env-vars/</guid><description>&lt;p&gt;I had the sudden realization that I didn’t &lt;em&gt;really&lt;/em&gt; know how environment
variables work. I think We &lt;em&gt;all&lt;/em&gt; take them for granted, regardless of OS&amp;hellip;&lt;/p&gt;
&lt;p&gt;Some high level details about some such variables and their purpose
can be found in the &lt;a href="https://docs.freebsd.org/en/books/handbook/book/"&gt;FreeBSD
Handbook&lt;/a&gt; section
&lt;a href="https://docs.freebsd.org/en/books/handbook/book/#shells"&gt;3.9. Shells&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can view such variables in your shell using the
&lt;a href="https://man.freebsd.org/cgi/man.cgi?env"&gt;env&lt;/a&gt; command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-sh-session" data-lang="sh-session"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;root@freebsd:~ # env
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;PAGER=less
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;LANG=C.UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;MAIL=/var/mail/root
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;ENV=/root/.shrc
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;OLDPWD=/
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;PWD=/root
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;TERM=xterm-256color
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;USER=root
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;HOME=/root
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;SHELL=/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;MM_CHARSET=UTF-8
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;BLOCKSIZE=K
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;root@freebsd:~ #
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&amp;hellip;but what are all the low level specifics that nobody bothers to ask?&lt;/p&gt;</description></item></channel></rss>