Difference between revisions of "Meta Package Manager"
Drulavigne (Talk | contribs) |
Drulavigne (Talk | contribs) (→Finding, Installing, and Uninstalling Meta-Packages) |
||
| (5 intermediate revisions by one user not shown) | |||
| Line 24: | Line 24: | ||
--pkgset <pkgset> -- Change default pkgset we are using | --pkgset <pkgset> -- Change default pkgset we are using | ||
--chroot <dir> -- Operate on the directory specified using chroot | --chroot <dir> -- Operate on the directory specified using chroot | ||
| + | |||
| + | === Finding, Installing, and Uninstalling Meta-Packages === | ||
To determine which meta-packages are available: | To determine which meta-packages are available: | ||
| Line 86: | Line 88: | ||
Meta Package: Development | Meta Package: Development | ||
------------------------------------- | ------------------------------------- | ||
| − | Description: | + | Description: Development tools and utilities |
Icon: /var/db/pc-metapkgmanager/pkgsets/warden/Development/pkg-icon.png | Icon: /var/db/pc-metapkgmanager/pkgsets/warden/Development/pkg-icon.png | ||
--More--(byte 989) | --More--(byte 989) | ||
| Line 97: | Line 99: | ||
The meta-pkg Awesome is not installed | The meta-pkg Awesome is not installed | ||
| − | To install the meta-package, specify the meta-package name | + | 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 Panel ➜ [[System Manager]] ➜ Mirrors. |
| − | '''pc-metapkgmanager add Awesome | + | 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 | Pending Meta-Package changes: 1 | ||
Package source: NET | Package source: NET | ||
| Line 108: | Line 112: | ||
Pending package changes: 6 | Pending package changes: 6 | ||
Downloading package: awesome-3.4.13 | 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. | |
| − | To delete an installed meta-package, specify its name. Only the superuser can uninstall meta-packages. | + | |
'''pc-metapkgmanager del Awesome''' | '''pc-metapkgmanager del Awesome''' | ||
Pending Meta-Package changes: 1 | Pending Meta-Package changes: 1 | ||
Removing Meta-Package: Awesome | Removing Meta-Package: Awesome | ||
| − | Pending package changes: | + | Getting package list... |
| − | Removing: awesome-3.4. | + | 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 | The meta-pkg Awesome is not installed | ||
| − | |||
Meta-Package changes finished! | Meta-Package changes finished! | ||
| − | '''pc-metapkgmanager''' can also be used to | + | === 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 | + | '''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. | '''pc-metapkgmanager''' records any error messages to ''/tmp/.pc-metamanager.log''. This log file automatically rotates whenever it reaches 5MB in size. | ||
Revision as of 15:54, 28 November 2012
| Meta Package Manager |
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:
pc-metapkgmanager
usage: pc-metapkgmanager [options]
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: awesome-3.4.13 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: compiz-fusion-0.8.4_2 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: apache-2.2.22_6 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: mysql-server-5.5.27 bigbluebutton-0.71_3 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 Panel ➜ System Manager ➜ Mirrors.
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.
References