Difference between revisions of "Meta Package Manager"
Drulavigne (Talk | contribs) |
Tigersharke (Talk | contribs) (→Upgrading Meta-Packages) |
||
| (7 intermediate revisions by 3 users not shown) | |||
| Line 7: | Line 7: | ||
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: | 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: | ||
| − | + | {{txtbox|box='''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 === | === Finding, Installing, and Uninstalling Meta-Packages === | ||
| Line 29: | Line 29: | ||
To determine which meta-packages are available: | To determine which meta-packages are available: | ||
| − | + | {{txtbox|box='''pc-metapkgmanager list {{pipe}} more''' | |
| − | + | Meta Package: Awesome | |
| − | + | <nowiki>-</nowiki>------------------------------------ | |
| − | + | 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 | |
| − | + | <nowiki>-</nowiki>------------------------------------ | |
| − | + | 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 | |
| − | + | <nowiki>-</nowiki>------------------------------------ | |
| − | + | 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 | |
| − | + | <nowiki>-</nowiki>------------------------------------ | |
| − | + | 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: | 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: | ||
| − | + | {{txtbox|box='''pc-metapkgmanager --pkgset warden list {{pipe}} more''' | |
| − | + | Meta Package: Apache | |
| − | + | <nowiki>-</nowiki>------------------------------------ | |
| − | + | 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 | |
| − | + | <nowiki>-</nowiki>------------------------------------ | |
| − | + | 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 | |
| − | + | <nowiki>-</nowiki>------------------------------------ | |
| − | + | Description: Database Server Software | |
| − | + | Icon: /var/db/pc-metapkgmanager/pkgsets/warden/Database-Servers/pkg-icon.png | |
| − | + | Desktop: NO | |
| − | + | Category Entry | |
| − | + | Meta Package: Development | |
| − | + | <nowiki>-</nowiki>------------------------------------ | |
| − | + | 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 permanently change the default metapkgset between ''pcbsd'' and ''warden'', modify the ''PCBSD_METAPKGSET'' variable in ''/usr/local/etc/pcbsd.conf''. | ||
| Line 96: | Line 96: | ||
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: | 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: | ||
| − | + | {{txtbox|box='''pc-metapkgmanager status Awesome''' | |
| − | + | 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''. |
| − | + | The following example installs the Awesome meta-package. '''pc-metapkgmanager''' will provide messages regarding the status of the installation: | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| + | {{txtbox|box='''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. | + | 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. |
| − | + | {{txtbox|box='''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 === | === Upgrading Meta-Packages === | ||
| − | '''pc-metapkgmanager''' can also be used to | + | '''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: |
| − | + | {{txtbox|box='''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 23:03, 18 February 2013
| 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