Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place! |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
12-19-2002, 08:35 PM
|
#1
|
Member
Registered: Dec 2002
Location: USA
Distribution: Mandrake 9.2
Posts: 269
Rep:
|
What is the diff. btwn RPMs & Tarballs?
I know about the dependency problem, but other than that what is the difference?
What happens if you install a program and don't know about the dependencies?
Does all of a sudden dependencies not matter anymore?
|
|
|
12-19-2002, 10:12 PM
|
#2
|
Moderator
Registered: Aug 2002
Posts: 26,521
|
RPM stand for Redhat Package manager. Basically the rpm file contains everything it needs to configure a program to run (precompiled) for a particular distro/version.
A tarball is usually a compressed file that contains all of the source code and configuration files etc so you can compile it and install the program.
|
|
|
12-19-2002, 11:13 PM
|
#3
|
Member
Registered: Nov 2002
Location: Pennsylvania
Distribution: Mandrake 9.1 and Redhat 9
Posts: 144
Rep:
|
RPMs are easier to use--you can just use rpmist to unload the package, which diperses necessary files across the filesystem. Then you just type in the execution command to start your new program
|
|
|
12-20-2002, 01:32 AM
|
#4
|
Senior Member
Registered: Sep 2002
Location: Arizona, US, Earth
Distribution: Slackware, (Non-Linux: Solaris 7,8,9; OSX; BeOS)
Posts: 1,152
Rep:
|
RPM uses a "database" (not really, but the word works) to
keep track of what is installed on your system. If you install
something using rpm, it makes the appropriate entries, and from
then on it knows that you have said package installed. If you
install something that isn't within an rpm package, rpm never finds
out about that package, and so never records the installation.
This means that if you then try to use rpm to insall a package that
depends on the non-rpm package you installed, it will fail
because rpm doesn't believe all the required files have been
installed. Supposedly the --force option works, but I've never
had any luck with that.
Tarballs don't (necessarily) check for dependencies. Some
would consider this to be a Bad Thing (r), but others like it.
Some tarballs (especially for the Slackware distro) have configure
scripts that one could use to check for dependencies (and
get them, if necessary). However, these tarballs require the
Slackware package manager to deal with the configure scripts.
The nice thing about tarballs is that one can always (with a
working tar and gzip) unpack them and do whatever is needed,
whereas an rpm needs to first be converted to something more
reasonable (like a tarball) first.
|
|
|
12-20-2002, 04:15 AM
|
#5
|
Senior Member
Registered: Dec 2002
Location: Mosquitoville
Distribution: RH 6.2, Gen2, Knoppix,arch, bodhi, studio, suse, mint
Posts: 3,306
Rep:
|
a tar.gz file can be anything. its just
compressed files. like a zipfile really,
but better cause its unix. you know how
you might put something on a floppy or
cdrom to store it or move it from one
place to another. tar.gz is just a way to
make the files take up less space.
it doesn't necessarily have anything to do
with installing something.
an rpm usually has tar.gz files iniside it.
|
|
|
12-20-2002, 04:48 AM
|
#6
|
Member
Registered: Nov 2000
Location: A Mid-Atlantic state
Distribution: SuSE 8.1,Knoppix 3.2,Mandrake 9.1
Posts: 388
Rep:
|
tar.gz
tar=archive a group of files as one file,sorta
.gz=gzip to compress the archive file.
lynch
|
|
|
12-20-2002, 11:45 AM
|
#7
|
Member
Registered: Dec 2002
Location: USA
Distribution: Mandrake 9.2
Posts: 269
Original Poster
Rep:
|
Quote:
Originally posted by whansard
a tar.gz file can be anything. its just
compressed files. like a zipfile really,
but better cause its unix. you know how
you might put something on a floppy or
cdrom to store it or move it from one
place to another. tar.gz is just a way to
make the files take up less space.
it doesn't necessarily have anything to do
with installing something.
an rpm usually has tar.gz files iniside it.
|
I am aware of this. I was just concerned with the installation process.
Thanks though, I should have mentioned this.
I realize that one never knows what the other person already knows....better safe than sorry. 
|
|
|
12-20-2002, 11:54 AM
|
#8
|
Member
Registered: Dec 2002
Location: USA
Distribution: Mandrake 9.2
Posts: 269
Original Poster
Rep:
|
Good Explanation...see my question(S) below.
Quote:
Originally posted by moses
RPM uses a "database" (not really, but the word works) to
keep track of what is installed on your system. If you install
something using rpm, it makes the appropriate entries, and from
then on it knows that you have said package installed. If you
install something that isn't within an rpm package, rpm never finds
out about that package, and so never records the installation.
This means that if you then try to use rpm to insall a package that
depends on the non-rpm package you installed, it will fail
because rpm doesn't believe all the required files have been
installed. Supposedly the --force option works, but I've never
had any luck with that.
Tarballs don't (necessarily) check for dependencies. Some
would consider this to be a Bad Thing (r), but others like it.
Some tarballs (especially for the Slackware distro) have configure
scripts that one could use to check for dependencies (and
get them, if necessary). However, these tarballs require the
Slackware package manager to deal with the configure scripts.
The nice thing about tarballs is that one can always (with a
working tar and gzip) unpack them and do whatever is needed,
whereas an rpm needs to first be converted to something more
reasonable (like a tarball) first.
|
Thanks, this is what I was looking for.
1) What happens if one installs the tarball then a dependency is missing,
2) or a file it is dependent on is of the wrong version?
3) Am I correct in thinking that *make* will make an RPM that one can install via RPM...and then it will be listed in the database?
I am trying to decide which way to settle on...
|
|
|
12-20-2002, 12:13 PM
|
#9
|
Senior Member
Registered: Apr 2001
Location: Perry, Iowa
Distribution: Mepis , Debian
Posts: 2,692
Rep:
|
tarballs are completely separate animals, 'make' does not make an rpm
|
|
|
12-21-2002, 01:59 AM
|
#10
|
Senior Member
Registered: Sep 2002
Location: Arizona, US, Earth
Distribution: Slackware, (Non-Linux: Solaris 7,8,9; OSX; BeOS)
Posts: 1,152
Rep:
|
Re: Good Explanation...see my question(S) below.
Quote:
Originally posted by Nu-Bee
Thanks, this is what I was looking for.
1) What happens if one installs the tarball then a dependency is missing,
2) or a file it is dependent on is of the wrong version?
3) Am I correct in thinking that *make* will make an RPM that one can install via RPM...and then it will be listed in the database?
I am trying to decide which way to settle on...
|
1: IF you just have a tarball, and not a slackpack, it doesn't
always make sense to talk about "installing" a tarball. If you
happen to have a tarball that was made from a bunch of files that
are all full pathnames, then that could be considered installing.
If our system is missing something that package is dependent on,
then the package won't work, and you'll get some sort of a crash
at runtime. If just have an archive that's been compressed, when
you untar/ungzip it, it'll just be an untared/ungziped bunch of
files. The Slackware package manager doesn't know how to
check for dependencies, but you can certainly have the
setup/install script check for you. . .
2: Same as above.
3: You can use rpm to roll your own RPM packages. Packaging
up some files doesn't add those files to an rpm "database", that
should happen when you unpack them. The "database" only
really exists on your system, there isn't a central place that
rpm reports to and registers your rpm package. You should
really read the rpm man page, and then follow the link to the rpm
web site ( http://www.rpm.org).
Are you packaging something up yourself? Are you terribly
worried about dependency checking? Do you want something
that can be dealt with on many different platforms? *I* can't
stand the way rpm (doesn't) work(s), so I would never
recommend it to anyone, but you should seek a second opinion.
If you are really concerned, do both. . .
|
|
|
All times are GMT -5. The time now is 08:25 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|