Linux Package Management

Download Report

Transcript Linux Package Management

Linux Package Management

Dr. Michael L. Collard www.sdml.info/collard www.sdml.info/collard/linux [email protected]

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