Linux Package Management Dr. Michael L. Collard collard@cs.kent.edu 1.

Post on 29-Dec-2015

213 views 0 download

Transcript of Linux Package Management Dr. Michael L. Collard collard@cs.kent.edu 1.

Linux Package Management

Dr. Michael L. Collardwww.sdml.info/collard

www.sdml.info/collard/linuxcollard@cs.kent.edu

1

Package Management Features• Tools to install, update, remove, and manage the

installed software• Install new and upgraded software across a

network• Indicate what package a file is in, or the files a

package contains, e.g., where is /bin/ls• Maintain a database of packages and their status• Dependency checking• Signature verification with GPG, PGP, MD5, etc.• Tools to build packages

Major Linux Packaging Systems

• RPM - Red Hat Package Manager– Used on Red Hat, SUSE, etc. systems– package-version-release.architecture.rpm– E.g., coreutils-6.10-18.fc9.i386.rpm

• Debian GNU/Linux Package Manager– Used on Debian/Ubuntu, and many others– package_version-revision_architecture.deb– E.g., coreutils_6.10-3ubuntu2_i386.deb

RPM File Format

• Identification of the file as an RPM file• Signature - for integrity and/or authenticity• Header - Metadata including package name,

version, architecture, file list, etc.• Archive - File archive typically cpio

compressed with gzip• Source rpm: spec file with information on

how to build the package

RPM Tools

• rpm, rpmbuild – original CLI for installing/managing and creating rpm packages– Does not do dependency resolution

• up2date – Red Hat update agent, older graphical package manager for Red Hat systems

• yum – Yellow dog Updater, Modified– open-source CLI for RPM-compatible systems– default installer for most Red Hat systems

• yast2 – Part of SUSE installer

Deb Tools

• dpkg – Original Debian CLI packaging tool• dpkg-deb – Lower-level CLI packaging tool,

mostly used by dpkg• apt-get – Most commonly used CLI packaging

tool for deb systems• aptitude – Text-based interface to apt• synaptic – GUI front-end• Some of these tools converted to using RPM

RPM Commands

• rpm --install package_file– Install new version, leave existing versions

• rpm –upgrade package_file– Replace current version, remove existing version– If not installed, installs new version

• rpm –freshen package_file– Replace current version only if already installed

• rpm –erase package_file– Removes the package from the system

yum

• Does dependency checking and a higher interface

• yum install packages• yum info• yum list• yum remove package• yum update• yum upgrade

apt-get

• Big effect on other package-management tools

• apt-get update• apt-get install package• apt-get upgrade• apt-get remove package• apt-get dist-upgrade