PBI Manager/10.1

From PC-BSD Wiki
Revision as of 09:10, 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.



Table 7.37.3a: pbi Sub-Commands [Tables 1]
Sub-Command Description


The pbi_add command is used for adding/installing PBIs on a system, either from a local file or remotely from a repository. This utility supports the options listed in Table 7.3a. All of the options, except for -r, assume that the .pbi file has already been downloaded and is in the current or specified directory.

Table 7.37.3a: pbi_add Options [Tables 2]
Switch Description
-e extract only, do not install; will extract the archive to ~/<pbidirname> unless the -o option is used
-f force installation, overwriting an already installed copy of the application
-g show path to icons and images for GUI installations
-i display information about specified PBI; if combined with -v, will display all of the files that will be installed with the PBI
-l display license for specified PBI
-o outdir specify the directory to use when extracting the PBI with -e
-r remote fetch installation file from update server; the system version will be automatically determined in order to fetch the correct file and resume support is built-in
-R remote fetch the install file from the update server but do not install
-v enable verbose output
--checkscript display any custom scripts used in the installation/removal of the PBI
--licagree agree to license terms and conditions; to view the license, use -l
--no-checksig skip the openssl signature verification of the PBI data
--no-checksum skip the checksum verification of the archive data
--no-hash disable using the shared hash dir
--repo repoid specify which repository to use
--rArch arch manually specify the PBI architecture type of i386 or amd64
--rVer version specify which version of the PBI to install

For security reasons, it is recommend that users first use the -i -v and --checkscript options to view archive contents and installation scripts prior to installing a PBI file.

To install a PBI from a remote repository, use: pbi_add -r name_of.pbi. The following example will install the alpine PBI:

pbi_add -r alpine

/usr/pbi/.alpine-2.00_4_1-amd64.pbi 100% of 22 MB 159 kBps 02m27s Verifying Checksum...OK Extracting to: /usr/pbi/alpine-amd64

Installed: Alpine-2.00_4_1

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