Update for 14.3 when it is out of date - not pretty

1 view
Skip to first unread message

Mike

unread,
May 21, 2026, 9:33:14 PM (7 days ago) May 21
to freebsd-...@freebsd.org
OK, I knew that the end of life for 14.3 was imminent, even past.

But I ran. on my 14.3 install ...

/usr/sbin/freebsd-update fetch
/usr/sbin/freebsd-update fetch
/usr/sbin/freebsd-update install

anyway.


I was then faced with a strange message that I had to recompile all the
packages I had downloaded in order to go forward. That I should do that
and then run

/usr/sbin/freebsd-update install

again.

Huh?

I download packages, not source code of the packages, so how could I
possibly recompile all of them?

I had to do a full re-install of the server (using 14.4), with the
resulting hours of downtime, because of this.

In my 30 years of using FreeBSD, this is the first major, I'll be kind.
issue, I have ever had with an update.

OK, I am not saying that my old 14.3 version should have been supported.

I am saying that there should have been a message telling me that there
was an issue and it would not be good for me to proceed to try to update
14.3.

And then the update procedure should nicely exit instead of trashing my
server.

Is this FreeBSD's new way of punishing long-time users who are slow to
upgrade? Saying ... upgrade now or we will trash your server and force
an upgrade via a re-install?






Dan Mahoney (Ports)

unread,
May 21, 2026, 9:58:54 PM (7 days ago) May 21
to Mike, freebsd-...@freebsd.org
You mean this warning?

```
Completing this upgrade requires removing old shared object files.
Please rebuild all installed 3rd party software (e.g., programs
installed from the ports tree) and then run
'`basename $0` [options] install' again to finish installing updates.
```

This is sort of a bad warning because most people aren't using ports these days, and what it really wants you to do is:

pkg upgrade

It shouldn't say "rebuild".  It's a bug, and I'd complain, if freebsd-update's days weren't Very Numbered.

What's going on:

Most often, binary upgrades are still compatible with the old releases, so (for example) sshd will start in a space where you have a 14.4 kernel and a 14.3 userland, but at some point, programs in /usr/local/bin that were built and compiled for things in /lib and /usr/lib (etc) have old version numbers, so on the next reboot, those things won't work.  The update process leaves the "vestigial" shared libraries in place so things don't crash, until the third "freebsd-update install" at which point it rm's everything that would have been i n $oldversion but not $currentversion.

Hope this helps,

-Dan


On May 21, 2026, at 6:32 PM, Mike <the....@mgm51.com> wrote:

/usr/sbin/freebsd-update

Mike

unread,
May 21, 2026, 10:40:27 PM (7 days ago) May 21
to freebsd-...@freebsd.org
On 5/21/2026 9:58 PM, Dan Mahoney (Ports) wrote:
> You mean this warning?
>
> ```
> Completing this upgrade requires removing old shared object files.
> Please rebuild all installed 3rd party software (e.g., programs
> installed from the ports tree) and then run
> '`basename $0` [options] install' again to finish installing updates.
> ```
>
> This is sort of a bad warning because most people aren't using ports
> these days, and what it really wants you to do is:
>
> pkg upgrade

Yeah, I agree.

I'd nominate it for one of the worst warning messages thrown at a user
during an OS upgrade. But that is just me.

>
> It shouldn't say "rebuild".  It's a bug, and I'd complain, if freebsd-
> update's days weren't Very Numbered.

While I tried not to complain, I did want to note the issue.

>
> What's going on:
>
> Most often, binary upgrades are still compatible with the old releases,
> so (for example) sshd will start in a space where you have a 14.4 kernel
> and a 14.3 userland, but at some point, programs in /usr/local/bin that
> were built and compiled for things in /lib and /usr/lib (etc) have old
> version numbers, so on the next reboot, those things won't work.  The
> update process leaves the "vestigial" shared libraries in place so
> things don't crash, until the third "freebsd-update install" at which
> point it rm's everything that would have been i n $oldversion but not
> $currentversion.
>
> Hope this helps,

It did help.

Many thanks.

And, fwiw, I am [slowly] moving my FreeBSD servers over to use the new
package update facility.

I do have to mention that major issues. such as this update that caused
me to re-install my server. give me a concern about a leap into a
pkg-based system update.

But that is the future.


Thanks again for your reply.




Mike

unread,
May 21, 2026, 10:50:55 PM (7 days ago) May 21
to freebsd-...@freebsd.org
One comment I might add to this thread ...

Make sure your disaster recover backups are available when you need them.

For me, my main data server crashed and burned.

But I was able to recover disaster recovery files from other secure
backup locations to allow me to rebuild the server.

For me it was only 10TB of data stored on that server.

And everything is cool now.

YMMV





Eugene R

unread,
May 22, 2026, 8:02:26 AM (6 days ago) May 22
to ques...@freebsd.org
Hello,

Could you share specific tools and procedures that you used to backup
and rebuild the server?

Eugene

Dag-Erling Smørgrav

unread,
May 22, 2026, 2:59:46 PM (6 days ago) May 22
to Mike, freebsd-...@freebsd.org
Mike <the....@mgm51.com> writes:
> OK, I knew that the end of life for 14.3 was imminent, even past.

14.3 is still supported until the end of next month:

https://www.freebsd.org/security/#sup

> But I ran. on my 14.3 install ...
>
> /usr/sbin/freebsd-update fetch
> /usr/sbin/freebsd-update fetch
> /usr/sbin/freebsd-update install
>
> anyway.

No, you didn't. See below.

> I was then faced with a strange message that I had to recompile all
> the packages I had downloaded in order to go forward. That I should
> do that and then run
>
> /usr/sbin/freebsd-update install
>
> again.
>
> Huh?

That message only appears after you run `freebsd-update upgrade`, then
run `freebsd-update install` once to upgrade the kernel, then run
`freebsd-update install` a second time to upgrade the userland. It's
somewhat poorly worded but what it's saying is that you need to upgrade
your ports or packages before running `freebsd-update install` for a
third time, which will remove files that existed in the release you were
previously running but do not exist in the one you upgraded to.

Note that if you run `freebsd-update upgrade` and then run
`freebsd-update fetch` without first running `freebsd-update install`,
freebsd-update will discard the upgrade and fetch patches for your
current release instead. And if you run `freebsd-update upgrade`, then
`freebsd-update install`, and _then_ `freebsd-update fetch`, you get an
error message telling you that you have a pending upgrade. So I know
you're not telling the truth about the sequence of events.

> I download packages, not source code of the packages, so how could I
> possibly recompile all of them?

The exact wording of this message in 14.3 is as follows:

Completing this upgrade requires removing old shared object files.
Please rebuild all installed 3rd party software (e.g., programs
installed from the ports tree) and then run
freebsd-update [options] install' again to finish installing updates.

In 14.4 and newer it has been changed to the following:

Completing this upgrade requires removing old shared object files.
Please upgrade or rebuild all installed 3rd party software (e.g.,
programs installed with pkg or from the ports tree) and then run
freebsd-update [options] install' again to finish installing updates.

> I had to do a full re-install of the server (using 14.4), with the
> resulting hours of downtime, because of this.

No, you didn't _have_ to, you _chose_ to. You could have simply run
`freebsd-update rollback`, or, if using zfs, rolled your root dataset
back to the snapshot that freebsd-update automatically creates before
installing.

DES
--
Dag-Erling Smørgrav - d...@FreeBSD.org

Mike

unread,
May 23, 2026, 11:59:14 AM (5 days ago) May 23
to ques...@freebsd.org
I did not run freebsd-update upgrade. I ran "fetch" then "install" with
no "upgrade". Perhaps that was my problem.

I do agree that the message was poorly worded (imo, understatement).

> what it's saying is that you need to upgrade
> your ports or packages before running `freebsd-update install`

Is that the regular procedure when using freebsd-update? i.e., ...

freebsd-update fetch
freebsd-update upgrade
freebsd-update install

?


The man page for freebsd-update says that "upgrade" is used when
upgrading to a new release. It makes no mention of using "upgrade" when
updating a current release. If I run it when I am doing an update for a
current release, will it upgrade me to a new release?

Thanks for the reply.

Dag-Erling Smørgrav

unread,
May 23, 2026, 7:14:35 PM (5 days ago) May 23
to Mike, ques...@freebsd.org
Mike <the....@mgm51.com> writes:
> Is that the regular procedure when using freebsd-update? i.e., ...
>
> freebsd-update fetch
> freebsd-update upgrade
> freebsd-update install
>
> ?

No, `freebsd-update fetch` fetches and prepares patches for the current
release, while `freebsd-update upgrade` fetches and prepares an upgrade
(or downgrade) from your current release to another. You do one or the
other, not both, then run `freebsd-update install` to apply the result.

> The man page for freebsd-update says that "upgrade" is used when
> upgrading to a new release. It makes no mention of using "upgrade"
> when updating a current release. If I run it when I am doing an
> update for a current release, will it upgrade me to a new release?

`freebsd-update upgrade` alone will only print an error message:

% sudo freebsd-update upgrade
freebsd-update: Release target must be specified via '-r' option.

nor will it let you “upgrade” to the same release:

% sudo freebsd-update upgrade -r 15.0-RELEASE
freebsd-update: Cannot upgrade from 15.0-RELEASE to itself

unless you lie to it about what you are currently running:

% freebsd-version
15.0-RELEASE-p9
% sudo freebsd-update upgrade -r 15.0-RELEASE --currently-running 14.3-RELEASE
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching metadata signature for 14.3-RELEASE from update2.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata patches.. done.
Applying metadata patches... done.
Fetching 2 metadata files... done.
[...]

so there is no way to accidentally upgrade.

Mike

unread,
May 23, 2026, 10:37:27 PM (5 days ago) May 23
to ques...@freebsd.org
> No, `freebsd-update fetch` fetches and prepares patches for the
> current release, while `freebsd-update upgrade` fetches and prepares
> an upgrade (or downgrade) from your current release to another. You
> do one or the other, not both, then run `freebsd-update install` to
> apply the result.



Yeah.

That was my understanding.

As I see it, ...

Update goes from, say, FreeBSD 14.3-p4 to 14.3-p5.

While

Upgrade goes from FreeBSD 14.3 to 14.4.

Is that a correct understanding of the difference between "upgrade" and
"update?"

But as you note in a prior comment on this thread ...
> The exact wording of this message in 14.3 is as follows:
> Completing this upgrade requires ...


So, yeah, as you also note, the message could have been worded better.


Again, thanks for your reply.
Reply all
Reply to author
Forward
0 new messages