• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Rpm Introduction
 

Rpm Introduction

on

  • 2,282 views

A slide to introduce RPM

A slide to introduce RPM

Statistics

Views

Total Views
2,282
Views on SlideShare
2,274
Embed Views
8

Actions

Likes
1
Downloads
67
Comments
0

1 Embed 8

http://www.slideshare.net 8

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Rpm Introduction Rpm Introduction Presentation Transcript

    • RPM Redhat Package Manager T Shrinivasan [email_address]
    • Install Packages
      • Source Compilation
      • Installpkg
      • Rpm
      • dpkg
    • What RPM can do?
      • Install
      • Remove
      • Query
      • Verify
      • Upgrade
    • Who use it?
        • Redhat
        • Fedora
        • CentOS
        • Mandriva
        • SuSE
        • ...
    • RPM Terminology kernel-smp-2.4.18-3.athlon.rpm kernel-smp-2.4.18-3.i586.rpm kernel-smp-2.4.18-3.i686.rpm kernel-source-2.4.18-3.i386.rpm rootfiles-7.2-1.noarch.rpm name-version-release.architecture.rpm
    • RPM Database Dir : /var/lib/rpm # cd /var/lib/rpm # ls total 3534 -rw-r--r-- 1 root root 1351680 Oct 17 10:35 fileindex.rpm -rw-r--r-- 1 root root 16384 Oct 17 10:35 groupindex.rpm -rw-r--r-- 1 root root 16384 Oct 17 10:35 nameindex.rpm -rw-r--r-- 1 root root 2342536 Oct 17 10:35 packages.rpm -rw-r--r-- 1 root root 16384 Oct 17 10:35 providesindex.rpm -rw-r--r-- 1 root root 16384 Oct 17 10:35 requiredby.rpm #
    • Operations
    • Some Commands
      • rpm -U filename.rpm
      • rpm -i xcopilot-0.6.6-3.i386.rpm
      • rpm -U xcopilot-0.6.6-3.i386.rpm
      • rpm -Uhv xcopilot-0.6.6-3.i386.rpm
      • rpm –e package_name
      • rpm –qa | more
    • Install
      • Performing dependency checks.
      • Checking for conflicts.
      • Performing any tasks required before the install.
      • Deciding what to do with config files.
      • Unpacking files from the package and putting them in the proper place.
      • Performing any tasks required after the install.
      • Keeping track of what it did.
    • Install Options
    • Examples # rpm -ivv eject-1.2-2.i386.rpm D: installing eject-1.2-2.i386.rpm Installing eject-1.2-2.i386.rpm D: package: eject-1.2-2 files test = 0 D: running preinstall script (if any) D: setting file owners and groups by name (not id) D: ///usr/bin/eject owned by root (0), group root (0) mode 755 D: ///usr/man/man1/eject.1 owned by root (0), group root (0) mode 644 D: running postinstall script (if any) #
    • Examples # rpm -i --test rpm-2.0.11-1.i386.rpm /bin/rpm conflicts with file from rpm-2.3-1 /usr/bin/gendiff conflicts with file from rpm-2.3-1 /usr/bin/rpm2cpio conflicts with file from rpm-2.3-1 /usr/bin/rpmconvert conflicts with file from rpm-2.3-1 /usr/man/man8/rpm.8 conflicts with file from rpm-2.3-1 error: rpm-2.0.11-1.i386.rpm cannot be installed #
    • UnInstall rpm -e
          • It checks the RPM database to make sure that no other packages depend on the package being erased.
          • It executes a pre-uninstall script (if one exists).
          • It checks to see if any of the package's config files have been modified. If so, it saves copies of them.
          • It reviews the RPM database to find every file listed as being part of the package, and if they do not belong to another package, deletes them.
          • It executes a post-uninstall script (if one exists).
          • It removes all traces of the package (and the files belonging to it) from the RPM database.
    • Erase Example # rpm -evv eject D: uninstalling record number 286040 D: running preuninstall script (if any) D: removing files test = 0 D: /usr/man/man1/eject.1 - removing D: /usr/bin/eject - removing D: running postuninstall script (if any) D: removing database entry D: removing name index D: removing group index D: removing file index for /usr/bin/eject D: removing file index for /usr/man/man1/eject.1 #
    • Upgrade
    • rpm -U
        Installs the desired package. Erases all older versions of the package, if any exist.
      # rpm -U eject-1.2-2.i386.rpm
    • Query
    • Query Examples # rpm -q libc libc-5.2.18-1 # rpm -qa | grep -i sysv SysVinit-2.64-2 # rpm -qf /bin/ls Fileutils-3.12-3 # rpm -qp foo.bar rpm-2.3-1
    • Query Examples # rpm -qi rpm Name : rpm Distribution: Red Hat Linux Vanderbilt Version : 2.3 Vendor: Red Hat Software Release : 1 Build Date: Tue Dec 24 09:07:59 1996 Install date: Thu Dec 26 23:01:51 1996 Build Host: porky.redhat.com Group : Utilities/System Source RPM: rpm-2.3-1.src.rpm Size : 631157 Summary : Red Hat Package Manager Description : RPM is a powerful package manager, which can be used to build, install, query, verify, update, and uninstall individual software packages. A package consists of an archive of files, and package information, including name, version, and description.
    • -c — Display the Package's List of Configuration Files # rpm -qc XFree86 /etc/X11/fs/config /etc/X11/twm/system.twmrc /etc/X11/xdm/GiveConsole /etc/X11/xdm/TakeConsole /etc/X11/xdm/Xaccess /etc/X11/xdm/Xresources /etc/X11/xdm/Xservers /etc/X11/xdm/Xsession /etc/X11/xdm/Xsetup_0 /etc/X11/xdm/chooser Query
    • -d — Display a List of the Package's Documentation # rpm -qdcf /sbin/dump /etc/dumpdates /usr/doc/dump-0.3-5 /usr/doc/dump-0.3-5/CHANGES /usr/doc/dump-0.3-5/COPYRIGHT /usr/doc/dump-0.3-5/INSTALL /usr/doc/dump-0.3-5/KNOWNBUGS /usr/doc/dump-0.3-5/THANKS /usr/doc/dump-0.3-5/dump-0.3.announce /usr/doc/dump-0.3-5/dump.lsm /usr/doc/dump-0.3-5/linux-1.2.x.patch Query
    • --scripts — Show Scripts Associated With a Package # rpm -q --scripts XFree86 preinstall script:(none) postinstall script: /sbin/ldconfig /sbin/pamconfig --add --service=xdm --password=none --sesslist=none preuninstall script: (none) postuninstall script: /sbin/ldconfig if [ "$1" = 0 ] ; then /sbin/pamconfig --remove --service=xdm --password=none --sesslist=none fi verify script: (none) Query
    • # rpm -qid bash Name :bash Distribution: Red Hat Linux (Picasso) Version :1.14.6 Vendor: Red Hat Software Release :2 Build Date: Sun Feb 25 13:59:26 1996 Install date:Mon May 13 12:47:22 1996 Build Host: porky.redhat.com Group :Shells Source RPM: bash-1.14.6-2.src.rpm Size :486557 Description :GNU Bourne Again Shell (bash) /usr/doc/bash-1.14.6-2 /usr/doc/bash-1.14.6-2/NEWS /usr/doc/bash-1.14.6-2/README /usr/doc/bash-1.14.6-2/RELEASE /usr/info/bash.info.gz /usr/man/man1/bash.1 # Finding Documentation for a Specific Package
    • # rpm -qa --queryformat '%10{NAME} %20{GROUP} ' | grep -i shells ash Shells bash Shells csh Shells mc Shells tcsh Shells # Finding Similar Packages
    • # rpm -qa --queryformat '%{installtime} %{name}-%{version}-%{release} %{installtime:date} ' | sort -nr | sed -e 's/^[^ ]* //' rpm-devel-2.3-1 Thu Dec 26 23:02:05 1996 rpm-2.3-1 Thu Dec 26 23:01:51 1996 pgp-2.6.3usa-2 Tue Oct 22 19:39:09 1996 … pamconfig-0.50-5 Tue Oct 15 17:23:22 1996 setup-1.5-1 Tue Oct 15 17:23:21 1996 # Finding Recently Installed Packages
    • # rpm -qa --queryformat '%{installtime} %{name}-%{version}-%{release} %{installtime:date} ' | sort -nr| less kernel-source-2.0.18-5 20608472 tetex-0.3.4-3 19757371 emacs-el-19.34-1 12259914 … rootfiles-1.3-1 3494 mkinitrd-1.0-1 1898 redhat-release-4.0-1 22 # Finding the Largest Installed Packages
    • Making Free space Find the documentation files rpm -qda|wc -l for i in `rpm -qda`; do if [ -f $i ]; then echo `ls -l $i|awk -F ' ' '{print $5}'`; fi; done >size
    • Verify
      • Owner
      • Group
      • Mode
      • MD5 Checksum
      • Size
      • Major Number
      • Minor Number
      • Symbolic Link String
      • Modification Time
    • Misc Options
      • # rpm –rebuilddb
      • # rpm –initdb
      • # rpm –help|less
      • # rpm --version
    • SRPM – RPM with Source
      • For automatic compilation and Installation
      • spec file
    • Where to get?
      • rpm.pbone.net
      • rpmfind.net
      • dag.wieers.com/rpm/packages
      • freshrpms.net
    • Thanks
      • http://www.rpm.org/max-rpm/
      • http://docs.fedoraproject.org/drafts/rpm-guide-en/index.html
    • Questions ?