Re: make vs rpm vs srpm vs yum : questions about package management in Linux.
- From: Keith Keller <kkeller-usenet@xxxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 29 May 2008 16:37:15 -0700
On 2008-05-29, Rahul <nospam@xxxxxxxxxxxxxx> wrote:
(1) What's the difference between an rpm and an srpm (source rpm)? I did
google around before I posted and got the impression that an srpm was
more "customizable" with respect to architecture etc.
That's because an srpm has the source code. An rpm has binaries built
for a specific architecture.
I was referred to
the rpm --rebuild option several times in the past when Fedora had a
package I wanted as a rpm but not RHEL.
But if its customizable what's the difference between that and a "from
source" install.
The srpm spec file has the customizations in there already. You can
modify the spec file, or you can build the code from the original
pristine sources. (IIRC an srpm can also contain the vendor's patches
to the pristine source code.)
(2) RPM's from what I read ( http://www.rpm.org/max-rpm/index.html ) were
an abstraction designed to shield the user from the hassles of package
installation. So, what additional utility does the "yum" layer (or apt /
ebuild etc.) provide?
yum can find RPMs, and download them and their dependencies, from remote
sites. rpm can download specified RPMs from remote sites, but will not
download dependencies; if a dependency is missing, rpm will simply
complain and refuse to install (unless you specify --nodeps or similar).
(3) Other than the default repo from where my RHEL yum pulls software off
I believe there are other repos. I've heard DAG
(http://dag.wieers.com/rpm/) been mentioned. Fedora too has its own repo.
Is it advisable to point to these too in a quest to have access to a
greater range of packages? Or is that plain stupid?
I think it's unwise, since the Fedora packages are built against a
different set of libraries than RHEL. The DAG repository makes this
distinction as well, so by default will only show you packages for your
version.
(4) Is there no elegant way of having multiple versions of a code on a
Linux system? Say I have Packages A B and C that need Python2 and X Y Z
that need Python3. How can I satisfy this requirement. I've been often
chided for having multiple versions of a code on my system (or installing
software outside of yum / rpm) but isn't this a practical issue that
other people face too?
Define elegant. You can do whatever you want; e.g.,
/usr/local/python2.5/
/usr/local/python2.6/
/usr/local/python3.0/
I would say it's inadvisable to overwrite package-managed software with
software managed out-of-band e.g. by compiling source yourself.
(5) Is it advisable to *never* do a configure;make;make install; I can
always do a rpmbuild and then rpm -ihv right? That way all the packages I
install will be registered with the rpm package manager. Or not? What are
the pitfalls?
This is mostly a matter of taste. What you should not do is configure
&& make && make install when installing will overwrite software managed
by rpm or some other package manager. But if you do compile yourself,
and install to /usr/local (which is the whole purpose for /usr/local),
you shouldn't have a problem. A competent sysadmin will figure out
whether you've installed something into /usr/local/ if he needs to, but
he might not figure out that you've replaced the system /usr/bin/python
with your own build.
--keith
--
kkeller-usenet@xxxxxxxxxxxxxxxxxxxxxxxxxx
(try just my userid to email me)
AOLSFAQ=http://www.therockgarden.ca/aolsfaq.txt
see X- headers for PGP signature information
.
- Follow-Ups:
- Prev by Date: Re: make vs rpm vs srpm vs yum : questions about package management in Linux.
- Next by Date: Re: make vs rpm vs srpm vs yum : questions about package management in Linux.
- Previous by thread: Re: make vs rpm vs srpm vs yum : questions about package management in Linux.
- Next by thread: Re: make vs rpm vs srpm vs yum : questions about package management in Linux.
- Index(es):
Relevant Pages
|