PC-BSD Day 25: Updating the system
I was getting annoyed by the long string of error messages pointing to second or third digit dependencies that weren’t met. For a freshly installed PC-BSD system I expected it to be a bit more up to date. One could argue â€“ as is done in the PC-BSD forums- that this version of *BSD is meant for desktop users who should restrict themselves to using the PBIs and leave updating the system to the Online Update Manager (Settings -> Software & Updates). At the same time the Quick Guide does explain the packages and ports systems to install new software. But how do you keep PC-BSD in sync with the developments in those two systems, when -as I experienced- installing packages is accompanied by error messages and broken installs and the Online Update Manager tells me the system is up to date?
Checking the PC-BSD forums
How would the current group of users deal with this issue? For that I went to the PC-BSD forums and searched to any clues on how to update and/or upgrade the PC-BSD system. I must say that the overall picture isn’t heart warming nor encouraging. Upgrading from 1.3.4 to 1.4 is not recommended. Upgrading from a 1.4 beta release to the final release is not recommended.
What does the FreeBSD handbook say?
Chapter 4.5.4 explains how to upgrade the ports with various tools. The portupgrade utility is a command line tool with which you can upgrade the entire system or just an application. It is recommended first to run the #pkgdb -F instruction to fix any problems in the package database. The portupgrade instructions can look like this:
# portupgrade -a which will update all outdated ports on the system
# portupgrade -aP which will update all outdated ports on the system and use a package instead of a port if one is available (saving a ton of compile time)
# portupgrade -R firefox which will update Firefox but first will update all the ports required by it.
Another tool that can be used is portmanager. With # portmanager -u the whole system will be updated.
And what about the GUI tools?
I have the DesktopBSD-tools installed on my system. One very annoying problem I encounter is the message that there are conflicts in the package database, but no real information on how to fix this. Fortunately, I found this thread in the PC-BSD forum. Anyway, I opted to update all the outdated ports and DesktopBSD-tools started to handle them. It took somewhat more than an hour and -sad to say- this again showed a long list of errors and unsolved dependencies.
The unavoidable comparison
For most of the time I want to test PC-BSD on it’s own merit and not compare it to -for instance- Ubuntu Linux, but today I couldn’t really avoid it. I am spoiled by Ubuntu and the update utility. It tells me when new updates are available and then it is simply a matter of clicking the update icon and entering the root password. Dependencies are taken care of. I can do the same via the commandline, refresh the resources and update the whole thing. The graphical interface to update an Ubuntu box are simple enough for most desktop users. It’s that simplicity I miss on PC-BSD. Only when a desktop user stays away from the ports and packages he/she won’t notice the dependency errors, but then he/she is completely dependent on the PBI collection. At that point the benefits of the packages and ports are gone and would it be wiser not even to mention it in the quick guide anymore.
And at the end of the day…
I didn’t have a graphical desktop anymore. My LCD tells me that the input is not supported and running the wizard (option 6 from the bootloader) didn’t solve the problem. My my. I guess something went seriously wrong.