4 ms·
My second development laptop runs FreeBSD - switched away from Debian in 2012. I wanted to try OpenBSD, however the amount of labor required to simply upgrade t
by blackhaz 12y ago
My second development laptop runs FreeBSD - switched away from Debian in 2012. I wanted to try OpenBSD, however the amount of labor required to simply upgrade the system (Google "openbsd upgrading") outweighed all benefits for me at the current point. Also, FreeBSD has pkg, which is a neat binary package manager - which is important on a desktop/laptop - and it looks like OpenBSD still uses the old, manual pkg_add way. Maybe I'll try it on the third laptop, curiosity grows bigger every day for sure.
- clarry 12y ago> I wanted to try OpenBSD, however the amount of labor required to simply upgrade the system (Google "openbsd upgrading") outweighed all benefits for me at the current point. Are you sure you understood the documentation? Most upgrades are done in ten minutes, and it's mostly an automated process (the package updates are limited by your bandwidth of course). Every once in a while something on the system is changed or removed, and the upgrade guide tells you how to deal with that -- unlike on many other systems, where you upgrade and then find out things have changed and broken and you have no idea what needs to be fixed.
- blackhaz 12y agoHmm.. Let's take this FAQ, for example: http://www.openbsd.org/faq/upgrade56.html http://www.openbsd.org/faq/upgrade56.html To me this looks more "manual" than FreeBSD's freebsd-update. Additionally, if there's no tool like pkg then upgrading all the user land packages will be quite an undertaking. A typical desktop/development environment may have about a thousand of them installed. On FreeBSD, I can do pkg upgrade, and it will take care of all dependencies pretty much automatically. Is there something similar available on OpenBSD?
- calrogman 12y agoYou can upgrade every package on the system simply by running `pkg_add -u`. This has been the case since they were rewritten by Marc Espie for the 3.5 release in 2004.
- clarry 12y agoLook very carefully. 99% of what happens in the upgrade happens under the title "Upgrading by install kernel". Literally, you just boot bsd.rd, smash return a few times, reboot, and you're done. After that you're into the "final steps" territory. Which means running sysmerge to merge changes in config files. It's not called openbsd-update, but freebsd-update requires you to do the same thing. Typically the only "manual" part is removing some files and users no longer needed by the new release. Now 5.6 has lots of these files, but it's not really representative -- most releases have a much shorter list of file removals. In any case, there are very good reasons for the system not to do this automatically for you. And, in any case, if you know you haven't done anything unusual so as to depend on these files, you can get away with copy pasting these instructions. At this point you update your packages with pkg_add -u. Just as you would have to on freebsd...
- blackhaz 12y agoThank you! Makes sense.
- feld 12y ago> Literally, you just boot bsd.rd, smash return a few times, reboot, and you're done. No, you're not done. You've merely dropped a new OS onto an old OS. It's now an exercise to the user to figure out how to remove all the files leftover from the old OpenBSD release. Leaving older libraries around is dangerous as programs could link against them long after they've been retired potentially exposing you to vulnerabilities that you didn't think you were exposed to anymore. The correct way to upgrade OpenBSD is to do a clean install. Hopefully someday they'll support a tool like "freebsd-update" which handles all of this for the user.
- hhw 12y agoWhat exercise? The upgrade guide tells you exactly how to remove what leftover files. You could copy and paste the rm commands mindlessly, not that I would suggest doing anything mindlessly. If you're using the official OpenBSD packages, they would be linked to the correct libraries for that release, so there's no need to worry about linking to the wrong libraries. If you're compiling your own packages, you should be aware of anything you've done with any libraries that would require you pay any particular attention necessary to files being removed. Otherwise, it's not anything you would need be concerned about as a user. Where do you get the idea that a clean install is the correct way to upgrade? Considering how conservative OpenBSD is, it would not provide an upgrade process if it wasn't something that was very well supported.
- protomyth 12y agoYou'll, I hope, note that a lot of the text is under the section "Upgrading without install kernel" which starts with "This is NOT the recommended process. Use the install kernel method if at all possible!". In practice, it takes very little time to upgrade an OpenBSD machine. As calrogman pointed out pkg_add -u is quite nice. Is FreeBSD easier. Mostly, but I just went through a lot of manual crap because of a change in gnome and a php module causing a crash. I use a mix of FreeBSD, OpenBSD, Red Hat, and Windows servers at work.
- ams6110 12y agoUpgrades are not that bad. I used to also think the same as you, because the documentation is pretty extensive, and I was used to Windows/MacOS "click here to install updates" process. But in practice, upgrading OpenBSD is basically: 1) Download and boot the bsd.rd for the new version. 2) Select [U]pgrade when prompted. 3) Mostly just accept defaults on the rest of the prompts. Do read carefully however. After rebooting, run sysmerge(8). This has actually gotten even easier recently as you no longer need to point it to etc.tgz and xetc.tgz for that release. If you have any packages installed, run pkg_add -u. If anything goes wonky, you might need to run pkg_check to clean up dependencies. If you have compiled anything else from source you will need to remake/reinstall that also. It's definitely more "hands on" than Windows, Mac OS, or most Linux distros. But really not bad.
- yellowapple 12y ago> I wanted to try OpenBSD, however the amount of labor required to simply upgrade the system (Google "openbsd upgrading") outweighed all benefits for me at the current point. It's actually not that hard. Even with the 5.4->5.5 upgrade (which broke binary compatibility on my PowerBook), I just needed to fire up the install disk, pick "upgrade" instead of "install", press Enter/Return a few times, and reboot (after which you run "sysmerge" to get your configuration files in order, then tweak $PKG_PATH and run a quick "pkg_add -u" in most cases (in mine, I had to save a list of all installed packages, uninstall everything, then reinstall from that list, but that was only slightly more tedious), similar to FreeBSD from what I understand). It's only "hard" if you're trying to upgrade without booting into the install kernel first; not being recommended aside, even this isn't particularly difficult if you follow the upgrade guides, though perhaps it's a bit tedious, and just involves doing manually what the installer does for you automatically. > Also, FreeBSD has pkg, which is a neat binary package manager - which is important on a desktop/laptop - and it looks like OpenBSD still uses the old, manual pkg_add way. A pkg_add command is still involved, but it doesn't seem to be much different from most package managers; it still downloads binaries, checks dependencies, and does all the other nifty things that most modern package managers do. It ain't zypper or nix, but it does its job well enough. Granted, I don't have all that much experience with pkg, so perhaps pkg_add is indeed primitive in comparison (it's certainly pretty spartan, to say the least). It's a step up from dealing with the ports tree directly, though, so there's that :) > Maybe I'll try it on the third laptop, curiosity grows bigger every day for sure. You definitely should. [0]: http://www.openbsd.org/faq/upgrade56.html http://www.openbsd.org/faq/upgrade56.html