Linux Package Management Dr. Michael L. Collard [email protected] 1.

9
Linux Package Management Dr. Michael L. Collard www.sdml.info/collard www.sdml.info/collard/linux [email protected] 1

Transcript of Linux Package Management Dr. Michael L. Collard [email protected] 1.

Page 1: 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/[email protected]

1

Page 2: Linux Package Management Dr. Michael L. Collard   collard@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

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

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

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

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

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

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

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

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

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

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

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

yum

• Does dependency checking and a higher interface

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

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

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