223 lines
7.6 KiB
HTML
223 lines
7.6 KiB
HTML
<!--startcut ======================================================= -->
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<html>
|
|
<head>
|
|
<TITLE>The Answer Guy 31: What is an RPM?</TITLE>
|
|
</head>
|
|
|
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#A000A0"
|
|
ALINK="#FF0000">
|
|
<!--endcut ========================================================= -->
|
|
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
|
|
</H4>
|
|
<P> <hr> <P>
|
|
|
|
<!-- =============================================================== -->
|
|
<H1 align="center"><A NAME="answer">
|
|
<img src="../gx/dennis/qbubble.gif" alt="" border="0" align="middle">
|
|
<a href="./index.html">The Answer Guy</a>
|
|
<img src="../gx/dennis/bbubble.gif" alt="" border="0" align="middle">
|
|
</A></H1> <BR>
|
|
<H4 align="center">By James T. Dennis,
|
|
<a href="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</a><BR>
|
|
Starshine Technical Services,
|
|
<A HREF="http://www.starshine.org/">http://www.starshine.org/</A> </H4>
|
|
<p><hr><p>
|
|
<H3><img src="../gx/dennis/qbub.gif" alt="(?)" width="50" height="28"
|
|
align="left" border="0">What is an RPM?</H3>
|
|
|
|
<p><strong>From Andre Solheim on Fri, 03 Jul 1998
|
|
|
|
<br><br>
|
|
I am in the process og getting hold of Linux. Could you please tell
|
|
me what RPM is, and what it does?
|
|
<br><br>
|
|
|
|
I hope you can mail the answer to me directly
|
|
<br>André L Solheim
|
|
</strong></p>
|
|
|
|
<blockquote><img src="../gx/dennis/bbub.gif" alt="(!)" width="50" height="28"
|
|
align="left" border="0">
|
|
RPM is the <a href="http://www.redhat.com/">Red Hat</a> Package Management system.
|
|
This is an freely published set of specifications and
|
|
tools to allow Linux and Unix vendors to package their
|
|
software in a way that is amenable to automated installation
|
|
upgrade, removable and administration.
|
|
<br><br>
|
|
|
|
Although it has Red Hat's name in it --- it has been
|
|
adopted by most of the major Linux distribution maintainers.
|
|
The only to major holdouts are <a href="http://www.debian.org/">Debian</a>
|
|
and <a href="http://www.slackware.org/">Slackware</a>.
|
|
(There are a number of small, special purpose Linux
|
|
distributions that don't use any package management ---
|
|
many fit on a single diskette or designed to be installed
|
|
into a DOS subdirectory and run via <tt>LOADLIN</tt>).
|
|
<br><br>
|
|
|
|
Debian has developed their own package management format
|
|
(usually seen with the .deb extension) and Slackware
|
|
continues to use the tried and true "tarball" format with
|
|
pkgadd (?) and some other tools to help a little bit.
|
|
<br><br>
|
|
|
|
However, you can easily install the RPM subsystem into
|
|
any Linux that you want. You can also use RPM on some
|
|
packages and continue to manually build others from
|
|
tarballs (.tar.gz files). You can also convert between
|
|
package formats using tools like '<tt>alien</tt>' and
|
|
'<tt>rpm2cpio</tt>'
|
|
(or you can just use
|
|
<a href="http://www.gnome.org/mc/">Midnight Commander</a>
|
|
to open and work with .rpm files, just as you would any directory,
|
|
.zip or .tar file etc --- what how I usually delve into
|
|
RPM files if I'm not going to install them).
|
|
<br><br>
|
|
|
|
The RPM system as been ported to several flavors of Unix
|
|
and is no longer a purely "Linux" thing. Some sites are
|
|
using it to help maintain their Solaris, and HP-UX systems.
|
|
<br><br>
|
|
|
|
In the simplest form you can use commands like:
|
|
|
|
<blockquote><code>
|
|
rpm -i foo-1.2.rpm
|
|
</code></blockquote>
|
|
|
|
... to install a package (foo version 1.2 in this example).
|
|
<br><br>
|
|
|
|
There are also GUI and menu drive frontends to using RPM
|
|
.... but I usually use the command line.
|
|
<br><br>
|
|
|
|
You can also let rpm do the FTP for you with a
|
|
command like:
|
|
|
|
<blockquote><code>
|
|
rpm -U ftp://myserver.myorg.net/upgrades/bar-2.2.rpm
|
|
</code></blockquote>
|
|
|
|
... and this will upgrade the bar version 2.2 package off
|
|
of an internal ftp server (where I presumably have
|
|
placed it after testing it on one of my sacrificial admin
|
|
systems).
|
|
<br><br>
|
|
|
|
Another trick I've used is to get the description of an
|
|
rpm file without bothering to get the whole file
|
|
(to decide which files I wanted to fetch). I do this
|
|
with a command like:
|
|
|
|
<blockquote><code>
|
|
rpm -qpi ftp://ftp.redhat.com/..../contrib/.....rpm
|
|
</code></blockquote>
|
|
|
|
(I don't have a specific path and filename handy ---
|
|
but this should show the idea). You can also get a
|
|
list of the contents of a package with:
|
|
|
|
<blockquote><code>
|
|
rpm -qpl $SOME_RPM_FILE
|
|
</code></blockquote>
|
|
|
|
... or a list of files from an installed package with
|
|
|
|
<blockquote><code>
|
|
rpm -ql $SOME_INSTALLED_PACKAGE
|
|
</code></blockquote>
|
|
|
|
You can also do things like list all of the packages that
|
|
you have installed on the whole system (at least those that
|
|
you've installed using RPM) with a command like:
|
|
|
|
<blockquote><code>
|
|
rpm -qa
|
|
</code></blockquote>
|
|
|
|
... and you can verify a package with a command like:
|
|
|
|
<blockquote><code>
|
|
rpm -V foobar
|
|
</code></blockquote>
|
|
|
|
... which will give you a summary of every change to
|
|
the checksums, ownership, permission, timestamp, etc ---
|
|
of every file that was part of the "foobar" package.
|
|
<br><br>
|
|
|
|
Combining these in a relatively obvious way you can
|
|
check every package on your system with the following:
|
|
|
|
<blockquote><code>
|
|
rpm -qa | xargs rpm -V
|
|
</code></blockquote>
|
|
|
|
You can also find out which package a given file "belongs to"
|
|
with a command like:
|
|
|
|
<blockquote><code>
|
|
rpm -qf /some/file/that/was/installed/by/something
|
|
</code></blockquote>
|
|
|
|
You can learn more about the RPM system by looking at their
|
|
very own web site: <A HREF="http://www.rpm.org">http://www.rpm.org</A>.
|
|
<br><br>
|
|
|
|
So, good luck on your new adventure. Have fun with Linux.
|
|
</blockquote>
|
|
|
|
<!--================================================================-->
|
|
<P> <hr> <P>
|
|
<H5 align="center"><a href="http://www.linuxgazette.com/copying.html"
|
|
>Copyright ©</a> 1998, James T. Dennis <BR>
|
|
Published in <I>Linux Gazette</I> Issue 31 August 1998</H5>
|
|
<P> <hr> <P>
|
|
<!--================================================================-->
|
|
<table width="98%"><tr valign="center" align="center">
|
|
<td rowspan="3"><A HREF="./lg_answer31.html"><IMG
|
|
SRC="../gx/dennis/answernew.gif"
|
|
ALT="[ Answer Guy Index ]"></A></td>
|
|
<td><A HREF="tag_backup.html">backup</A></td>
|
|
<td><A HREF="tag_uidgid.html">uidgid</A></td>
|
|
<td><A HREF="tag_connect.html">connect</A></td>
|
|
<td><A HREF="tag_95slow.html">95slow</A></td>
|
|
<td><A HREF="tag_badblock.html">badblock</A></td>
|
|
<td><A HREF="tag_trident.html">trident</A></td>
|
|
<td><A HREF="tag_sound.html">sound</A></td>
|
|
|
|
</tr><tr valign="center" align="center">
|
|
<td><A HREF="tag_kernel.html">kernel</A></td>
|
|
<td><A HREF="tag_solprint.html">solprint</A></td>
|
|
<td><A HREF="tag_idescsi.html">idescsi</A></td>
|
|
<td><A HREF="tag_distrib.html">distrib</A></td>
|
|
<td><A HREF="tag_modem.html">modem</A></td>
|
|
<td><A HREF="tag_NDS.html">NDS</a></td>
|
|
<td><A HREF="tag_rpm.html">rpm</A></td>
|
|
|
|
</tr><tr valign="center" align="center">
|
|
<td><A HREF="tag_guy.html">guy</A></td>
|
|
<td><A HREF="tag_maildns.html">maildns</A></td>
|
|
<td><A HREF="tag_memleak.html">memleak</a></td>
|
|
<td><A HREF="tag_multihead.html">multihead</A></td>
|
|
<td><A HREF="tag_cdr.html">cdr</A></td>
|
|
</tr></table>
|
|
<P> <hr> <P>
|
|
<!--================================================================-->
|
|
<A HREF="./index.html"><IMG SRC="../gx/indexnew.gif"
|
|
ALT="[ Table Of Contents ]"></A>
|
|
<A HREF="../index.html"><IMG SRC="../gx/homenew.gif"
|
|
ALT="[ Front Page ]"></A>
|
|
<A HREF="lg_bytes31.html"><IMG SRC="../gx/back2.gif"
|
|
ALT="[ Previous Section ]"></A>
|
|
<A HREF="./searls.html"><IMG SRC="../gx/fwd.gif"
|
|
ALT="[ Next Section ]"></A>
|
|
<!--startcut ======================================================= -->
|
|
</body>
|
|
</html>
|
|
<!--endcut ========================================================= -->
|
|
|
|
|