Alternate OS: PC-BSD, Part 3

by Darrel Johnston (djohnston)

Installing any security updates and bugfixes is a snap. The update manager automatically starts when the desktop is started, and will connect to the chosen repository to check for available updates. While it is checking for updates, a yellow shield will be displayed as the icon in the system tray. After the update check is attempted, the resulting icon reflects the state of updates.

The snapshot above was taken from section 6.3 of the PC-BSD Manual, which covers the update manager. One day, I started PC-BSD and soon saw the round blue icon, indicating I had updates for installed PBIs. Actually, it was only one installed PBI.

Firefox was ready to update from version 10.0.3 to 12.0. That may seem like a large jump, until you realize that Mozilla now increases the major release number every six weeks. So, it was less than twelve weeks between updates. Updating was just a matter of highlighting the application name, then clicking the Update button.

After downloading, it was automatically updated. Note that a first time installation of Firefox is a much larger file than the one shown above. The difference between the older and the newer versions consisted of only 12 MB, and it was the difference between the two that was downloaded. That’s a very handy feature.

After posting the problems I had with KPorts in the PC-BSD forum, I was advised that KPorts had been troublesome for quite some time. The installed version was 0.8.2_4_1. Looking at the SourceForge wiki main page, we see that version 0.8.0 was released the last day of 2008. 0.8.1 was released April 1st, 2009, (a sign?), and 0.8.2 was finally released on December 13th, 2009. Well, at least it wasn’t a Friday. On the SourceForge FAQ page, the program’s author answers the question, “So what can KPorts 0.8.0 do?” His answer deserves some scrutiny.

KPorts 0.8.0 cannot install or deinstall ports/packages!

I know thats the whole point of the application, but it just isn't done yet.

You can browse your portstree, search for packages and view all sorts of information about Ports and Packages. This should make some things easier and its nice to look at ;) 

All I can say in response is that I should have done my homework! I opened the AppCafe, clicked on the Installed tab, highlighted kports and clicked the Remove button. Just like Linux, uninstalling the application left “lint” behind, in the form of a hidden configuration directory in my home directory. I removed that, too.

With all that in mind, a PC-BSD forum user suggested I should use bxPKG as a GUIfied port/package manager. I could either install a PBI or install from source. I still cannot locate bxPKG in AppCafe, the PBI manager. I located the tarball, last updated on April 28th, 2012, in the FreeBSD version 9 i386 repository’s stable section. I downloaded it, then unpacked the tarball to a directory. Next, I opened a terminal and changed to the /usr/ports/ports-mgmt/bxpkg directory. As user root, I entered make install clean. In a few short minutes, I had a fresh installation of bxPKG.

But, no desktop file. The executable has to be run from the root account. I could simply open a console and run it from CLI, but I created a desktop file for it. The first time I launched the program from the desktop file, KDE issued a crash warning, yet it recovered from the crash on its own. That should have been a warning sign.

Undaunted, I moved right along with bxPKG, as if I really knew what I was doing with this application. With the program window open, all system and PBI installed packages were listed in the left pane under the Installed Packages tab. I clicked the Updating Manager button at the top of the window.

An index was built and packages that could be updated were shown in a separate window.

With all packages selected, I clicked the Start button.

Nothing happening yet. I had to click the Start/Continue button.

And away we went.

Uh oh. All jobs completed with 14 problems. Let’s see if we can locate the source of the problems. PEBCAK?

This looks bad. First problem was with bxPKG itself. Maybe the missing dependencies can be reinstalled.

We’re off to a good start.

You gotta be kidding me. All jobs completed, but now we have 129 problems?

I closed the bxPKG application and rebooted. KDE would not start due to at least two missing shared libraries. There were probably a few more missing, but only two were shown as preventing me from starting the display manager. This time, I did not have to reinstall. I had backed up the virtual machine before I began this fiasco, and it was a simple matter of restarting from the backup VM.

There are a few ways of installing packages in PC-BSD. To update the ports collection, we need to open the System Manager from the PCBSD Control Panel.

Under the General tab of the System Manager, we can generate a diagnostic sheet. Clicking the button will produce a dialog window, asking you what to name the file and where to save it.

Under the Mirrors tab, we can select the repository we wish to use. The one shown was selected by default. It is also one of the mirrors listed in the United States section of the pulldown list.

Under the System Packages tab, we see the same sections listed we did when first installing PC-BSD. However, now the sections are greatly expanded with subsections.

Under the Tasks tab, we see three buttons. One is what we were looking for to fetch the ports tree.

Clicking the button will store the ports tree from our chosen repository to our local hard drive. We can then install binary packages, or compile from source code within that ports tree.

I did not fetch the system ports tree. I had already done enough damage.

Under the Misc tab, we can choose whether or not to show a splash image on boot, choose a custom image to use and choose our preferred language. There is also an option to force IBUS keyboard input.

I had looked through the games section in AppCafe and did not see Frozen Bubble listed. However, browsing the /usr/ports/games directory, I saw a subdirectory for frozenbubble. So, I decided to use the CLI package manager to install the game. After opening a terminal, I switched to the root account and issued the command pkg_add -r frozenbubble.

After installing, I was given suggestions for starting the game if I received an error message.

That doesn’t sound promising.

I got perl script errors when trying to start the game.

One interesting capability of PC-BSD, because of its FreeBSD heritage, is the use of ports jails. A ports jail is a sandbox for applications that run isolated from other system processes. It can be used for testing applications, as well as isolating troublesome ones from the rest of the system. PC-BSD has created a GUI application for setting up ports jails, called, aptly enough, Warden. You can read all about ports jails in section 7.1 of the PC-BSD Handbook. And, you can read about the Warden program in section 7.10. I’m not going there. I’d probably end up locking myself in and throwing away the key.

PC-BSD’s aim and purpose is bringing FreeBSD to the desktop and making it easy to use. I would say it’s 99% of the way there already. I would also have to say that it requires a bit more “horsepower” to run than an equivalent Linux version with the same basic capabilities and running the same desktop.