Package Manager/9.2

From PC-BSD Wiki
Revision as of 13:24, 5 February 2013 by Vater (Talk | contribs)

Jump to: navigation, search

(Sorry for the inconvenience)

pc-metapkgmanager is the back-end command line utility used by the PC-BSD® installer, System Manager, Update Manager, and Warden® to manage meta-packages. Meta-packages are like system components, and include supported and unsupported desktops, development utilities, hardware drivers, and miscellaneous applications such as MythTV or XBMC.

Beginning with version 9.1, PC-BSD® uses metapkgsets to determine which system components are available and which applications are installed with each system component. Currently, two metapkgsets are available: pcbsd which defines the available desktop components, and warden which defines the components available when creating a jail with Warden® or installing a PC-BSD® server. You can view the contents of these metapkgsets on trac[1].

The pc-metapkgmanager command can be used at the command line to install or delete meta-packages, update to the latest package set, or to change the default metapkgset. If you type the command without any options, it will display its usage:

usage: pc-metapkgmanager [options]
 add pkg1,pkg2 <loc>	 -- Add the specified list of meta-packages 
                           <loc> should be a FTP / HTTP url where pkg_add 
                           can fetch packages, or an absolute path to 
                           location of pkg files on disk.
 checkup		 -- Check for updates to pkgs
 del pkg1,pkg2	  	 -- Delete the specified list of meta-packages
 list     	         -- List the available meta-packages
 status <pkg>    	 -- List the status of the specified meta-packages
 update pkg,pkg2 <loc>  -- Update system packages. Can use 'all' or <pkg,pkg2>.
                           <loc> should be a FTP / HTTP url where pkg_add 
                           can fetch packages, or an absolute path to 
                           location of pkg files on disk.
 --pkgset <pkgset>	 -- Change default pkgset we are using
 --chroot <dir>	 -- Operate on the directory specified using chroot

Finding, Installing, and Uninstalling Meta-Packages

To determine which meta-packages are available:

pc-metapkgmanager list |more
Meta Package: Awesome
Description: A highly configurable, next generation framework window manager
Icon: /var/db/pc-metapkgmanager/pkgsets/pcbsd/Awesome/pkg-icon.png
Parent: Unsupported-Desktops
Desktop: YES
Required Packages:
Meta Package: Compiz
Description: Compiz - OpenGL compositing manager
Icon: /var/db/pc-metapkgmanager/pkgsets/pcbsd/Compiz/pkg-icon.png
Parent: Misc
Desktop: NO
Required Packages:
Meta Package: Desktops
Description: Supported Desktop Environments for your PC-BSD system. 
Icon: /var/db/pc-metapkgmanager/pkgsets/pcbsd/Desktops/pkg-icon.png
Desktop: NO
Category Entry
Meta Package: Development
Description: Development tools and utilities for your Desktop
Icon: /var/db/pc-metapkgmanager/pkgsets/pcbsd/Development/pkg-icon.png
Desktop: NO
--More--(byte 989)

To view which meta-packages are available in an alternate metapkgset, specify the metapkgset name. For example, to view the available warden meta-packages from your desktop, use this command:

pc-metapkgmanager --pkgset warden list | more
Meta Package: Apache
Description: The Apache Web Server
Icon: /var/db/pc-metapkgmanager/pkgsets/warden/Apache/pkg-icon.png
Parent: Web-Servers
Desktop: NO 
Required Packages:
Meta Package: BigBlueButton
Description: BigBlueButton enables universities and colleges to deliver
a high-quality learning experience to remote students.
Icon: /var/db/pc-metapkgmanager/pkgsets/warden/BigBlueButton/pkg-icon.png
Parent: Web-Apps
Desktop: NO
Required Packages:
Meta Package: Database-Servers
Description: Database Server Software
Icon: /var/db/pc-metapkgmanager/pkgsets/warden/Database-Servers/pkg-icon.png
Desktop: NO 
Category Entry 
Meta Package: Development
Description: Development tools and utilities
Icon: /var/db/pc-metapkgmanager/pkgsets/warden/Development/pkg-icon.png
--More--(byte 989)

To permanently change the default metapkgset between pcbsd and warden, modify the PCBSD_METAPKGSET variable in /usr/local/etc/pcbsd.conf.

To determine if a meta-package is installed, specify its "Meta Package" name as shown in the output of the pc-metapkgmanager list command. For example, to see if the Awesome desktop is installed:

pc-metapkgmanager status Awesome
The meta-pkg Awesome is not installed

To install the meta-package, use the add option and specify the meta-package name. Only the superuser can install meta-packages. If you do not specify the URL, the default mirror will be used. If you receive an error when downloading the package, you can change the default mirror in Control PanelSystem ManagerMirrors.

The following example installs the Awesome meta-package. pc-metapkgmanager will provide messages regarding the status of the installation:

pc-metapkgmanager add Awesome 
Pending Meta-Package changes: 1
Package source: NET
Preparing to add: Awesome... 
Checking for updates to old packages...
Installing Meta-Package: Awesome
Getting package list...
Pending package changes: 6
Downloading package: awesome-3.4.13
//usr/local/tmp/awesome-3.4.13.txz            100% of  704 kB  637 kBps
Downloading package: libev-4.11,1
//usr/local/tmp/libev-4.11,1.txz              100% of  117 kB  361 kBps
Downloading package: libxdg-basedir-1.1.1
//usr/local/tmp/libxdg-basedir-1.1.1.txz      100% of   11 kB  130 kBps
Downloading package: xcb-util-image-0.3.8
//usr/local/tmp/xcb-util-image-0.3.8.txz      100% of   18 kB  141 kBps
Downloading package: xcb-util-keysyms-0.3.8
//usr/local/tmp/xcb-util-keysyms-0.3.8.txz    100% of 8040  B   72 kBps
Downloading package: xcb-util-wm-0.3.8
//usr/local/tmp/xcb-util-wm-0.3.8.txz         100% of   35 kB  148 kBps
Installing package: awesome-3.4.13
Skipping installed package: libev-4.11,1
Skipping installed package: libxdg-basedir-1.1.1
Skipping installed package: xcb-util-image-0.3.8
Skipping installed package: xcb-util-keysyms-0.3.8
Skipping installed package: xcb-util-wm-0.3.8
The meta-pkg Awesome is installed
Finished Meta-Package: Awesome
Meta-Package changes finished!

To delete an installed meta-package, specify its name. Only the superuser can uninstall meta-packages. As seen in the following example, pc-metapkgmanager automatically determines which dependent packages are still needed by other applications and which can be safely removed.

pc-metapkgmanager del Awesome
Pending Meta-Package changes: 1
Removing Meta-Package: Awesome
Getting package list...
Pending package changes: 66
Removing: awesome-3.4.13
Skipping Meta-Required: giflib-4.2.0_2
Removing: libev-4.11,1
Removing: libxdg-basedir-1.1.1
Removing: xcb-util-image-0.3.8
Removing: xcb-util-keysyms-0.3.8
Removing: xcb-util-wm-0.3.8
Skipping Required: bitstream-vera-1.10_5
Skipping Required: cairo-1.10.2_4,2
<snip output of other required packages>
The meta-pkg Awesome is not installed
Meta-Package changes finished!

Upgrading Meta-Packages

pc-metapkgmanager can also be used to determine if any meta-packages are out of date and to update meta-packages. To determine if any meta-packages have newer versions:

pc-metapkgmanager checkup
All packages are up to date!

In this example, all meta-packages are at their latest versions. If any were out of date, you would instead receive the message "The following package updates are available:" followed by the names of the out-of-date meta-packages.

To update a meta-package, use the pc-metapkgmanager update command followed by the name of the specific meta-package or the word all to update all out-of-date meta-packages.

pc-metapkgmanager records any error messages to /tmp/.pc-metamanager.log. This log file automatically rotates whenever it reaches 5MB in size.


Personal tools