PBI Manager/10.1

From PC-BSD Wiki
Revision as of 09:34, 3 June 2014 by Drulavigne (Talk | contribs)

Jump to: navigation, search

PBI Manager is a suite of command line utilities which can be used to install, remove, and manage PBIs.

This chapter provides an overview of the commands that are installed by PBI Manager. When using these commands, note that single character options can not be stacked. As an example, you must type pbi_add -i -v as pbi_add -iv will fail with a syntax error.



The pbi meta-command can be used to install, uninstall, and get information about PBIs. Unlike the other pbi_* commands, it uses a space instead of an underscore. For example, pbi add is equivalent to pbi_add and either command can be used to install a PBI.

This meta-command expects to be given a sub-command, and then a suitable option for that sub-command. To see the available options for a sub-command, use the built-in help system. For example, to see the available options for the add sub-command, type pkg help add. Table 7.3a summarizes the available sub-commands.

Table 7.37.3a: pbi Sub-Commands [Tables 1]
Sub-Command Description
add installs the specified PBI
delete uninstalls the specified PBI
help shows the options for the specified sub-command
icon adds or deletes the PBI's desktop icon, menu icon, or MIME registration
info shows all available PBIs or lists the packages installed into a specified jail
install equivalent to add


The pbi_add command is used to install a specified PBI. Table 7.3b summarizes the available options.

Table 7.37.3b: pbi_add Options [Tables 2]
Switch Description
-f force installation, overwriting an already installed copy of the application
-i display information about specified PBI; if combined with -v, will display all of the files that will be installed with the PBI
-j <jailname> installs the PBI into the specified jail
-l display LICENSE text for specified PBI
-v enable verbose output

The following example installs the alpine PBI. When prompted, input your password.

sudo pbi_add alpine

Updating repository catalogue Installing: alpine The following 2 packages will be installed:

       Installing pico-alpine: 2.00_1
       Installing alpine: 2.00_4

The installation will require 9 MB more space

2 MB to be downloaded pico-alpine-2.00_1.txz 100% 314KB 313.9KB/s 313.9KB/s 00:01 alpine-2.00_4.txz 100% 1701KB 1.7MB/s 1.4MB/s 00:01 Checking integrity... done The following 2 packages will be installed:

       Installing pico-alpine: 2.00_1
       Installing alpine: 2.00_4

The installation will require 9 MB more space

0 B to be downloaded Checking integrity... done [1/2] Installing pico-alpine-2.00_1... done [2/2] Installing alpine-2.00_4... done

      • To use GnuPG with Alpine, take a look at the mail/pine-pgp-filters port ***

PBI Manager will automatically install the appropriate PBI. If only a 32-bit version is available, the 32-bit PBI will be installed and will work correctly on the PC-BSD® system.

If you previously downloaded the PBI, do not include the -r switch and give the fullname of the PBI:

pbi_add alpine-2.00_4_1-amd64.pbi


pbi.conf is an ASCII text configuration file containing values that are used by the various pbi_* commands. The proxy variables are only needed if the system uses a proxy server to access the Internet. Table 7.3d lists the supported variables.

Table 7.37.3d: pbi.conf Variables [Tables 3]
Variable Description
PBID_REFRESH wakeup time in seconds for pbid to run its checks
PBI_INDEXREFRESH number of hours representing how often pbid refreshes the index and meta files from repos; default is every 24 hours
PBI_PROXYURL proxy server IP address
PBI_PROXYPORT proxy server port number
PBI_PROXYUSER username used to authenticate with proxy server
PBI_PROXYPASS password used to authenticate with proxy server
PBI_FBSDMAJOR can be set to the major FreeBSD version when running -CURRENT or some other version with no PBIs


Similar to FreeBSD's pkg_delete, the pbi_delete command removes an installed PBI from the system. It also schedules cleaning for the shared library directory, which is performed by pbid. Table 7.3f summarizes its options:

Table 7.37.3f: pbi_delete Options [Tables 4]
Switch Description
-v enable verbose output
--clean-hdir perform a full cleaning of the shared hash directory, removing any unused files; should only be required after a system crash or failure in removing a PBI

The following example uninstalls the previously installed alpine PBI:

pbi_delete -v alpine-2.00_4_1-amd64

Running pre-removal script: /var/db/pbi/installed/alpine-2.00_4_1-amd64/pre-remove.sh Removing: /usr/pbi/alpine-amd64

Removing: /var/db/pbi/installed/alpine-2.00_4_1-amd64


The pbi_icon command provides a number of options for adding desktop icons, menu entries, and mime data for an installed PBI. Not all PBIs will contain desktop/menu/mime data. Additionally, the window manager must be XDG[1]-compliant to understand a PBI's icon and mime settings. Table 7.3g summarizes this command's options:

Table 7.37.3g: pbi_icon Options [Tables 5]
Switch Description
add-desktop installs desktop icon; should be run as regular user
add-mime installs mime information; should be run as root
add-menu installs menu icons; should be run as root
add-pathlnk installs any $PATH links to ~/bin when run as user or to $LOCALBASE when run as root
del-desktop removes desktop icon; should be run as regular user
del-menu removes menu icons; should be run as root
del-mime removes mime information; should be run as root
del-pathlnk removes any $PATH links to ~/bin when run as user or to $LOCALBASE when run as root


Similar to FreeBSD's pkg_info command, the pbi_info command is used to determine which PBIs are currently installed. Table 7.3i summarizes the available options:

Table 7.37.3i: pbi_info Options [Tables 6]
Switch Description
-a list all PBIs installed on the system; same as running pbi_info without an argument
-i list all available PBIs from any repo
-v enable verbose output




  1. http://en.wikipedia.org/wiki/Xdg

 Translator:  Please update the last element on this page, and/or locate the {{groupListHeading|group=tables}} line, replace that with {{GroupRefHeading|{{putCommon|19}}}}

Other languages:German 11% • ‎English 100%

Cite error: <ref> tags exist for a group named "Tables", but no corresponding <references group="Tables"/> tag was found
Personal tools