4 ms·
A more significant issue, in my experience, is that a lot of useful nonstandard APIs simply do not exist on the BSDs, under any name - or worse, exist with unst
by o11c 3y ago
A more significant issue, in my experience, is that a lot of useful nonstandard APIs simply do not exist on the BSDs, under any name - or worse, exist with unstable names, so you have to #ifdef your source code to make it work with more than one release. There is no equivalent to Linux's "we do not break userland".
FreeBSD is generally assumed to be the least painful, but I usually don't even bother with that these days. If someone cares they can do the work.
- SoftTalker 3y agoYes, an OpenBSD release is a full system: kernel + userland. Running anything from a different release might work, but isn't supported and you won't get any help if something breaks as a result. Also there is no "LTS" release. The prior release gets updates until the next release drops. So you need to plan on release updates every 6 months. Luckily "sysupgrade" is usually painless but you need to check the release notes and packages you have installed for potential extra work (e.g. if you're running Postgres and it got a major version bump, you'll probably need to upgrade your database).
- accrual 3y agoSmall nit, but you get 12 months of support, not 6. > Patches for supported releases are also incorporated into the -stable branch, which is maintained for one year after release. https://www.openbsd.org/errata73.html https://www.openbsd.org/errata73.html
- detourdog 3y agoThe downside to OpenBSD to understand what you are using and monitor how to keep it going from release to release.
- SoftTalker 3y agoI guess you're being ironic but I didn't mean to say it was a "downside" just that it is different from what one may be used to with Linux distros. I actually think it's good that you're sort of forced to keep up, but it's something you need to be aware of in case that isn't practical for your planned use. For example if you get too far behind you'll find that sysupgrade doesn't work anymore, because it will only upgrade from one release to the next, and if you're more than two releases behind the "next" release might not be on the mirrors anymore. In that case you'll have to go hunting for it or just do a new install of the current release and then copy/update all your local config. That can happen with Linux too, but typically not as quickly. With OpenBSD, if you're much more than a year behind, upgrading will become increasingly problematic.
- detourdog 3y agoI think I actually left words out and so my point was lost. The difference I see is that OpenBSD is so well documented that one can judge wether or not any of the updates is needed. One can consider each release as a standalone environment. The change notes going forward can be monitored. Upgrades are only required for feature changes. There is no requirement to upgrade.
- anthk 3y agoNo. You can always find mirrors. A friend upgraded from 7.0 to 7.3 with no issues.
- accrual 3y agosysupgrade was released with OpenBSD 6.6. I think my wildest upgrade was going from 6.8 to current (7.3), so 5 releases without a hitch. Granted the box was mostly just base anyways. Always remember to "pkg_add -u" after every release.
- detourdog 3y agoThe biggest change for me was when they added security to GPIO. I forget the details, but fabBSD(openBSD variant for CAMs) was a casualty last I checked. It's a documented system what more could one ask for.
- st3fan 3y agoMy experience is that OpenBSD works best if you don’t go too much outside of what comes with the distribution. As soon as you install packages you are going to be dealing with incompatibilities between OpenBSD releases and dealing with a lot of recompilation. As an example I had installed fish from the packages as my default shell and after upgrading from 6.X to 6.x+1 I could not log in anymore because the compiled fish binary simply was not compatible anymore. It is all by design and once you know these people things you can work around “quirks” like this.
- SoftTalker 3y agoI would say packages mostly work well and are not as bad as you make them sound. Yes, after upgrading the OS release you need to run "pkg_add -u" to upgrade all your installed packages. This is normally pretty easy. There are a few potential "gotchas" and changing your login shell (or especially root's login shell) or any other defaults in the login or other base configurations are things that you learn to to do very deliberately after getting burned a few times.
- st3fan 3y agoThe last thing I usually want to do on something in production is upgrade all the things and hope for the best or potentially spend a lot of time fixing things. FWIW I think all the BSDs suffer from this. Not just OpenBSD.
- anthk 3y agoNever touch your root login shell. Ever.
- rollcat 3y agoAnd vice versa, I dearly miss pledge, unveil, pf, doas, ksh, rcctl, arc4random, bioctl, and a dozen other smaller (or bigger) things on other OS's. (Yes I know some of these things have been ported, but aren't exactly as nice when "out of context".)