1 / 27

CIT 470: Advanced Network and System Administration

Explore package management systems, RPM usage, customization, upgrades, conflicts, dependencies, and uninstallation in advanced network and system administration.

fgannon
Download Presentation

CIT 470: Advanced Network and System Administration

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CIT 470: Advanced Network and System Administration Package Management CIT 470: Advanced Network and System Administration

  2. Topics • The Problem of Software Installation • Package Management Systems • Using RPM • Finding RPMs • Building RPMs CIT 470: Advanced Network and System Administration

  3. Software Installation • Customization Select options like language. Select file set. • Install new files in appropriate locations. • Modify existing configuration files. • Make software available to user. Shell configuration (PATH, etc.) GUI configuration (menu, icons, etc.) CIT 470: Advanced Network and System Administration

  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

  5. Package Manager Features • Build management. • Dependency tracking. • Querying. • Reversibility. • Verification. • Version control. CIT 470: Advanced Network and System Administration

  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. CIT 470: Advanced Network and System Administration

  7. 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

  8. 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. CIT 470: Advanced Network and System Administration

  9. 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

  10. Using RPM • Install • Uninstall • Upgrade • Query • Verify CIT 470: Advanced Network and System Administration

  11. Installing a Package • Check the package and the files it wants to install. • Perform preinstallation tasks. • Uncompress the files and copy them in the proper locations • Perform post-processing tasks • Update the RPM Database > rpm -ivhfoo-1.0-1.i386.rpm Preparing... ########################################### [100%] 1:foo ########################################### [100%] CIT 470: Advanced Network and System Administration

  12. Upgrading a Package Uninstall + install, retaining configuration files. Will install a package if no older version. Will remove all older versions. > rpm -Uvh foo-1.0-1.i386.rpm Preparing... ########################################### [100%] 1:foo ########################################### [100%] CIT 470: Advanced Network and System Administration

  13. Uninstalling a Package Completely removes package from system. > rpm -e foo-1.0-1 > rpm –q foo package foo is not installed. CIT 470: Advanced Network and System Administration

  14. Dependencies Prevent install/removal if unfulfilled. # rpm -e setup error: Failed dependencies: setup is needed by (installed) basesystem-8.0-1 setup >= 2.0.3 is needed by (installed) initscripts-6.95-1 setup >= 2.5.4-1 is needed by (installed) filesystem-2.1.6-5 setup is needed by (installed) xinetd-2.3.7-2 setup is needed by (installed) dump-0.4b28-4 # rpm -q setup setup-2.5.20-1 CIT 470: Advanced Network and System Administration

  15. Querying the RPM Database # rpm -q telnet telnet-0.17-31.EL4.3 # rpm -ql telnet /usr/bin/telnet /usr/share/man/man1/telnet.1.gz # rpm -qi telnet Name : telnet Relocations: (not) Version : 0.17 Vendor: CentOS Release : 31.EL4.3 Build Date: Tue 14 Jun 2005 Install Date: Sat 11 Feb 2006 Build Host: build5 Group : Applications/Internet Src RPM: telnet-0.17.src.rpm Size : 87254 License: BSD Signature : DSA/SHA1, Tue 14 Jun 2005, Key ID a53d0bab443e1821 Packager : Johnny Hughes <johnny@centos.org> Summary : Client program for telnet remote login protocol. Description : Telnet is a popular protocol for logging into remote systems over the Internet. The telnet package provides a command line telnet client. CIT 470: Advanced Network and System Administration

  16. Querying the RPM Database # rpm -qc bash /etc/skel/.bash_logout /etc/skel/.bash_profile /etc/skel/.bashrc # rpm -qd sendmail /usr/share/man/man1/mailq.sendmail.1.gz /usr/share/man/man1/newaliases.sendmail.1.gz /usr/share/man/man5/aliases.sendmail.5.gz /usr/share/man/man8/mailstats.8.gz /usr/share/man/man8/makemap.8.gz /usr/share/man/man8/praliases.8.gz /usr/share/man/man8/rmail.8.gz /usr/share/man/man8/sendmail.sendmail.8.gz /usr/share/man/man8/smrsh.8.gz CIT 470: Advanced Network and System Administration

  17. Searching all Packages # rpm -qa | grep telnet telnet-0.17-31.EL4.3 # rpm -qa | grep py python-2.3.4-14.1 pyOpenSSL-0.6-1.p23 rpm-python-4.3.3-11_nonptl pygtk2-2.4.0-1 python-devel-2.3.4-14.1 python-ldap-2.0.1-2 pyxf86config-0.3.19-1 libxml2-python-2.6.16-6 python-elementtree-1.2.6-4 python-sqlite-1.1.6-1 dbus-python-0.22-12.EL.5 pyparted-1.6.8-2 python-urlgrabber-2.9.6-2 CIT 470: Advanced Network and System Administration

  18. Searching Packages Find recently installed packages rpm -qa --last Find packages that are disk hogs rpm -qa --qf "%{size} %{name}\n" | sort –n The --qf (queryformat) option can print arch, name, size, version, distribution, etc. CIT 470: Advanced Network and System Administration

  19. Querying Files and Packages Find which package a file belongs to: # rpm -qf /usr/bin/telnet telnet-0.17-31.EL4.3 # rpm -qf /etc/security/limits.conf pam-0.77-66.11 Querying packages Add –p to any query to apply it to a .rpm file instead of to an installed package. CIT 470: Advanced Network and System Administration

  20. Dependency Resolution Higher level tools handle dependencies up2date, yum, yast, urpmi Automatic resolution + downloading. 1. Find dependencies in RPM headers. 2. Download dependencies, check their headers. 3. Repeat. 4. Install after all RPMs downloaded. CIT 470: Advanced Network and System Administration

  21. Yellow Dog Updater Modified • Rewrite of YUP from Yellow Dog Linux. • Used by many RPM-based distributions. Automatically syncs repo metadata. • Prevents problems arising from out of data package information on local system. • Wastes time when local data up to date. CIT 470: Advanced Network and System Administration

  22. Yum Installs yum install pkg: finds specified package, downloads it, and installs it. yum remove pkg: remove the specified package from the system. yum update <pkg>: updates specified package or updates all packages if no package specified. CIT 470: Advanced Network and System Administration

  23. yum list <option> <pkgspec> Options: available: list packages available to be installed. installed: list installed packages like rpm –qa. extras: lists installed packages that are not available on any currently configured repo. recent: lists packages added to repositories in last 7 days. updates: lists updates for any installed packages. Package Specifications: bash bash-3.10 \*sh \*.i386 CIT 470: Advanced Network and System Administration

  24. Yum Commands check-update: lists updates, returns 100 if any updates available. clean: removes yum cache files. deplist: list all dependencies for a package. info: list package data like rpm –qi yum provides: find which package provides the specified command, i.e. yum provides \*bin/ls. yum search: lists packages whose name, summary, description, or URL matches the specified search term. CIT 470: Advanced Network and System Administration

  25. Package Sources Sources • Local files (CD/DVD or hard disk) • Red Hat Network commercial sites for RHEL • CentOS network official mirrors for CentOS • Unofficial network repositories like RPMforge Source configuration up2date: /etc/sysconfig/rhn/sources yum: /etc/yum.conf, /etc/yum/repos.d CIT 470: Advanced Network and System Administration

  26. RPMForge RPMForge Repository provides non-official packages http://dag.wieers.com/home-made/apt/ Some packages don’t exist in RHEL Other packages are more up to date than RHEL Configure system to use RPMForge via rpm -Uhvhttp://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm CIT 470: Advanced Network and System Administration

  27. References • Debian FAQ, “Debian Package Management Tools,” http://www.debian.org/doc/FAQ/ch-pkgtools.en.html • Eric Foster-Johnson, RPM Guide, http://fedora.redhat.com/docs/drafts/rpm-guide-en/, 2005. • Aeleen Frisch, Essential System Administration, 3rd edition, O’Reilly, 2002. • Evi Nemeth et al, UNIX System Administration Handbook, 3rd edition, Prentice Hall, 2001. • RedHat, Red Hat Enterprise Linux 4 System Administration Guide, http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/sysadmin-guide/, 2005. CIT 470: Advanced Network and System Administration

More Related