Rpm Introduction
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Rpm Introduction

on

  • 2,390 views

A slide to introduce RPM

A slide to introduce RPM

Statistics

Views

Total Views
2,390
Views on SlideShare
2,382
Embed Views
8

Actions

Likes
1
Downloads
69
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 Presentation Transcript

  • 1. RPM Redhat Package Manager T Shrinivasan [email_address]
  • 2. Install Packages
    • Source Compilation
    • 3. Installpkg
    • 4. Rpm
    • 5. dpkg
  • 6. What RPM can do?
    • Install
    • 7. Remove
    • 8. Query
    • 9. Verify
    • 10. Upgrade
  • 11. Who use it?
      • Redhat
      • 12. Fedora
      • 13. CentOS
      • 14. Mandriva
      • 15. SuSE
      • 16. ...
  • 17. 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
  • 18. 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 #
  • 19. Operations
  • 20. Some Commands
    • rpm -U filename.rpm
    • rpm -i xcopilot-0.6.6-3.i386.rpm
    • rpm -U xcopilot-0.6.6-3.i386.rpm
    • 21. rpm -Uhv xcopilot-0.6.6-3.i386.rpm
    • 22. rpm –e package_name
    • 23. rpm –qa | more
  • 24. Install
    • Performing dependency checks.
    • 25. Checking for conflicts.
    • 26. Performing any tasks required before the install.
    • 27. Deciding what to do with config files.
    • 28. Unpacking files from the package and putting them in the proper place.
    • 29. Performing any tasks required after the install.
    • 30. Keeping track of what it did.
  • 31. Install Options
  • 32. 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) #
  • 33. 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 #
  • 34. UnInstall rpm -e
        • It checks the RPM database to make sure that no other packages depend on the package being erased.
        • 35. It executes a pre-uninstall script (if one exists).
        • 36. It checks to see if any of the package's config files have been modified. If so, it saves copies of them.
        • 37. 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.
        • 38. It executes a post-uninstall script (if one exists).
        • 39. It removes all traces of the package (and the files belonging to it) from the RPM database.
  • 40. 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 #
  • 41. Upgrade
  • 42. rpm -U
      Installs the desired package. Erases all older versions of the package, if any exist.
    # rpm -U eject-1.2-2.i386.rpm
  • 43. Query
  • 44. 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
  • 45. 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.
  • 46. -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
  • 47. -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
  • 48. --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
  • 49. # 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
  • 50. # rpm -qa --queryformat '%10{NAME} %20{GROUP} ' | grep -i shells ash Shells bash Shells csh Shells mc Shells tcsh Shells # Finding Similar Packages
  • 51. # 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
  • 52. # 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
  • 53. 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
  • 54. Verify
    • Owner
    • 55. Group
    • 56. Mode
    • 57. MD5 Checksum
    • 58. Size
    • 59. Major Number
    • 60. Minor Number
    • 61. Symbolic Link String
    • 62. Modification Time
  • 63. Misc Options
    • # rpm –rebuilddb
    • 64. # rpm –initdb
    • 65. # rpm –help|less
    • 66. # rpm --version
  • 67. SRPM – RPM with Source
    • For automatic compilation and Installation
    • 68. spec file
  • 69. Where to get?
    • rpm.pbone.net
    • 70. rpmfind.net
    • 71. dag.wieers.com/rpm/packages
    • 72. freshrpms.net
  • 73. Thanks
    • http://www.rpm.org/max-rpm/
    • 74. http://docs.fedoraproject.org/drafts/rpm-guide-en/index.html
  • 75. Questions ?