tomclegg.net


Diary
Examples
Hire Tom
Mostly Mozart
Patches
School
    damnlies
    mendel
    notebookminus
    secureserver
  >unixpackages<
Scrapbook
Software
Telephones




colocation
comments
davidireland
edsgranola
faq
funsites
goodlooking
goodmovies
google-earth-saucy-amd64
houserules
liberating
resume
resume2
scratch
shopping
snacks
todo
university
warisbogus

Installing Unix software packages
Posted August 27, 2004

What is the difference between an RPM and a tarball?

RPM
An RPM file contains precompiled binaries, made for a specific operating system. For example, the Apache web server package for an Intel-based Red Hat 7.2 system might be called "apache-1.3.14-3.i386.rpm".
   (First, download the RPM from the Red Hat web site or
   locate it on your Red Hat installation CD.)

rpm -i apache-1.3.14-3.i386.rpm
   (The binaries are installed on your system.)
Tarball
A tarball with a .tar.gz extension usually contains source code which can be used on a variety of Unix-like operating systems. For example, a single "apache-1.3.14.tar.gz" file can be used to install Apache on Linux, FreeBSD, Solaris, etc. The installation method is determined by the software vendor, but it usually looks like this.
   (First, download the tarball from the Apache web site.)

tar xzf apache-1.3.14.tar.gz
   (The source code files are uncompressed and extracted.)

cd apache-1.3.14

./configure
   (This modifies the software as needed to suit your system.)

make
   (The source code is compiled into binary executable form.)

make install
   (The binaries are installed on the system so you can use them.)
SRPM
An SRPM file contains the source tarball, along with the instructions needed to compile and install the package on a specific operating system.
   (First, download the SRPM file from the Red Hat web site)

rpm -i apache-1.3.14-3.srpm
   (The source code files are uncompressed, extracted, and compiled;
   then the resulting binaries are installed.)
Debian packages
Debian packages are similar to RPMs. Their filenames end with .deb and the dpkg program is used instead of the rpm program.
dpkg -i apache-1.3.14-3.deb
BSD packages
Packages which have been precompiled for BSD systems (like OpenBSD and FreeBSD) have .tgz or .tbz extensions. BSD packages are similar to RPMs.
   (First, download the tgz file from the FreeBSD web site
   or locate it on your FreeBSD installation CD.)

pkg_add apache-1.3.14_3.tgz
   (The binaries are installed on your system.)
BSD ports collection
BSD systems use a different approach to installing software from source. The ports collection comes with the operating system. It includes the OS-specific instructions for thousands of software packages -- including instructions for downloading the source tarballs.
cd /usr/ports/www/apache13

make install
   (The source code files are downloaded, verified, uncompressed,
   extracted, and compiled; then the resulting binaries are installed.)