3 ms·
I played around with freeBSD for a couple of days recently. I quite liked it until it came time to updating the system (I delibearely installed 12 to test this)
by LAC-Tech 5y ago
I played around with freeBSD for a couple of days recently. I quite liked it until it came time to updating the system (I delibearely installed 12 to test this). Missing .so libraries everywhere. I suppose if I was more of a unix pro I would have figured out the problem, but trivial updates are a big deal for me.
- Lammy 5y agoDid you update from 12.x to 13.0? FreeBSD maintains ABI compatibility across minor versions, and major version updates are usually like `freebsd-update -r '<major>.<minor>-RELEASE' upgrade`, `freebsd-update install`, reboot, `pkg upgrade`, reboot, `freebsd-update install`. That second `freebsd-update install` removes the shared libraries from the old version and will result in old binaries breaking like you described. The `pkg upgrade` step implies an ABI change as well, replacing your installed packages with the same packages built for the new major version. It's even possible to keep old binaries working by installing the appropriate `compat` package, e.g. compat12x if you have FreeBSD 12 binaries you want to run on FreeBSD 13: https://www.freshports.org/misc/compat12x/ https://www.freshports.org/misc/compat12x/
- LAC-Tech 5y agoYes. 12.0 -> 12.2 was smooth (my cloud provider had 12.0 from a dropdown menu). I see from your post I was supposed to reboot twice to upgrade major versions. I'm sure it was in one of the docs I was reading and I lazily skim passed it. So it's on me.
- Lammy 5y agoDon't feel bad. I've used FreeBSD for a long time but still find it kinda confusing when the "same" command has different effects depending on system state. Heck even I got it wrong since I forgot it's actually three steps — install the new kernel and reboot into it, install the new userland and reboot into that, reinstall packages, and then remove the old userland: https://www.freebsd.org/releases/13.0R/installation/#upgrade https://www.freebsd.org/releases/13.0R/installation/#upgrade On the plus side it's super-easy to recover since even if your `pkg` is broken there's a `pkg-static`: https://www.freebsd.org/cgi/man.cgi?query=pkg-static&sektion=8&n=1 https://www.freebsd.org/cgi/man.cgi?query=pkg-static&sektion... A `pkg-static bootstrap -f && pkg upgrade -f` would probably sort that system out if you ever end up in that state again :)
- vogon_laureate 5y agoDid you upgrade via source or binary upgrade? IME binary upgrades have been incredibly smooth. https://docs.freebsd.org/en/books/handbook/cutting-edge/ https://docs.freebsd.org/en/books/handbook/cutting-edge/