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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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:
Shortcut | Assigned action |
Alt+1 | Switch to the ‘Info’ tab |
Alt+2 | Switch to the ‘Files’ tab |
Alt+3 | Switch to the ‘Actions’ tab |
Alt+4 | Switch to the ‘Output’ tab |
Alt+5 | Switch 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 CTRL+key bindings:
Shortcut | Assigned action |
Ctrl+D | Search for latest package updates |
Ctrl+U | Install available package updates |
Ctrl+L | Find a package in the package list |
Ctrl+I | Install a new package |
Ctrl+P | Go to the package list |
Ctrl+F | Search for text inside tab Files, News, and Usage |
Ctrl+M | Start installation/removal of selected packages |
Ctrl+E | Clear the selection of “to be removed” and “to be installed” packages |
Ctrl+G | Get the latest BSD news’ to retrieve the latest RSS based BSD news |
Ctrl+Q | Exit OctoPkg application |
- OctoPkg shortcuts using the CTRL+SHIFT+key binding:
Shortcut | Assigned action |
Ctrl+Shift+C | Clean the local cache’ to clean the local package cache [pkg clean] |
- OctoPkg shortcuts using the Function+key bindings:
Shortcut | Assigned action |
F1 | Show the Help page |
F4 | Open a Terminal within the selected directory at the Files tab |
F6 | Open a File Manager within the selected directory at the Files tab |
F10 | Maximize/demaximize package list view |
F11 | Maximize/demaximize Tab’s view |
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!
