Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Appendix F. RPM-related Resources

There are a number of resources available to help you with RPM, over and above the RPM man page, and this book. Here are some pointers to them.

Where to Get RPM

Perhaps before asking, Where can I get RPM? it might be better to see if RPM is already installed on your system. If you have Red Hat Linux on your system, it's there already. But be sure to check on other systems — people are porting RPM to different systems every day, and it just might be there waiting for you.

Here's a quick way to see if RPM is installed on your system:
% rpm --version
RPM version 2.3
%
      

If this command doesn't work, it might be that your path doesn't include the directory where RPM resides. Check the usual "binary" directories before declaring RPM a no-show!

FTP Sites

If you can't find RPM on your system, you'll have to grab a copy by FTP. RPM can be found practically anywhere Red Hat Linux is available. While the most obvious site, ftp.redhat.com, is certainly an option, it might not be your best choice. For one, it can be very busy. For another, unless your link to the Internet is near Red Hat's sprawling development campus in Durham, North Carolina, there's probably an FTP site that is closer to you.

Here is a list of sites that mirror Red Hat's main FTP site. Be aware that this list changes frequently, so don't be surprised if a particular site no longer mirrors Red Hat, or has moved it from the paths listed below: [1]
FTP Site                Directory
========                =========
sunsite.doc.ic.ac.uk    /packages/linux/redhat

ftp.mpi-sb.mpg.de       /pub/linux/mirror/ftp.redhat.com
ftp.jate.u-szeged.hu    /pub/linux/redhat
ftp.ibp.fr              /pub/linux/distributions/redhat
ftp.gwdg.de             /pub/linux/install/redhat
ftp.msu.ru              /pub/Linux/RedHat
ftp.sgg.ru              /mirror/redhat
sunsite.mff.cuni.cz     /OS/Linux/Distributions/Redhat
ftp.ton.tut.fi          /pub/Linux/RedHat
ftp.funet.fi            /pub/Linux/images/RedHat
sunsite.icm.edu.pl      /pub/Linux/redhat
ftp.arch.pwr.proc.pl    /mirror/linux/redhat
ftp.rhi.hi.is           /pub/linux/RedHat
ftp.nvg.unit.no         /pub/linux/redhat
ftp.pk.edu.pl           /pub/linux/redhat
ftp.nluug.nl            /pub/os/Linux/distr/RedHat
dutepp0.et.tudelft.nl   /pub/Unix/Linux/Distributions/redhat
ftp.iol.ie              /pub/Unix/Linux/distributions/RedHat
sunsite.auc.dk          /pub/os/linux/redhat
ftp.tku.edu.tw          /Unix/Linux/RedHat
ftp.cs.us.es            /pub/Linux/redhat

ftp.is.co.za            /linux/distributions/redhat

ftp.dstc.edu.au         /pub/linux-redhat

ftp.lab.kdd.co.jp       /OS/Linux/packages/redhat
sunsite.ust.hk          /pub/Linux/distributions/redhat

ftp.sunsite.dcc.uchile.cl  /pub/OS/linux/redhat

ftp.interpath.net       /pub/linux/redhat
schlitz.cae.wisc.edu    /pub/Linux/RedHat
ftp.wownet.net          /LINUX/redhat
ftp.engr.uark.edu       /pub/linux/redhat
ftp.infomagic.com       /pub/mirrors/linux/RedHat
ftp.wgs.com             /pub/linux/redhat
ftp.drcdrom.com         /pub/linux-redhat
ftp.hkstar.com          /pub/Linux/redhat
ftp.pht.com             /pub/linux/redhat
linux.ucs.indiana.edu   /pub/linux/redhat
ftp.uoknor.edu          /linux/redhat
ftp.cc.gatech.edu       /pub/linux/distributions/redhat
uiarchive.cso.uiuc.edu  /pub/systems/linux/distributions/redhat
ftp.caldera.com         /pub/mirrors/redhat
ftp.cms.uncwil.edu      /linux/redhat
ftp.wilmington.net      /linux/redhat
sunsite.unc.edu         /pub/Linux/distributions/redhat
gatekeeper.dec.com      /pub/linux/redhat
ftp.rge.com             /pub/systems/linux/redhat
linuxwww.db.erau.edu    /pub/linux/distrib/redhat
ftp.eit.com             /pub/mirrors/redhat
ftp.real-time.com       /pub/redhat
        

What Do I Need?

Once you find a nearby site with RPM, and have found the directory where it's kept, you'll notice a variety of files, all starting with "rpm". What are they? Which ones do you need? Here's a representative list, along with the ways in which each file would be used:
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 2689
drwxr-xr-x  6 root  97    2048 Jul 18 10:04 .
drwxr-xr-x  6 root  97    1024 Aug  2 10:09 ..
lrwxrwxrwx  1 root  root    23 Jan 22  1996 RPM-HOWTO.ps ->
                                            ../../docs/RPM-HOWTO.ps
lrwxrwxrwx  1 root  root    24 Jan 22  1996 RPM-HOWTO.txt -> 
                                            ../../docs/RPM-HOWTO.txt
-rw-rw-r--  1 root  97   59239 Jan 20  1996 paper.ps.gz
-rw-r--r--  1 root  97  365319 Jul 18 06:05 rpm-2.2.2-1.axp.rpm
-rw-rw-r--  1 root  97  278620 Jul 18 06:05 rpm-2.2.2-1.i386.cpio.gz
-rw-r--r--  1 root  97  282015 Jul 18 06:05 rpm-2.2.2-1.i386.rpm
-rw-r--r--  1 root  97  279855 Jul 18 06:05 rpm-2.2.2-1.sparc.rpm
-rw-r--r--  1 root  97  359354 Jul 18 06:05 rpm-2.2.2-1.src.rpm
-rw-rw-r--  1 root  97  356943 Jul 18 06:05 rpm-2.2.2.tar.gz
-rw-r--r--  1 root  97  122157 Jul 18 06:05 rpm-devel-2.2.2-1.axp.rpm
-rw-r--r--  1 root  97   51132 Jul 18 06:05 rpm-devel-2.2.2-1.i386.rpm
-rw-r--r--  1 root  97   54470 Jul 18 06:05 rpm-devel-2.2.2-1.sparc.rpm
-rw-r--r--  1 root  97   35504 May  1 04:28 rpmbuild.ps.gz
226 Transfer complete.
ftp>
        
Although the version numbers may change, the types of files kept in this directory will not. The files RPM-HOWTO, paper.ps.gz, and rpmbuild.ps.gz contain a variety of information concerning RPM. As such they are valuable sources of supplemental information. The remaining files contain RPM, packaged for various architectures, and in source form. We'll look at them, grouped according to their contents. Here's the first group of files:
-rw-r--r--  1 root  97  365319 Jul 18 06:05 rpm-2.2.2-1.axp.rpm
-rw-r--r--  1 root  97  282015 Jul 18 06:05 rpm-2.2.2-1.i386.rpm
-rw-r--r--  1 root  97  279855 Jul 18 06:05 rpm-2.2.2-1.sparc.rpm
        

The files above are the binary package files for RPM version 2.2.2, release 1, on the Digital Alpha, the Intel 386/486/Pentium, and the Sun SPARC. Note that the version number will change in time, but the other parts of the file naming convention won't. As binary package files, they must be installed using RPM. So if you don't have RPM yet, they won't do you much good. [2]

Let's look at the next file:
-rw-r--r--  1 root  97  359354 Jul 18 06:05 rpm-2.2.2-1.src.rpm
        
This is the source package file for RPM version 2.2.2, release 1. Like the binary packages, the source package requires RPM to install — therefore, it cannot be used to perform an initial install of RPM. Let's see what else there is here:
-rw-r--r--  1 root  97  122157 Jul 18 06:05 rpm-devel-2.2.2-1.axp.rpm
-rw-r--r--  1 root  97   51132 Jul 18 06:05 rpm-devel-2.2.2-1.i386.rpm
-rw-r--r--  1 root  97   54470 Jul 18 06:05 rpm-devel-2.2.2-1.sparc.rpm
        
The files above are binary package files that contain the rpm-devel subpackage. The rpm-devel package contains header files and the RPM library, and is used for developing programs that can perform RPM-related functions. These files cannot be used to get RPM running. That leaves two files left:
-rw-rw-r--  1 root  97  278620 Jul 18 06:05 rpm-2.2.2-1.i386.cpio.gz
-rw-rw-r--  1 root  97  356943 Jul 18 06:05 rpm-2.2.2.tar.gz
        
The first file is a gzipped cpio archive of the files comprising RPM. After uncompressing the file, cpio can be used to extract the files and place them on your system. Note, however, that there is a cpio archive for the i386 architecture only. To extract the files, issue the following command:
# zcat file.cpio.gz | (cd / ; cpio --extract)
#
        

(When actually issuing the command, file.cpio.gz should be replaced with the actual name of the cpio archive.)

Note that the archive should be extracted using GNU cpio version 2.4.1 or greater. It may also be necessary to issue the following command prior to using RPM:
# mkdir /var/lib/rpm
#
        

The last file, rpm-2.2.2.tar.gz, contains the sources for RPM. Using it, you can build RPM from scratch. This is the most involved option, but it is the only choice for people interested in porting RPM to a new architecture. See Chapter 8 for an example of RPM being built from the sources.

Notes

[1]

An up-to-date copy of the list of mirror sites is always available on ftp.redhat.com, in the file MIRRORS.

[2]

If your goal is to install RPM on one of these systems, it might be a good idea to copy the appropriate binary package. That way, once you have RPM running, you can reinstall it with the --force option to ensure that RPM is properly installed and configured.