1 CIT 470: Advanced Network and System Administration Slide #1 CIT 470: Advanced Network and System Administration Package Management CIT 470: Advanced Network and System Administration Slide #2 Topics 1. The Problem of Software Installation 2. Package Management Systems 3. Using RPM 4. Finding RPMs 5. Building RPMs CIT 470: Advanced Network and System Administration Slide #3 Software Installation 1. Customization Select options like language. Select file set. 2. Install new files in appropriate locations. 3. Modify existing configuration files. 4. Make software available to user. Shell configuration (PATH, etc.) GUI configuration (menu, icons, etc.)
12
Embed
CIT 470: Advanced Network and System Administrationwaldenj/classes/2011/... · --nodeps allows install w/o dependency check. CIT 470: Advanced Network and System Administration Slide
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
CIT 470: Advanced Network and System Administration Slide #1
CIT 470: Advanced Network and
System Administration
Package Management
CIT 470: Advanced Network and System Administration Slide #2
Topics
1. The Problem of Software Installation
2. Package Management Systems
3. Using RPM
4. Finding RPMs
5. Building RPMs
CIT 470: Advanced Network and System Administration Slide #3
Software Installation
1. Customization
Select options like language.
Select file set.
2. Install new files in appropriate locations.
3. Modify existing configuration files.
4. Make software available to user.
Shell configuration (PATH, etc.)
GUI configuration (menu, icons, etc.)
2
CIT 470: Advanced Network and System Administration Slide #4
What’s the problem?
What prerequisites does your software have?
What prereqs do your prereq packages have?
How do you handle conflicts?
What if two programs install/modify same file?
Does your install work on every type of computer?
How do you handle upgrades?
What if user has customized configuration?
What if ownerships/permissions have changed?
What if user needs old and new versions?
How do you uninstall software?
CIT 470: Advanced Network and System Administration Slide #5
Package Manager Features
• Build management.
• Dependency tracking.
• Querying.
• Reversibility.
• Verification.
• Version control.
CIT 470: Advanced Network and System Administration Slide #6
UNIX Package Management Systems
deb: Debian system uses dpkg and APT.
pkgadd: Solaris packaging system.
portage: Gentoo uses with emerge.
ports: BSD ports system.
RPM: Redhat packaging system.
tgz: Tarballs used by Slackware.
3
CIT 470: Advanced Network and System Administration Slide #7
dpkg
Debian package system
– Original version created in 1993
– APT introduced in 1998
Distributions
– Debian
– Knoppix
– Linspire
– MEPIS
– Ubuntu
dpkg on other OS
– Fink on MacOS X
CIT 470: Advanced Network and System Administration Slide #8
RPM
RPM Package Manager – Originally stood for Red Hat Package Manager
– Came with Red Hat Linux 2.0 in 1995.
Distributions – Red Hat
– Red Hat Enterprise Linux (also CentOS)
– Fedora
– Mandriva
– SUSE
RPM on other OS – AIX
– Novell Netware
CIT 470: Advanced Network and System Administration Slide #9
RPM Package Names
<name>-<version>-<release>.<arch>.rpm
Name: name of the software package.
Version: version of the software package.
Release: release version of the RPM.
Arch: architecture (i386, noarch, ppc, etc.)
If Arch is src, RPM contains source code for
building the package.
4
CIT 470: Advanced Network and System Administration Slide #10
RPM Package Contents
Identification
Identifies package and RPM version.
Signature
Checksum and digital signature.
Header
Package and version information.
Specifies dependencies on other packages.
Payload
Actual files to install.
Stored as cpio archive compressed with gzip.
Use rpm2cpio to obtain cpio archive.
CIT 470: Advanced Network and System Administration Slide #11
Using RPM
1. Install
2. Uninstall
3. Upgrade
4. Query
5. Verify
CIT 470: Advanced Network and System Administration Slide #12
Installing a Package
1. Check the package and the files it wants to install.
2. Perform preinstallation tasks.
3. Uncompress the files and copy them in the proper