Difference between revisions of "Package Manager/9.2"

From PC-BSD Wiki
Jump to: navigation, search
(Upgrading Meta-Packages)
(19 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<noinclude>{{NavHeader|back=Update Manager|forward=Control Panel}}</noinclude>
+
<noinclude>{{NavHeader|back=Update Manager|forward=Create Your Own PBI Repository}}</noinclude>
  
'''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.
+
'''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 {{citelink|url=http://trac.pcbsd.org/browser/pcbsd/current#build-files/metapkgsets|txt=trac}}.
+
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 {{citelink|url=http://trac.pcbsd.org/browser/pcbsd/current#build-files/metapkgsets|txt=trac}}.
  
 
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:
  
'''pc-metapkgmanager'''
+
{{txtbox|box='''pc-metapkgmanager'''
usage: pc-metapkgmanager [options]
+
usage: pc-metapkgmanager [options]
Options:
+
Options:
  add pkg1,pkg2 <loc> -- Add the specified list of meta-packages  
+
&nbsp;add pkg1,pkg2 <loc> -- Add the specified list of meta-packages  
                            <loc> should be a FTP / HTTP url where pkg_add  
+
&nbsp;                          <loc> should be a FTP / HTTP url where pkg_add  
                            can fetch packages, or an absolute path to  
+
&nbsp;                          can fetch packages, or an absolute path to  
                            location of pkg files on disk.
+
&nbsp;                          location of pkg files on disk.
  checkup -- Check for updates to pkgs
+
&nbsp;checkup -- Check for updates to pkgs
  del pkg1,pkg2   -- Delete the specified list of meta-packages
+
&nbsp;del pkg1,pkg2   -- Delete the specified list of meta-packages
  list            -- List the available meta-packages
+
&nbsp;list            -- List the available meta-packages
  status <pkg>    -- List the status of the specified meta-packages
+
&nbsp;status <pkg>    -- List the status of the specified meta-packages
  update pkg,pkg2 <loc>  -- Update system packages. Can use 'all' or <pkg,pkg2>.
+
&nbsp;update pkg,pkg2 <loc>  -- Update system packages. Can use 'all' or <pkg,pkg2>.
                            <loc> should be a FTP / HTTP url where pkg_add  
+
&nbsp;                          <loc> should be a FTP / HTTP url where pkg_add  
                            can fetch packages, or an absolute path to  
+
&nbsp;                          can fetch packages, or an absolute path to  
                            location of pkg files on disk.
+
&nbsp;                          location of pkg files on disk.
  --pkgset <pkgset> -- Change default pkgset we are using
+
&nbsp;--pkgset <pkgset> -- Change default pkgset we are using
  --chroot <dir> -- Operate on the directory specified using chroot
+
&nbsp;--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:
  
'''pc-metapkgmanager list |more'''
+
{{txtbox|box='''pc-metapkgmanager list {{pipe}} more'''
Meta Package: Awesome
+
Meta Package: Awesome
-------------------------------------
+
<nowiki>-</nowiki>------------------------------------
Description: A highly configurable, next generation framework window manager
+
Description: A highly configurable, next generation framework window manager
Icon: /var/db/pc-metapkgmanager/pkgsets/pcbsd/Awesome/pkg-icon.png
+
Icon: /var/db/pc-metapkgmanager/pkgsets/pcbsd/Awesome/pkg-icon.png
Parent: Unsupported-Desktops
+
Parent: Unsupported-Desktops
Desktop: YES
+
Desktop: YES
Required Packages:
+
Required Packages:
awesome-3.4.11_1
+
awesome-3.4.13
Meta Package: Compiz
+
Meta Package: Compiz
-------------------------------------
+
<nowiki>-</nowiki>------------------------------------
Description: Compiz - OpenGL compositing manager
+
Description: Compiz - OpenGL compositing manager
Icon: /var/db/pc-metapkgmanager/pkgsets/pcbsd/Compiz/pkg-icon.png
+
Icon: /var/db/pc-metapkgmanager/pkgsets/pcbsd/Compiz/pkg-icon.png
Parent: Misc
+
Parent: Misc
Desktop: NO  
+
Desktop: NO
Required Packages:
+
Required Packages:
compiz-fusion-0.8.4_2
+
compiz-fusion-0.8.4_2
Meta Package: Desktops
+
Meta Package: Desktops
-------------------------------------
+
<nowiki>-</nowiki>------------------------------------
Description: Supported Desktop Environments for your PC-BSD system.  
+
Description: Supported Desktop Environments for your PC-BSD system.  
Icon: /var/db/pc-metapkgmanager/pkgsets/pcbsd/Desktops/pkg-icon.png
+
Icon: /var/db/pc-metapkgmanager/pkgsets/pcbsd/Desktops/pkg-icon.png
Desktop: NO  
+
Desktop: NO
Category Entry  
+
Category Entry
Meta Package: Development
+
Meta Package: Development
-------------------------------------
+
<nowiki>-</nowiki>------------------------------------
Description: Development tools and utilities for your Desktop
+
Description: Development tools and utilities for your Desktop
--More--(byte 885)
+
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:
 +
 
 +
{{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 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 name as shown in the above list:
+
{{txtbox|box='''pc-metapkgmanager status Awesome'''
 +
The meta-pkg Awesome is not installed}}
  
'''pc-metapkgmanager status Awesome'''
+
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 meta-pkg Awesome is not installed
+
  
To install the meta-package, specify the meta-package name shown in the above list and provide the URL to the meta-package location for your architecture. The following example installs the Awesome meta-package on a 64-bit system. Only the superuser can install meta-packages.
+
The following example installs the Awesome meta-package. '''pc-metapkgmanager''' will provide messages regarding the status of the installation:
  
'''pc-metapkgmanager add Awesome <nowiki>ftp://mirrors.isc.org/pub/pcbsd/9-STABLE-20120605/amd64/netinstall/metapackages/pcbsd/All/</nowiki>'''   URL WILL CHANGE FOR RELEASE
+
{{txtbox|box='''pc-metapkgmanager add Awesome'''
  Pending Meta-Package changes: 1
+
Pending Meta-Package changes: 1
  Installing Meta-Package: Awesome
+
Package source: NET
Pending package changes: 1
+
Preparing to add: Awesome...
Installing package: awesome-3.4.11_1
+
Checking for updates to old packages...
The meta-pkg Awesome is installed
+
Installing Meta-Package: Awesome
Finished Meta-Package: Awesome
+
Getting package list...
Meta-Package changes finished!
+
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 install 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.
  
'''pc-metapkgmanager del Awesome'''
+
{{txtbox|box='''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: 1
+
Getting package list...
Removing: awesome-3.4.11_1
+
Pending package changes: 66
The meta-pkg Awesome is not installed
+
Removing: awesome-3.4.13
Pruning unused packages... This may take a while...
+
Skipping Meta-Required: giflib-4.2.0_2
Meta-Package changes finished!
+
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!}}
  
To change the default metapkgset from "pcbsd" to "warden, modify the ''PCBSD_METAPKGSET'' variable in ''/usr/local/etc/pcbsd.conf''.
+
=== Upgrading Meta-Packages ===
  
'''pc-metapkgmanager''' can also be used to upgrade the packages that came with the operating system. When you run the '''pc-metapkgmanager list | more''' command, the "base-system" meta-package lists these packages. To determine if any are out-of-date:
+
'''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 status base-system'''
+
{{txtbox|box='''pc-metapkgmanager checkup'''
??The meta-pkg base-system is partially installed??
+
All packages are up to date!}}
  
??To update the out-of-date base packages, run the following command as the superuser:??
+
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.
  
'''pc-metapkgmanager update base-system ftp://mirrors.isc.org/pub/pcbsd/9-STABLE-20120605/amd64/netinstall/metapackages/pcbsd/All/'''   URL WILL CHANGE FOR RELEASE
+
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.
Line 98: Line 169:
 
<noinclude>
 
<noinclude>
 
[[category:handbook]]
 
[[category:handbook]]
[[category:Maintaining and Extending PC-BSD]]
+
[[category:Maintaining and Extending PC-BSD®]]
 
[[category:Meta Package Manager]]
 
[[category:Meta Package Manager]]
 
</noinclude>
 
</noinclude>

Revision as of 22:03, 18 February 2013

(Sorry for the inconvenience)

Contents

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 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.

References


  1. http://trac.pcbsd.org/browser/pcbsd/current#build-files/metapkgsets
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox