OctoPkg: A Great GUI Package Manager In FreeBSD

If you are looking for a GUI package manager in FreeBSD, what options do you have if managing packages using a terminal is not your thing? And this question makes even more sense if you are coming from Linux as the Tux world is abundant with package managers, graphical or otherwise.

Introducing OctoPkg a fast, simple, and reliable front-end GUI package manager for FreeBSD that provides a similar experience as Synaptic package manager on Linux systems. 

Though most FreeBSD users prefer the good old terminal to manage packages in FreeBSD (you’ll probably end there sooner or later), having a graphical package manager in FreeBSD does make life easier especially for new users.

In this article, we will learn how to install, configure and use the OctoPkg GUI package manager in FreeBSD as well as the complete list of package classification and shortcuts in OctoPkg.

What is OctoPkg Package Manager

OctoPkg is a fast and simple Qt5-based pkgng front-end package manager for FreeBSD, built in C++. Since OctoPkg is licensed under the terms of GPL v2, the source code is available for download and review on GitHub freely.

OctoPkg has a clean, easy-to-use interface. Much like searching packages and applications with Synaptic in Linux, you can search packages in the FreeBSD repository by package name, file, or description. 

It provides information about the package description, current version, package size and maintainer, and a built-in news feed for each package to keep you informed with the latest developments.

OctoPkg GUI package manager in FreeBSD. Source: nudesystems.com
OctoPkg: FreeBSD graphical package manager

For packages already installed in your system, OctoPkg provides information with the location of the package installed in your system as well as if any updates are available for it. 

In addition, OctoPkg can be used to check and install system updates without ever opening a terminal window.  

Install OctoPkg GUI Package Manager in FreeBSD

Open a terminal and switch to the root user. Type your root password when prompted.

su -

To install OctoPkg in FreeBSD, execute the following command in the terminal. Press the y key to confirm the installation when prompted.

pkg install octopkg

You can run OctoPkg via the menu of your Desktop Environment of choice or simply execute the octopkg command in the terminal as a normal user.

If doas is not installed and configured on your system, you will most likely see the “octopkg-doas: Failure to exec ‘sudo’: No such file or directory” error.

In other words, OctoPkg asks for root privileges but is unable to get them in your system.

OctoPkg FreeBSD Error. Source: nudesystems.com
OctoPkg FreeBSD graphical package manger error

This error is most likely caused by doas not being installed and/or configured properly in your system. To install doas, in the terminal execute the commands below as a root user:

pkg install doas

Next, generate a doas.conf file by executing the following command:

ee /usr/local/etc/doas.conf

If you want to be asked for the root password each time you use the OctoPkg GUI package manager in FreeBSD, add the following line in the doas.conf file. Replace <username> with your actual user name [not root].

permit keepenv :<username>

If you want to run the OctoPkg GUI package manager in FreeBSD without being prompted for the root password, add the following line instead. Replace <username> with your actual user name [not root].

permit nopass keepenv :<username>

Make sure you preserve the column sign  “:” before your username for the instruction to take effect. Here is how doas.conf file configured to prompt for the root password looks like in my system.

Configure doas for OctoPkg GUI Package Manager in FreeBSD. Source: nudesystems.com
Configure doas for OctoPkg GUI Package Manager in FreeBSD

Save and exit the ee editor for doas.conf file by pressing the ESC key once and typing the “a” key twice.

NOTE: The doas utility is an incredibly versatile, secure, and considerably better alternative to the more popular sudo command. Here is an article where I cover how to install and configure doas in FreeBSD in more detail.

Package Management with OctoPkg in FreeBSD

Open the OctoPkg via your desktop menu or simply execute the octopkg command in the terminal as a normal user.

Like with all package managers, we need to make sure that the OctoPkg database is synchronized and up to date first. Click on the Check for updates icon on the top left side of the OctoPkg interface to refresh the package database on your system.

OctoPkg FreeBSD database update. Source: nudesystems.com
OctoPkg graphical package manager in FreeBSD database update

By default, OctoPkg will show you the packages already installed in your system. Press the Earth-like icon next to the search field in OctoPkg to toggle between installed packages or packages available via the FreeBSD repository.

OctoPkg switch FreeBSD package repository. Source: nudesystems.com
OctoPkg switch FreeBSD package repository

Type the name of the package you are looking for and press the ENTER key. Right-click on the package and select Install from the drop-down menu.

Install packages using OctoPkg in FreeBSD. Source: nudesystems.com
Install packages using OctoPkg in FreeBSD

You can search and mark up multiple packages for installation first before committing. 

To commit the installation of the selected packages, click on the Apply icon on the top bar or press CTRL+M.

Commit install in OctoPkg. Source: nudesystems.com
Commit install in OctoPkg

You will be prompted to confirm the installation and ask for your root password if you chose to do so via the doas.conf file.

To cancel all the changes you made so far and start fresh, click on the Cancel icon or press CTRL+E.

Cancel changes in OctoPkg. Source: nudesystems.com
Cancel changes in OctoPkg

To manage your currently installed packages in FreeBSD, switch to the installed packages in OctoPkg [click on the Earth-like icon]. Right-click on a package to reinstall or remove a package.

In addition, the OctoPkg GUI package manager in FreeBSD allows you to search for a specific file in a package or lock a package to the current version and avoid future updates – if needed.

OctoPkg package management in FreeBSD. Source: nudesystems.com
OctoPkg package management in FreeBSD

Updating The System Using OctoPkg

Besides installing new software on FreeBSD, OctoPkg can also assist you in managing updates on your system.

To instruct OctoPkg to look for new updates for new package updates on your system, navigate to the File > Check updates option in the OctoPkg menu or press CTRL+D.

To instruct OctoPkg to install the available updates on your system, navigate to the File > Install updates option in the OctoPkg menu or press CTRL+U

For a full list of shortcuts available in the OctoPkg GUI package manager in FreeBSD, check the OctoPkg Shortcut Bindings section below.

Most package errors encountered in FreeBSD can be easily fixed by simply clearing the local cache on your system. OctoPkg provides an option for this as well and can be found under File > Clean the local cache option in the OctoPkg menu.

OctoPkg Package Classification

You may have noticed that packages in OctoPkg are marked with different icons representing the current state of the package. Here is a list with all the package classifications in OctoPkg and their respective meaning. 

OctoPkg package classification. Source: nudesystems.com
OctoPkg package classification

OctoPkg Shortcut Bindings

If you prefer managing packages in FreeBSD without touching the mouse (e.g., tiling window users), OctoPkg provides a comprehensive list of shortcuts to make sure your hands won’t leave the keyboard.

We compiled a list with all available OctoPkg shortcuts classified by their key bindings (ALT, CTRL, SHIFT, and Function) in the tables below for your reference.

OctoPkg shortcuts using the ALT+key bindings:

ShortcutAssigned action
Alt+1Switch to the ‘Info’ tab
Alt+2Switch to the ‘Files’ tab
Alt+3Switch to the ‘Actions’ tab
Alt+4Switch to the ‘Output’ tab
Alt+5Switch to the ‘News’ tab
Alt+6 or ‘F1’Show the Help page
Alt+”Left key”Go to previously clicked anchor
Alt+”Right key”Go to the next clicked anchor
Alt+”Home key”Go to the first clicked anchor
Alt+”End key”Go to the last clicked anchor
OctoPkg shortcuts using the ALT key

OctoPkg shortcuts using the CTRL+key bindings:

ShortcutAssigned action
Ctrl+DSearch for latest package updates
Ctrl+UInstall available package updates
Ctrl+LFind a package in the package list
Ctrl+IInstall a new package
Ctrl+PGo to the package list
Ctrl+FSearch for text inside tab Files, News, and Usage
Ctrl+MStart installation/removal of selected packages
Ctrl+EClear the selection of “to be removed” and “to be installed” packages
Ctrl+GGet the latest BSD news’ to retrieve the latest RSS based BSD news
Ctrl+QExit OctoPkg application
OctoPkg shortcuts using the CTRL key

OctoPkg shortcuts using the CTRL+SHIFT+key binding:

ShortcutAssigned action
Ctrl+Shift+CClean the local cache’ to clean the local package cache [pkg clean]
OctoPkg shortcuts using the CTRL+SHIFT keys

OctoPkg shortcuts using the Function+key bindings:

ShortcutAssigned action
F1Show the Help page
F4Open a Terminal within the selected directory at the Files tab
F6Open a File Manager within the selected directory at the Files tab
F10Maximize/demaximize package list view
F11Maximize/demaximize Tab’s view
OctoPkg shortcuts using the Function keys

Wrapping Up

OctoPkg is a GUI package manager for FreeBSD that provides you with all the basic functionality of the pkg command, wrapped up in a simple yet elegant interface. 

It literally takes seconds to install, remove or update FreeBSD packages with OctoPkg even if you see its interface for the first time. We use it on a daily basis on our FreeBSD desktops for many months now without experiencing any issues.

For more cool FreeBSD tutorials like this, please check our FreeBSD section of this website. 

And if you found this article useful, share it around. It may be a trivial thing for you, but for us, it makes all the difference in the world.

Stay safe!