bash and sudo removed after 13.2 -> 14.0 upgrade

Hi. I'm just after information for this one really. I've already fixed the problem.

I've just updated my FreeBSD router system from 13.2-RELEASE to 14.0-RELEASE using freebsd-update. As per the instructions, the process was:

Code:
freebsd-update -r 14.0-RELEASE upgrade
freebsd-update install
reboot
freebsd-update install
pkg update
pkg bootstrap -f
pkg upgrade
freebsd-update install

Unnoticed by me, during the pkg upgrade, it deinstalled shell/bash and security/sudo instead of reinstalling them. After another reboot, I was unable to log in over ssh as my user account had no usable shell. I went to the console to fix things there, but my root account also used bash and although I usually enable the toor account as a fallback, I'd forgotten to on this system. I had to fix things in single user mode.

Can anyone shed any light on why those two packages were removed?
 
I don't see them on pkg-fallout. If you just try again it will probably work.

And yes, the login shell disabling is a very nice trap :)
 
if you do a "pkg search bash" on the 14.0 system, does it return anything?
Typically packages that go missing failed to build upstream, although I would not expect that of bash and sudo.
 
if you do a "pkg search bash" on the 14.0 system, does it return anything?
Typically packages that go missing failed to build upstream, although I would not expect that of bash and sudo.
I think the issue is really with freebsd-update(8) not doing a good job of honoring the installed packages/ports from the original installation... Sometimes API/ABI can be an issue there, but I'd expect some meaningful error messages in that case... ?
 
yeah, but then how come people complain about missing packages when users do freebsd-update? ?

(I know that sometimes pkg upgrade can make packages go missing, too).
I think because when they do freebsd-update to get the next patch level on kernel/base, they then do pkg upgrade to pick up everything else. If one is on quarterly, you may pick up one or 5 packages until you hit the quarterly update. freebsd-update by itself at most affects things like drm-kmod but pkg upgrade potentially affects "all user installed applications" like firefox, bash, libreoffice, etc.

So it's a procedural/process that people follow causing packages to go missing
 
yeah, but then how come people complain about missing packages when users do freebsd-update? ?

(I know that sometimes pkg upgrade can make packages go missing, too).

freebsd-upgrade doesn't touch packages as in installing, uninstalling or upgrading them.

It can, however, break packages when shared libs go out of sync. But this usually happens when too new packages are installed on an older OS, which again is not a freebsd-upgrade operation.
 
pkg upgrade has some flaws. I saw problems like this one many times and not only after update / upgrade. However, it's often just a matter of running again pkg upgrade (or pkg install in this case) to resolve the thing.

Anyway, it's a bad idea to use a shell that isn't in base for the root user.
 
I experienced the same issue when I upgraded my VPS recently to 14.0.

Although, my root user login shell is the now default sh. However, I have cleverly configured sshd to disallow root logins :)

So, I too had to go to the console.

The upgrade also removed a few other packages such as mariadb106-server, nginx, dovecot, roundcube-php81.

I thought I had followed the official procedure when upgrading, but maybe not? I would like to know if there is something I should do differently to avoid this next time I upgrade.
 
Can anyone shed any light on why those two packages were removed?


If you can't find the record, let me know.
 
Back
Top