Meego Wiki
Views

Distribution/Package Management

From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(package && pattern && patch)
(Installing Packages)
Line 38: Line 38:
====Installing Packages====
====Installing Packages====
-
   zypper install pkgname
+
You can install packages by name...
 +
   zypper install  
 +
 
 +
...or by capability they provide:
 +
  # zypper in MozillaFirefox \< 3
 +
 
 +
Other install examples as follows:
 +
 
 +
  zypper in yast*                    # install all yast modules
 +
  zypper in -t pattern lamp_server    # install lamp_server pattern (packages needed for a LAMP server)
 +
  zypper in vim -emacs                # install vim and remove emacs in one go
 +
  zypper in amarok packman:libxine1  # install libxine1 from packman and amarok from any repo
 +
  zypper in bitchx-1.1-81.x86_64.rpm  # install bitchx rpm from local directory
 +
  zypper in -f subversion            # force reinstallation of subversion
 +
 
====Removing Packages====
====Removing Packages====
   zypper remove pkgname
   zypper remove pkgname

Revision as of 07:25, 3 July 2011

All software on MeeGo is divided into RPM packages, which can be installed, upgraded, or removed. This part describes how to manage packages using both zypper and the PackageKit suite of graphical package management tools.

Contents

Package Management Architecture

Package Management Architecture.png

The whole stack has RPM at the lowest level.RPM is type of package management system. On top of RPM is Zypp software management library for RPM-based systems. It's also know by it‘s package name, libzypp.

on top of libzypp, there are various user interfaces or Package Management UI, like Zypper and YaST, the PackageKit Zypp backend, which enables the use of any PackageKit application.

zypper

package && pattern && patch

Package - Software package, which is a type of file format where software programs and installation material is grouped together. Patches and patternsare also commonly referred to as different types of packages.

Patch - Represents a package or a group of packages needed to install an update (a bug fix mostly).

patterns - Represents a group of packages. Just like the group concept in yum repo. It’s a group of packages belong to one type. Such as Graphics, development, etc

Repository Management

Package Management

How to select packages

There are several ways in which you can choose packages for installation or removal.

  • by capability name
  zypper in gnome-packagekit
  zypper in qt
  • by capability name and/or architecture and/or version
  zypper in 'zypper<0.12.10'
  zypper in zypper.i586=0.12.11
  • by exact package name (--name)
  zypper in -n ftp
  • by exact package name and repository (implies --name)
  zypper in oss:zypper
  • by package name using wildcards
  zypper in *meegotouch*
  • by specifying an .rpm package file to install

Installing Packages

You can install packages by name...

 zypper install 

...or by capability they provide:

 # zypper in MozillaFirefox \< 3

Other install examples as follows:

 zypper in yast*                     # install all yast modules
 zypper in -t pattern lamp_server    # install lamp_server pattern (packages needed for a LAMP server)
 zypper in vim -emacs                # install vim and remove emacs in one go
 zypper in amarok packman:libxine1   # install libxine1 from packman and amarok from any repo
 zypper in bitchx-1.1-81.x86_64.rpm  # install bitchx rpm from local directory
 zypper in -f subversion             # force reinstallation of subversion

Removing Packages

 zypper remove pkgname

Querying

Search Packages

 zypper search --help
 zypper se -dC --match-words RSI # look for RSI acronym (case-sensitively), also in summaries and descriptions 
 zypper se 'yast*' # show all packages starting with 'yast' (beware of shell expansion, quote the strings if unsure!) 
 zypper se -r packman # list all packages from 'packman' repository 
 zypper se -i sqlite # show all installed packages containing 'sqlite' in their name 
 zypper se -t pattern -r repo-oss # list all patterns available in the 'repo-oss' repository 
 zypper se -t product # list all available products

Display Package Information

In order to obtaining information about packages, the following command can be used:

 zypper info PackageKit #displays detailed information about package named 'PackageKit'
 zypper info -t patch MozillaFirefox # show information about 'MozillaFirefox' patch 
 zypper patch-info MozillaFirefox # the same as above 
 zypper info -t pattern lamp_server # show info about 'lamp_server' pattern 
 zypper info -t product openSUSE-FTP # show info about specified product

PackageKit

Update Packages with Gnome PackageKit

Gnome PackageKit can be available on NetBook and IVI.

Updating Packages with Software Update =

In the Software Updates window, all available updates are listed along with the names of the packages being updated (minus the .rpm suffix, but including the CPU architecture), a short summary of the package, and, usually, short descriptions of the changes the update provides. Any updates you do not wish to install can be de-selected here by unchecking the checkbox corresponding to the update.

Using Add/Remove Software =

PackageKit's Software Update GUI window is a separate application from its Add/Remove Software application, although the two have intuitively similar interfaces.

Manage packages with PackageKit command line tool

How to report a bug

PackageKit or Package Manager UI bug

For Package Management component issue, please catch more logs and attach them when you reporting a bug. For PackageKit or Package Manager UI issue Steps to get logs:

  • Setup system Environment
  • Install PackageKit-debuginfo, libzypp-debuginfo, which should match the version of PackageKit/libzypp
  • start packagekitd manually. In one terminal execute:
   #killall -9 packagekitd
   #/usr/libexec/packagekitd -v >packagekitd.log 
  • In another terminal execute your script/command to reproduce bug.
  • Then you'll get packagekitd.log and /var/log/pk_backend_zypp, and these two log files are very important to fix bug in the first time. Please attach them.

zypper command bug

For Zypper issue while you using zypper command, using the following steps to get logs:

  • Setup system Environment
  #rm /var/log/zypper.log -f
  • set log level and reproduce bug using zypper
   #export ZYPP_LIBSAT_FULLLOG=1
   #zypper xxx yyy

or using the following log level

   #export ZYPP_FULLLOG=1
   #zypper xxx yyy
  • check /var/log/zypper.log and attach them. The log generated using ZYPP_LIBSAT_FULLLOG would be very large(40M), but includde more information about packages. while the log generated using ZYPP_FULLLOG is smaller (1M).
Personal tools