Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Linux Software

Petreley on apt-get vs. RPM 240

cagrin wrote to us with a recent Nick Petreley feature on LinuxWorld. In this feature, he writes about one of my most favorite parts about Linux: Debian and apt-get. He's advocating that Debian become the standard for Linux, as RPM doesn't cut the mustard compared to apt-get. Now, granted, I've been able to blow up my machine before with reckless apt-get dist-upgrade -- but that's running unstable, and my own fault. Apt-get rocks.
This discussion has been archived. No new comments can be posted.

Peterely On apt-get vs. RPM

Comments Filter:
  • I think the main problem with rpm is that no one takes the time to actually learn it (for example, there are switches to allow installs/uninstalls without needing the dependencies, and even ways to install packages built for a different architecture).

    Oh yeah, and let's not forget the obligatory "rpm is open source, so if you don't like it fix it", etc.

  • Comment removed based on user account deletion
  • Comment removed based on user account deletion
  • Comment removed based on user account deletion
  • Comment removed based on user account deletion
  • Comment removed based on user account deletion
  • Comment removed based on user account deletion
  • It's really no comparison, the windows installer is much more straightforward and simpler to use.

    Yes, but (a) Windows software installs mess with the Registry, and gladly throw files everywhere, without the system knowing anything about who put them there, when, or what they do. They're just kinda there. (b) Windows tends to crash. A lot. (Yes, some people will tell me "but MY windows install never crashes!" - Sure, for different values of "crash" - but if you never leave your machine up for more than 8 hours at a time, you may be lucky enough to never see it.) All the changing of files, tweaking the registry, really messes things up.

    Windows and MacOS may be easier for the "I have no clue and money to burn" set, and for them, well, that's just lovely for them. Those people expect a computer to be an appliance, a simple machine, when it's far from that. I can't do anything for those who don't understand that.

    Remember, software is the most complex artificial construct we've ever created - people expect perfection from it, without understanding the complexity of it.
    _____
  • "[T]the list"? What list would that be - you mean the list of supported cards? Well, if you happen to have a NIC not on _that_ list, well, woe is you. And *DHCP* support? I do believe either dhcpcd or pump is installed as part of base!
    _____
  • This is a bit sad; at one point, the Cooker was apt-enabled.
  • Furthermore, I've been told that apt-get was standard tool in latest Cooker aka Mandrake 8.0beta.
    I while back I had Cooker (when it was "7.3") and it was apt-enabled at that point. That was pretty neat.
  • Absolutely, but I've spent half an hour updating RPM's just to get an ICQ client to work on my Linux box before.



    I hate to say it, but...damn, you must have done something wrong.

  • The first problem you describe essentially requires that you have an RPM or dpkg database that is prepopulated with all the information from all packages out there in "packageland."

    Note quite "all packages out there in packageland", but all packages in your local Red Hat install:

    [dougk@chief dougk]$ rpm -ql rpmdb-redhat
    /usr/lib/rpmdb/i386-redhat-linux/redhat
    /usr/lib/rpmdb/i386-redhat-linux/redhat/Basenames
    /usr/lib/rpmdb/i386-redhat-linux/redhat/Conflictna me
    /usr/lib/rpmdb/i386-redhat-linux/redhat/Group
    /usr/lib/rpmdb/i386-redhat-linux/redhat/Name
    /usr/lib/rpmdb/i386-redhat-linux/redhat/Packages
    /usr/lib/rpmdb/i386-redhat-linux/redhat/Providenam e
    /usr/lib/rpmdb/i386-redhat-linux/redhat/Requirenam e
    /usr/lib/rpmdb/i386-redhat-linux/redhat/Triggernam e

    [dougk@chief dougk]$ rpm --dbpath /usr/lib/rpmdb/i386-redhat-linux/redhat -q --whatprovides libesd.so
    vorbis-1.0beta3.20010206-2

  • What I demonstrated was a special package that Red Hat provides that includes a DB of all possible packages from the distribution. Any query you can do for the installed RPM's you can do for any RPM in the rpmdb db.

    So, assuming the RPM that contained the file is part of the db (everything on the main disc's, but not including powertools), you can do something like:

    rpm --dbpath -qf /path/tofile

    and find out that package "foo" contains it.

  • Debian package management is superior to rpm.

    On the other hand, it's strength is also a weakness, if you want to stay on the bleeding edge of source trees (as opposed to bleeding-edge packages). I do not understand the underlying package format, no do I have the time to learn (at least, not right now). While there is a hack available to add pusedo-packages to the dpkg database (to allow you to provide the dependencies for those packages that you are actually compiling from source); it is clumsy to use, and requires full knowledge of how to maintain debain packages (I would really prefer to maintain a simple /etc/* text file containing a list of manually supplied package dependencies, or something like that).

    The place where this got really annoying for me is with Perl. Perl is a core part of any Linux system - there are many non-perl packages that depend on it one way or another. Perl has it's own package system in CPAN that is totally incompatible with any Linux package management, and is much more fine-grained (usually Linux distros manage Perl as one or two packages that contain only core functionality; not the hundreds of interesting, useful and/or exotic CPAN offerings available). And Debian has been ultra-conservative in terms of up-revving Perl versions - also a real annoyance when I was using it. (Yes, I am using Red Hat now, but I would be happy to jump ship again.)

    Even better would be a package management gateway/hook which would allow linking these two package management systems together in some sort of relationship, but that's probably too far-out to ever become reality.

    I guess the other alternative would be to say "Screw this facist package management shit!" and install Slackware instead. :)
    --

  • Very simple: Backed by an venture capital funded corporations with an insane oxymoronic business model. As soon as the money runs out the steam on RPM will fizzle away and we all can finally unite behind Debian.

    Debian is build on software contributors and the principle of free sharing of knowledge not on a business model.
  • Yes, apt-get can resume partial files, does download everything to a holding area before installing and with apt-zip you can do the sneakernet thing by copying files to Zip (or other removable media) at work, and taking them home to upgrade you machine (for example).
  • My understanding is that the debian packaging system is much more difficult and inelgant from a package developer's standpoint. In fact, there is no way to extract or reconstruct the original set of sources and patches that went into building the piece of software. This makes it much more difficult to update packages. Say you have a package for XFree86 version 4.0.1 that has four or five patches from here and there on the internet applied. Now you download version 4.0.2, and you want to package it up. With RPM you can retrieve the original patches from the source RPM and examine them to see which ones still apply cleanly, which ones are no longer necessary, and which need to be modified. With the Debian system all the patches have been smashed together into a single patch, you can't tell which is which or where anything came from!

    Sure, the needs of users can be said to outweigh those of the developers, but at some point benefits to developers communicate directly to users, especially in a homegrown system like Linux.
  • A nice addition to the packaging systems used today, is to add rsync support as a downloading method. Thus, if I already have an older package, and assuming that the packages do not change a lot between releases, all I hvae do download is the binafy diffs of the PACKAGES.

    It would be a great advantage, and I don't think that it would take too much time to implement. Someone might have already done that. I should check it.
  • by Anonymous Coward
    Do you fellows even know what you are discussing
    about?

    apt-get is just a frontend to a packet manager, created for debian and nowadays it has been ported to rpm environment.

    I for example have an apt-get repository of rpm files I use to keep my linuxes up to date. Altought redhat 6.2 depencies were not good enough and I've had to recompile some packages with patched rpm.

    Btw. There was an article about this in freshmeat.
  • Declaring one distribution to be the "standard" based on method of update is like...

    ...like buying a Ford instead of a Chevy because you like the door handles better on the Ford.

    ...like voting for a presidential candidate based on who has the better hair.

    ...like actually choosing between N'sync and the Backstreet Boys (if you have made a choice, you are the loser).

  • dpkg -S IIRC

    At uni, so not a debian box atm :)

    but yes. But you can't have file by file dependancies as you can with rpm.
  • I've only briefly seen BSD in action and only quickly played with apt-get source .... but...

    apt-cache does the equivalent of searching and interogating the ports tree (make search KEY whatever) and apt-get does the rest

    apt-get can also build source - apt-get -b source will build it - however this isn't done like the ports tree - it won't pick up all the dependancies in the same way that the binary packages will, or at least not that I've seen while playing with building apache.

    The source bit needs work IMO, although I'm not an expert - I merely had a bit of a play because I was bored :)

    Downsides: no CVS - if a package gets a 5 line patch you need a whole new binary or source package for it.

    Hard to modify makefiles exactly - tends to be rather hardcoded to do what it likes anyway.

    This was a rather cursory view. And I know that the first issue at least has been raised before on debian mailing lists.

    - Andrew
  • Petreley says "On the other hand, consider the business implications of selling a distribution based on Debian: the distributor would be adopting a system that is deliberately designed to make it nearly impossible to sell its customers any upgrades. That cuts off a primary source of revenue for the Linux distributor." I thought the linux-distros made money from service, not from the media they sell. I mean, I realize the software they include is free, but they have to pay someone to package them, customize them, etc, etc. Not to mention all the production and marketing-related costs. How much profit is left when boxed sets sell for $20-30 on Wal-Mart's shelves ??
  • Nevermind Debian's political stances (they're the choir at the High Church of Emacs :); that itself can be overcome.

    What has caused me to throw up my hands and give up on debian more than once is that its behavior is subject to change on the whim of an individual developer: all of a sudden, a package will change the way it behaves. For example, a year or two ago, fvwm2 suddenly decided that any default besides manual placement of windows was wrong, and routine upgrades changed this behavior. (That it overwrote the existing sytstem config file without making a backup or asking permission is a bug, not a showstopper).

    There are also the occasional sudden decisions that files belong somewehre else.

    I'm not complaining about Debian as a linux distribution (or as a X/BSD/Perl/MIT/AT&T/GNU/linux distribution :); when I need to use linux, it is still my choice. apt-get is wonderful; I never hated dselect (except for the refuasal to fix a bug that locked it over telnet because the bug was in ncurses), and a single /etc for everything is great (though I understand the reasons for having separate locations).

    The problem is that it *does* change fundamental behavior, and that it sometimes does this suddenly. It lacks the very "singleness" that is needed for a standard.

    hawk
  • Indeed, it would be precisely as silly as the idea of merging apt-get with dpkg.

    What would be useful would be to build a version of apt-get that could use RPM as the packaging tool instead of dpkg. Which is something people are working on...

  • I'm afraid that what you're looking for isn't likely to be readily supported by any of these schemes any time soon.

    The first problem you describe essentially requires that you have an RPM or dpkg database that is prepopulated with all the information from all packages out there in "packageland."

    It might be a reasonable thing to try to extract such information from some place like RPMFind.net [rpmfind.net]; but the essence of the matter is that you need to have all the packages available for query, which is not likely to be the case on your PC at home if you're using APT to get at packages remotely.

    As for the second problem, of "recursiveness," there's both a touch of inherent danger, and an answer with APT.

    • The danger part is that a recursive install probably isn't what you want. Two packages might depend on one another, and this would naturally lead to a loop where neither dependancy could be satisfied.
    • The flip side is that apt does do pretty much the "right thing." It recursively looks up the dependancies in order to generate a full list of packages to install, and then essentially tries to install in parallel.

      The parallel aspect of this resolves most of the problems you suggest.

    In effect, the problem is that RPM could use a "helper" rather like APT in order to cleanly satisfy dependancies for a clean install of software.

    It's not that RPM is "broken;" it's that it really needs that "soul mate/life partner." :-)

  • Binary patches would work best if the compiled code was predictable and modular. Unfortunately, it depends so much on what CFLAGS the guy compiling it used that day, the phase of the moon, and the exact pattern on their t-shirt, that it would prove complicated.

    HOWEVER, if GLIBC (and other programs) had a basic exoskeleton which did nothing more than pull in loadable modules, then you can start talking some serious improvements on the current system.

    On a completely different note, Netscape is running a survey on whether Judge Penfield treated Microsoft unfairly. Slashdotting polls leads to excessive bias, so here's a large keg of virtual beer to all who ensure the results are, ummm, accurate. :)

  • Sure, Redhat is wielding a great big stick by designing, implementing and then releasing the source code of RPM under the GPL. Give me a break.

  • by SimonK ( 7722 )
    Thats what apt-get does to. If you haven't pointed it to the right place, it can't find the packages.
  • The biggest problem I've had with rpm, IMNSHO, is its inability to deal with dependancies of non-rpm packages on the system. I don't mind having to go root around for my rpm updates, in fact I prefer this so these benefits for apt-get aren't of great concern to me.
    Recent RPM (4.0) can do this to some extent, I think. But here's a better idea:

    Modify /bin/install to insert entries into the RPM database for the individual files that are installed. Then rpm doesn't have to root through your filesystem trying to guess where you installed openssl. It would be even better if autoconf could grab a little info from the .spec file that came with the package, and pass the basic package info to /bin/install, that way doing the equivalent of a 'rpm --rebuild ; rpm -U ' when you do a make install. I sometimes find that I have to hack the source, or pass extra options to ./configure to get something to compile. Then using rpm to create a binary package from a hacked source tree is a real pain. (rpm only wants to create packages from .tar.gz or .src.rpm, and if they don't compile, it just sucks).

    --Bob

  • > The biggest problem I've had with rpm, IMNSHO, is its inability to deal with dependancies of non-rpm packages on the system.
    > I don't mind having to go root around for my rpm updates, in fact I prefer this so these benefits for apt-get aren't of great concern
    > to me.

    Sourceforge lists a couple of utilities to handle this problem: pkgwrite & checkinstall.

    I haven't had a chance to thoroughly examine how well they work, or which is better. But you know this advice is prolly worth exactly what you paid for it . . .

    Geoff
  • Real software takes a while to install. The trouble is with people who expect otherwise.

    Absolutely, but I've spent half an hour updating RPM's just to get an ICQ client to work on my Linux box before. Double click an .exe on my Windows box is much easier.
    ---
  • It's possible, I'm not a Linux expert by any means. I've set up basic www and apache servers, and play around with it as a desktop OS from time to time.

    I just ran into the problem of the ICQ RPM needing another RPM which needed four other RPM's which needed 12 more RPM's...

    You wind up needing to replace half your OS to run an application, which ticks me off.

    I'm not a moron, I could learn the intricacies of the operating system, but I don't want to. I want it to "just work". I guess I'm old fashioned that way...
    ---
  • Didn't I read an article a little while ago that said that someone was working on integrating apt-get into rpm (http://slashdot.org/articles/00/12/02/2049234.sht ml [slashdot.org])? Isn't apt-get a front end to deselect or dpkg? So if this guy is so for apt-get why is he putting down rpm? I think in time (that article said) that this would happen.. In time apt-get would become the standard front end.

    I don't want a lot, I just want it all!
    Flame away, I have a hose!

  • What has always amazed me about RPM packages is that the builders always seem to remove their brains before making them.

    RPM-the-library has the capability to check for specific files, but real world RPM packages never do. Thus, if you ever bypass the RPM mechanism you're screwed. If appfoo-1.6 needs libfoo-2.1, then why the hell can't appfoo-1.6-i386.rpm check for the existance of the libfoo.so.2.1 file? Why does it demand the existance of libfoo-2.1-3-i386.rpm, which in turn demands packages for libfoo-patch-6.9b, libsnafu-0.0.4-pre, gnomesnafu-0.0.4-pre2, kdespuge-3.0.1b9, and on and on and on. Before you know it, you have the entirety of GNOME, KDE, and XFree86-4.0.2-patch9 just to run a stupid ncurses program.

    Sorry, I'm ranting. I'll go take my pill now...
  • The world's perfect OS is Slackware with ports. Too bad it only exists in my imagination.
  • That *is* a nice feature, but it only works if the package is already installed. What if you're trying to compile something and ./configure says you need library foobar.so.0 and you don't know what rpm it's in? Is there a way to query the rpm database to find out what rpm to install? Otherwise, you have to go get the source for the library and compile it up as well. Or guess what rpm it's in.

    On a different note, the main thing that's broken in rpm (imo) is its lack of recursiveness. I recently installed the updates to RH7. I had a bunch of rpms and did 'for i in *rpm; do rpm -Fvh $i; done;' and of course about a dozen failed because foobar-1.0.0-1.rpm needed foobar-devel-1.0.0-1.rpm which hadn't been installed yet. Re-running the command takes care of this simple (but annoying) problem, but more insidious is the situation where it won't update something because another package depends on it, but you are also updating the other package, so the dependency doesn't matter. You end up installing a bunch of stuff by hand with --force --nodeps. Am I being an idiot? Is there a better way or is rpm as broken as it seems?
  • is not actually the fact that apt-get is not comparable to RPM, but the fact that Debian has a strict policy on package dependencies.

    Eh, so has every distro.

    The main difficulty with porting apt-get to RPM (and in fact, the main difficulty with any automated system for RPM) is that there are no standards about how to make your rpms. You just do it whatever way you wnat.

    So what you really say is that it's bad packaging. I would call that the packager's fault, and not blame rpm.

    RedHat themselves don't conform to the LSB filesystem standard, which doesn't help.

    This is where it gets really wrong. To start with, LSB is not a filesystem standard (LSB is not even completed yet!), FHS is (and is completed).
    And yes, Red Hat 7 plays by the rules of the FHS very nicely.

    IMHO, any packaging system must have complete and strict dependencies, and policies on these so that a package is not valid unless it's correct and pretty damned complete, and it must comply with the LSB as much as practicable.

    I sense some confusion. A package shouldn't confirm to a filesystem standard. That's just plain illogical. You'll end up with hard-coded paths that are wrong on many systems. Instead, you should use rpm macros when packaging an rpm and specifying paths, macros that will make things go where they should on any rpm system. That makes stuff exactly as portable as you want.
    Good packagers use macros, bad ones don't.

    Debian does this, no RPM distros do.

    Maybe because you're asking for the wrong thing?

    Hence, Debian is easier to maintain.

    Given the above, I don't understand this argument.

    The only problem I see is people who cannot understand the difference between a problem with bad rpm packaging and a potential problem with rpm.

  • evidently I got a few things wrong there... However, the point I am making still stands. The point is that it's debian's policies that make the dpkg and apt-get system easier to use than the various rpm systems.

    I don't agree with you on the point of ease-of-use. But even if we let that aside, you think it's Debians packaging policies that make Debian packages shine. I don't understand your point, in my experience rpms done by Red Hat are also excellently packaged, maybe even better.

    If the same policies were strictly applied to rpms (as you claim SuSE does), then they would be as good (except that apt-get and dpkg rock :).

    They are strictly applied. I still sense some confusion here. You have to be able to distinguish between the two different subjects:

    • Packaging technology used (rpm/deb/tgz)
    • Packaging policy (how the person building the packages does with naming, building and scripting of packages, macros used, etc.)

    Each distribution has their own packaging policy. Debian has their own. Red Hat has their own. SuSE has their own. And so on. Just because Red Hat and SuSE share the package technology doesn't mean they share package policies. On the contrary.

    A particular package technology does not enforce a particular packaging policy. You can use the same technology but have different views on how packages should be named, for example. Neither should a technology enforce a policy; policies are usually only a "political" decision and have not much to do with technology.

    As for the technology, dpkg may have some interesting aspects. But as for Debians packaging policy, I don't think they are as good as you make them out to be. Debian naming OpenSSH packages "ssh" to make users confused what ssh is installed is just one example.

    Still, the dominance of RedHat and the incompatibility between the RPM based distros doesn't bode well for rpm in my books.

    So you're blaming differences in distributions on the package system used? Please explain, because I fail to understand the reasoning.

  • I love the question of the poll on the front page:
    "Was Microsoft the victim of a Biased trial?"

    Gee... before or after the purjured themselves in front of the Judge? Repeatedly?

    Current results:
    Yes = 65%
    No = 35%

    (I voted no, which of course means they got a fair trial and should be split apart into lots of itty bitty MSs that can be auctioned on E-bay for $5 a pop ::grin:: )
  • "The number one complaint about linux focuses on how usable, or not, it is for people who have less technical backgrounds then most slashdot readers."

    Er, that is possible? ;)

    I'm not particularly impressed with that as a complaint. I prefer the `so go get a clue' answer infinitely more than "oooh sorry, I'll make it all so much easier for you". Grrrr!

    "We need something"...

    We already have rpm, RPM, and apt-get and dpkg. At least with apt, if you read the article you'd have read the bit about "stay with stable". What he didn't do was to name `testing' per se, but that's a reasonable idea anyway.

    What RPM needs is the ability to grok package pools/repositories. Apt doesn't need anything, that I can see.
    ~Tim
    --
    .|` Clouds cross the black moonlight,
  • You seem to think installing stuff on Windoze is easy? Ever tried Oracle, or debugging various different versions of MSSQL & ODBC drivers?

    Real software takes a while to install. The trouble is with people who expect otherwise.
    ~Tim
    --
    .|` Clouds cross the black moonlight,
  • Also, RPM is clearly much easier to use and seems more stable, at least to me.

    apt-get install foobar3
    apt-get remove frotz12-dev

    What could make it easier? I've also never had apt, dpkg or dselect crash on me or behave in strange fashion. The same is true of RPM. What sort of instability are we talking about here?

    As for Debian become a standard, I hope the auther is kidding! Debian may not be the worst distrobution, but RedHat trumps it in every catagory...featurs, stability and price.

    Features are somewhat in the eye of the beholder, but I'll happily admit that Red Hat's hardware detection and install are much better than anything in Debian. Progeny [progeny.com] have a Debian-based dist that solves that one nicely. Other than that, what features do you feel are present in Red Hat that aren't adequately available in Debian? In terms of stability, both are based on the same kernel and use the same XFree. I've had pure Debian systems running for over a year without crashing. Again, what stability issues do you feel exist with Debian? Stability is certainly not something that I'd bae a choice of Linux distribution on, mainly because they're all pretty much identical in this regard. As for price - Debian is free. Completely and utterly. You can find people who will sell you official CDs for the price of duplication, and you'll get the complete distribution. How much cheaper do you want it?
  • Have you ever tried to get soemthing from RedHat's ftp server?

  • Several people have mentioned that you can get the list of files owned by a package with dpkg -L <package>. This is true.

    However, you can also do it the other way around, like you asked. dpkg -S <filename> will tell you, given a file, what package it belongs to.

    --
  • I am a Debian user and I *love* my apt-get. BUT, it only works seemlessly if you stay strictly with official debian sources in your /etc/apt/sources.list file. If you don't, you run the possibility of having package name collisions.

    Let me give you an example. I have added Ximian Gnome's sources to my /etc/apt/sources.list file. Both Debian and Ximian have a package called "sawfish-gnome", and both use different versioning schemes. Ximian's sawfish-gnome depends on sawfish. Where as Debian's sawfish-gnome conflicts with sawfish.

    SOOOO, whenever Debian updates to a higher version than Ximian, apt will tell me that it needs to de-install sawfish, which will in turn de-install a number of my Ximian packages that depend on sawfish. Of course, I don't really want that.

    Currently, the only way to solve this is to tell apt to "hold" the Ximian versions of sawfish and sawfish-gnome. This is somewhat annoying and a direct result of name space collision. A better solution, IMNSHO, is to have some sort of global package naming policies. So that in the above problem Ximian would name their deb's "sawfish-ximian" and "sawfish-gnome-ximian" (for example) and each package would provide "sawfish" or "sawfish-gnome". Then when the dependancies were trying to be met, I could choose which set of packages I wanted to meet those dependancies.

    All of that being said, I'll still take apt/dpkg over rpmfind/rpm anyday.
  • Does make clean remove the files from their install location though?
  • What I still dont understand is why linux keeps reinventing the wheel. Why not simply use the ports/package tree from the bsd's?

    Its a solid system, ALL of the BSD's use it in some form or another, it allows source installs, it saves the install info as TEXT, its been tested and proven by years of experience.

    It seems to me that ports is really the best system. I noticed that gentoo linux [gentoo.org] is using it now, although slightly modified.

    I would *love* to see one package standard for all of the bsd's AND all the distro's of linux!

    Openpackages all the way baby! [openpackages.org]

  • I'm sorry, but it seems nobody here is actually aware of the current status of APT:

    * APT does not compete with RPM.

    * Deb competes with RPM

    * APT is packaging system independent

    * APT was *designed to be* packaging system independent

    * APT works with RPM

    * Connectiva uses APT

    * Mandrake 8 (currently in beta) uses apt

    * Connectiva also has a n excellent set of packaging guidelines, which document things like package granularity, etc (current situation - libmng might be in libmng package or qt2 packages).

    * AFAIK (from talking to Debian people and using it for a little while) Deb lacks package signing, and transaction support.

  • Does the apt system maintain a database of what files belong to what packages?

    One of the things that is nice about RPM is being able to say "rpm -qf filename" and having RPM tell you what package filename belongs to. Unlike certain other alleged operating systems *cough*Windows*cough* when you find some unknown 100 MB file on your system, you can ask "Who's fault is this?" of RPM.

    (obviously, if the file in question wasn't installed by RPM, it won't be in the database. Nothing can solve this...)

    Can you do this with apt?
  • <disclaimer>
    I'm a newbie
    </disclaimer>

    If apt-get is so good, why can't you use it in RPM based distros? (RH, Mandrake)

    BTW, is there any .deb -> .rpm converter? If not, it's possible to make? has any sense?
  • The best application management device yet invented is the NeXT bundle (which Apple has capitalized on with OSX). Bundles localize application resources (internationalization, icons, pixmaps, etc) to a single directory, and considerably reduce dependency problems. And they do not rely on a central database that can bring down an installation if corrupted or destroyed (a la windows registry). For more info, check out John Siracusa's reviews on OSX at ArsTechnica.
  • Ok, now I'll definitely give it to Debian for introducing such an awesome auto-install tool for debian packages, but to compare apt-get to 'rpm' is like comparing apples to oranges.

    Apt-get is a utility used for installing and updating .deb packages. It currently has it's largest amount of support for the debian package management system, but there are also beta versions for .rpm and other package managers as well.

    While apt-get is definitely a bonus for the debian distribution, because it makes things tremendously easier, it should be considered an application. I think it would be *great* if all linux distributions used apt. It is not necessarily a bad thing for apt to use different package managers underneath though!

    --
    Twivel

  • They can still do this with the iso's. Listen, they are NOT going to make money any more by selling the CD's unless:

    1. There is SIGNIFICANT non-free software with the box. If a box had Word Perfect or some other non-GPL software, it would be a better buy then the iso.

    2. They close the source....which they CAN'T do!

    Also, I have noticed that up2date or the redhat network will allow you to download packages even if you are not a member. Debian, being a non-profit entity, will never charge access fees for apt. Therefore, it's still better. Nick brings up a EXCELLENT point about apt in that when Stormix shut their servers down, he can just point it at Debian's servers and still be ok. If Red Hat goes belly up, RPM will probably die, unless someone else picks it up. Also, RPM's database can too easily get corrupted by forcing installs which can be and usually is necessary, plus most bigger projects like KDE doesn't post a order of installation(at least they didn't last I checked), so you almost have to force the install to get everything going unless you know the order. Red Carpet by the Ximian folks is great and will allow a conduit for them to make money if they ever release some closed source stuff, or they can get money from a closed developer to allow them to put a channel in red carpet to let people buy their software thru it. and Red Carpet is INFINTELY better then Eazel's stuff (Eazel is limited to what's on Eazel's servers now, plus server reliability is lacking!).

    I also might add that it's EASY to upgrade a kernel with APT and dpkg. Just grab the kernel-package and the kernel source deb you want, build the kernel deb with a one line command using make-kpkg. This builds a deb including the kernel and kernel modules. When you use dpkg to install it, it will even run lilo for you. (I think! I only did it once, but all I remembered was that it was MUCH easier!). One time I did a RPM kernel upgrade and RPM didn't edit lilo.conf or run lilo (was I supposed to? Did up2date remind me? no!, but Red Carpet didn't either though...) and I was unable to boot. Sure, I could have fixed it, but after futzing with it for too long I said screw it it takes less time to re-install, and this was a new install so I didn't loose anything....isn't this why we are trying to AVOID Windows??? Debian has it right.

  • by WD ( 96061 )
    No. Up2date is available for all users. If you download redhat, you can use it.
  • Very simple, you cut out the part place where he says that he blew up his system syncing against unstable.

    I have too... its definitly possible to blow your system up doing that. Unstable is where packages get initally uploaded to. Its the development distribution - and you have no buisness syncing against it unless you are willing to have your system blow up and need manual fixing.
    (actually - Ive never had my system "blow up" from it, but I have had a package or two break and make a few things blow up - its almost never that difficult to fix, if you know how)

    In short, ther eis no quality control on unstable. Its where packages go so that people can use and test them. They havn't been formally tested (like the stuff in "stable"), sometimes stuff blows up in there.

    -Steve
  • I love Debian and apt don't get me wrong, but what I thought was silly is how dpkg and apt require perl. I like perl too and all but recent perl troubles with the packages in unstable have been a mess and if I wasnt more carefull dist-upgrade would have removed perl and that would have left me with a busted system. What exactly is perl used for, the install scripts on the packages? If its possible it would be nice to get rid of the perl dependancy alltogether and make apt and dpkg statically linked binaries because they can be broken and leave you high a dry.

    Still kicks RPM's ass though :))
  • How much is apt-get alike the ports collection from the BSD versions? This is because I really enjoy the easy of installing under ports. What I've been told it also does the downloading/checksum/patching/configuring/make/mak e install in one go. apt-get however, does this in a seperate command whereas ports have a directory structure for it.

    I would like to see an objective review of these two "packaging" formats. Any comments?
  • Dial up accounts give you some protection because your IP changes for each login but that isn't sufficient. I'm usually logged in for several hours at a time and I find myself scanned at least once every hour. A kiddie could easily discover a weakness and exploit it in that time.

    And given that dial-up users in general will be home users, security updates are doubly important for them because it may be the only way they harden their boxes.

  • Perhaps it isn't a big deal for you but I can assure you it is for other people, especially those who pay for local calls. And this is just *one* patch. If you wished to update Mandrake 7.2 to the latest of everything you're looking at nearer 12 hours of downloads.

    I doubt that downloading binary diffs of the stuff that's changed would amount to a tenth of the download time.

  • I'm surpried this is the first one to mention this, I was thinking the same thing. How about comparing dpkg/dselect to rpm? If apt has a peer, I can't think of one.

    I love apt-get. I was using RH distros up until a year ago. RPMFIND is a nice way to locate packages, but I found that going out and grabbing packages, downloading them, finding out missing deps and then repeating the process to be a chore.

    Then I started trying out debian for a machine I wanted to build for a samba file server in my house. Once I was able to grok dpkg + dselect + apt, I was thoroughly impressed and comfortable in switching my main box to Debian.

    Of course YMMV and choice is a good thing. But I agree that apt and rpm are apples and oranges.

    ---

  • Let me get this straight,

    Redhat doesn't have apt because otherwise people would upgrade to the latest version simply by downloading all the upgrades. Instead they buy the CDs.

    What stops people downloading floppy install image and upgrading over ftp to stay up to date?

  • Am I the only one that dislikes the common usage of the term "bandwidth"??

    *sigh*

    Kiddie: "I've got LOTS of bandwith"

    Clued: "Oh, really? What, rom 20 KHz to 200 MHz?"

  • ...how an increase in GNU/Linux choices often leads to increased arguing over which should be The Best and The Standard? And eventually, a whole boatload of choices usually results in one being pushed down everyone's throats? Distros outta ship with earplugs.

    Ah, hell... just use an Amiga or an SGI.
  • evidently I got a few things wrong there... However, the point I am making still stands. The point is that it's debian's policies that make the dpkg and apt-get system easier to use than the various rpm systems. If the same policies were strictly applied to rpms (as you claim SuSE does), then they would be as good (except that apt-get and dpkg rock :). Still, the dominance of RedHat and the incompatibility between the RPM based distros doesn't bode well for rpm in my books.

    rr

  • correction - you referred to RH7, someone else referred to SuSE...

    rr

  • Evidently you don't get it. It's not about the tools (apt-get/dpkg vs rpm) but about the policies that make the Debian system so consistent and stable. This is the reason why rpm-based apt-get will still suck.

    rr

  • OK...
    1. The debian policy, in my experience, produces better, more consistent packages.
    2. Due to this consistency, apt-get and so on are made possible. I haven't tried the various tricks that are used to get apt-get working with rpm, but given my previous experience, I don't see them as being likely to work. I could be wrong here.
    ie, the policy enables the technology to work. I assure you that I understand the difference between the two, but I am not convinced that you understand the link... make sense?

    rr

  • Also last time I looked (Granted this was several months ago) up2date only worked if you bought a boxed set from RedHat. It did not work with any other way you could get RH this is one of the things that made me give Debian a try and I'm *very* happy that I did because I have found far more since then.
  • Gotta disagree with you there. While I've seen the kind of shops you describe, they have generally been a rarity. Unfortunately, the majority of IT departments I've run across, suffered from a bad case of the DUH's. In my own insignificant experiences I've seen three seperate companies destroyed by upgrades gone horribly wrong simply because they had to have the latest and greatest.

    Just because your so called experience contradicts Nick's doesn't make you the grand poobah of IT either. While I think that the truth lies somewhere in between, this malady DOES exist and will continue to do so as long as companies continue to hire MBA's with nothing more than a good pedigree to be CIO/CTO. Furthermore, the biggest problem with your post is your reliance on your own personal experiences. I'm sorry, but your experience in IT is insanely insignificant compared to Nick's. Sure, I don't always agree with him, but he has a tremendous amount of knowledge in the world of IT and an even greater amount of integrity.

    Cheers,

  • Binary patches would work best if the compiled code was predictable and modular. Unfortunately, it depends so much on what CFLAGS the guy compiling it used that day, the phase of the moon, and the exact pattern on their t-shirt, that it would prove complicated.

    I'm not sure I follow this. If you're going to provide binary packages, why not binary patches? Sure, there are hundreds of different possible settings when compiling an app, but if you're going to provide binary packages, you've still got to choose one of them.

    What I'd like to see is a package patching system. For example, you give it foo_1.2-1.deb, apply the patch, and out comes foo_1.2-3.deb.

    I'm sure it can't be as simple as a binary diff between the two files because there's compression happening, but some multi-stage process of unpacking, patching, and repacking would probably work.

    And then, if it were integrated into APT, it could maybe combine an FTP site with a local CD to reduce download times considerably.

    --

  • From what I understand about ports (im not a BSDer) is that the port 'application' will retrieve a maintained list of makefiles/configure scripts from a central repository - and duplicate that organized collection onto your BSD box. This collection of makefiles is 'refreshed' each time 'live' when you update your ports collection. This way you have all the 'latest' build procedures for every app who cares to register itself (for your particular BSD & version). When you want to install an application - you execute this makefile (which builds your app and resolves deps (by building those)) it does this by FTPing the necessary sources from the appropriate location.

    What I understand apt-get to do is 'intuitively' reading the deps portion of a debian package and dloading binaries from the registered 'sources' list (what is that file called..?) and installing them for you. It is an 'automagical' frontend to retrieving and installing debian pkgs.

    I think this apt vs rpm argument is a little off base - again im not intimately aware of any package system, this is just what ive gleaned about them over time - is that rpm isnt comparable to 'apt' at all. RPM is a package standard - with its own format and features - but 'apt' is an application to retrieve packages (debian ones). What is necessary is a 'apt' application to retrieve 'rpm' packages. My understanding is not deep enough to argue the ad/dis vantages of either package format... I would suggest neither is the author of the article.

    Our Brazilian friends at Connectiva are working on an APT 'port to RPM'. [www.http]
    Slashdot has a discussion about this the apt-rpm project here [slashdot.org]

    What i have described above may be all completely wrong - but this is how I understand it. Please correct me if this is so.

  • I'm not particularly impressed with that as a complaint. I prefer the `so go get a clue' answer infinitely more than "oooh sorry, I'll make it all so much easier for you".

    I really have to disagree with you there. First off, even for very intelligent and motivated individuals it can take a long time to "get a clue". Second, compare installation procedures with apt and rpm with windows (for example, using install shield or some such). It's really no comparison, the windows installer is much more straightforward and simpler to use. GNU/Linux still suffers from the "disease" of being designed for the technologically elite and the already extremely clue inclined. I don't fault gnu/linux for this, it's a great OS and it has numerous great applications. But in this modern push to transform gnu/linux into the next great generic workstation / desktop OS it is an incredibly disadvantage and these problems have still not been fully addressed and ameliorated, though the situation certainly is improving.

    I shouldn't have to have a trancendental understanding of every nook and cranny of my system to install a simple piece of software. Similarly, I should not be forced to know the exact specifications for the "black box" fuel injection control electronics on my car if all I want to do is drive it someplace or change a tire or the oil or open the trunk or the moon roof. Linux is a tool, not a toy. It should be optimized for being used as a tool and not optimized for being used as some sort of technological play ground. Some of us need to do serious work and we don't want to have to play around with your cumbersome systems created because you like to answer arcane configuration questions and you have nothing better to do than spend all day installing one piece of software.

  • Gotta agree with ya there. In my experience the attitude has been more "if it ain't broke don't fix it" than "upgrade party this weekend! (as always)". In fact, most of the time you have to go out of the way to conciously say "uhhh, yeah we've put of upgrading such and such for too long" because the version they have been using is so moldy and stale that it has finally started to become a problem. Any place that has done a significant upgrade (and has any brains) learns really quickly that upgrades are a time and resource and productivity hog and that you really need a good justification for them.
  • I tried to apt-get an upgrade to xfree 4. It didnt work. I installed a binary, and now apt, naturaly, is broken, probably beyond all repair.

    All package systems suffer from the same thing though. It's an all or nothing system. Is there any system which lets source installation, and then recognises what you have installed in terms of packages, i.e. I can install glibc from source, so apt doesnt know it's there, but then run apt-refresh and then it will know.

  • GLIBC is too bloated to begin with
    GNU needs to break it up, if you ask me

    Let's make a couple of quick substitutions to the above...

    s/GLIBC/Microsoft/g
    s/GNU/The Department of Justice/g



    Those who can, do. Those who can't, get their MCSE.
  • I've discussed this with some linux using friends of mine before. Debian is a non-profit company and Redhat is here to make money. What does that have to do with anything, you ask? Debian users upgraded from 2.1 to 2.2 with a one line command. That was it, that simple, nothing to it, and it was almost a non-event. If you're not understanding, they upgraded their entire box, every library, binary, etc to become debian 2.2.

    Redhat and other RPM distros, could have serious dependency headaches in order to go from one version release to another. The main catch is, this forces people to buy a newer version to stay on the forefront of linux. If I could buy Redhat 6.0 and just 'apt-get distupgrade' all the way up to 7.0 and to future releases, I wouldn't have to buy any more releases from Redhat EVER AGAIN! Unless Redhat makes an apt repository and charges a subscription service, their older customers are not going to need to buy newer releases.

    Conclusion: Debian is a non-proft organization. Debian has an excellent packaging system. A debian user can type in a command and upgrade the entire distro to a newer version. Debian has no fiscal incentive to push point releases as we all know. This is because stability and robustness are of utmost importance to debianites. How long did it take from the 2.1 release to 2.2 again?

    Redhat is a for-profit company. Redhat has a decent packaging system. Installing a package may be troublesome if you have to find a package that contains the file that the program you're trying to install depends on. It is easier for most users to either buy/download a newer version to stay current. Thus, redhat sells more copies because people can't buy just one distro and upgrade ad infinitum. In other words, money may be the reason.

    What do you guys think?
  • "rpm" is a package format and tool. Its equivalent in the Debian world is "dpkg".

    "apt-get" is a tool for network updating of distributions. Its equivalent in the "rpm" world are "rpmfind", "urpmi", and a bunch of others.

    In my experience, "apt-get" works quite well while "rpmfind" and "urpmi" don't. The reason for that isn't some technical deficiency of "rpm", it's one of user community: there isn't the same dedicated group of volunteers keeping network repositories for "rpm" up-to-date and available. rpmfind.net is a great effort, but it's a one-man operation.

    So, should we all switch to Debian packages? I don't think so. I think the dependency management in "rpm" packages is better and more robust than that in "dpkg", and I believe "rpm" packages encourage third party contributions (outside a single monolithic development organization like Debian) more.

    If there is demand, maybe people can volunteer and bring systems like "urpmi" or "rpmfind" up to speed. Several commercial vendors are also trying to fill the gap.

    Of course, a more fundamental question to me is whether continuous updating is even desirable. In most corporate environments, stability is probably more important than getting the latest bug fixes (yes, even getting the latest security bug fixes).

  • "...I have never seen a shop where upgrades were constant or even frequent. I've worked in about 20 shops now, and in each, major software upgrades had to be a) justified to upper management, b) undergo extensive testing, c) be completely documented and d) have a backout plan."

    These two sentences are only marginally related. Yes, upgrades require a lot of prep work. That's why their frequency is so damn annoying. As for the frequency itself: You've never, ever heard an IT person say "maybe you need to upgrade" in response to a problem request? You've never seen a user ask for a feature that can't be supplied by the current version? You've never found incompatibilities between new software and your non-upgraded "legacy" software? You are a lucky, lucky troll^H^H^H^H^H man.
    --
    Non-meta-modded "Overrated" mods are killing Slashdot
  • by Christopher B. Brown ( 1267 ) <cbbrowne@gmail.com> on Monday February 26, 2001 @05:14AM (#403037) Homepage
    Contrary to what others may have suggested, "apt" maintains no such database associating files with packages.

    apt's purpose is quite directed, namely to track the associations of inter-package dependancies.

    It leaves the task of tracking specific files to a completely separate piece of software called dpkg. Or, if you use the "beta" version of apt-get, the database of files installed would be maintained by RPM.

    So, supposing you want to know what files are associated with the Netscape package titled netscape-communicator, you might use the commands:

    dpkg -L netscape-communicator

    or

    rpm -ql netscape-communicator

    depending on what packaging tool you prefer to use. Note that neither of those commands involve apt in any way, shape, or form.

  • by Jason Earl ( 1894 ) on Monday February 26, 2001 @05:22AM (#403038) Homepage Journal

    First of all, Nick is currently employed by Caldera (which isn't Debian based), so it isn't necessarily a question of him asking to standardize on what he has chosen. It's actually a pretty brave stance.

    But Nick isn't really arguing that for the universal acceptance of Debian Linux. What Nick is essentially doing is arguing for a "binary" Linux Standard Base. This has been a fairly constant theme since before the LSB was even born. He contends that unless there is an installable distribution against which commercial software developers can build and test their software there will continue to be problems for Linux distributors and Linuxers in general.

    Debian Linux provides a perfect base on which to standardize. All of it's software is freely redistributable, and it is technically an excellent distribution. More importantly, it isn't a commercial institution itself, and therefore it makes sense as a "common ground."

    The other choice that makes sense (IMHO) is RedHat. RedHat Linux is also useable in it's freely redistributable form (there are no proprietary pieces that are absolutely necessary), and it already has quite a bit of market share. In fact, to my mind Nick's article is simply pointing out to the non-RedHat distributors their one and only chance of checking RedHat from becoming the standard. The other commercial Linux distributors are not very likely to want RedHat Linux accepted as the binary standard for Linux (they already have enough problems with it being the de-facto binary standard). If all of the non-RedHat distributions threw their weight behind Debian as the binary standard then RedHat would maybe be force to follow their lead.

    Otherwise the rest of the Linux distributions are probably all in for a very long trip off a very short pier.

  • by scrytch ( 9198 ) <chuck@myrealbox.com> on Monday February 26, 2001 @08:23AM (#403039)
    From what I understand about ports (im not a BSDer) is that the port 'application' will retrieve a maintained list of makefiles/configure scripts from a central repository - and duplicate that organized collection onto your BSD box.

    Close. There is no port "application", it's just a directory that's maintained by the FreeBSD developers that contains the meta-info for the package (description, manifest, dependencies, patches, etc) for each port, broken into categories like net, x11, editors, www, and so on. This directory is synchronized with cvsup, which is sort of a cross between cvs and rsync. Same thing you keep the base distribution source up to date with (why the OS itself can't be broken into ports, I don't know. Want to use the right tool for the job I guess). All the dependency management is done with make, there's no "port" application that checks for dependencies. So the ports application would be 'make' -- it's the sort of thing make was made for, and it does it swimmingly.

    One major difference between ports and apt sources is that the location of the port is on a per-port basis. Often there's a copy mirrored on freebsd.org (or whatever your bsd distribution home is), but the port will try to download the source from its original location first, before trying mirrors (and if all else fails, you can download the binary package manually).
    --
  • I totally agree with the folks that previously stated clearly that you can't compare apt with rpm - on debian, apt sits on top of dpkg (or something like that, I am really not a Debian user), and dpkg is the component/architecture that maybe could be compared with RPM.

    But the important point here is that apt can sit on top of RPM too, and there is at least one full RPM-based distro already including apt as the core of its package management duties. It's called Conectiva Linux (www.conectiva.com, in english). Have a quick glance at this excerpt from their PR (http://en.conectiva.com/linux/):

    "The biggest and most remarkable advantage of Conectiva Linux 6.0 is the Advanced Package Tool, also known as APT. Previously APT was only available for .deb packages but was recently enhanced to support .rpm packages too. Conectiva 6.0 is the first rpm-based distribution with fully integrated apt-get support. This new tool makes it easier to keep the platform up-to-date and secure, since it can automate the update and installation of all .rpm packages. APT, when used as an (automatic) upgrading tool, can detect the availability of new versions of .rpm packages, and take care of download and installation. In corporations, APT has a very crucial importance in terms of security, because with it, the system administrators can facilitate automatic corrections and upgrades in a very fast and easy way, getting around the manual work of updating every machine in the network with, for example, the security update. Conectiva employee Alfredo Kojima, who is also the author of WindowMaker, has enhanced APT to support RPM packages."

    I thought you'd like to know that...

    --

    Augusto Campos - www.linux.trix.net

  • by sammy baby ( 14909 ) on Monday February 26, 2001 @06:18AM (#403041) Journal
    You're certainly right, but I suspect that people often confuse the functionality of rpm and apt-get because they both serve as front-ends. That is to say, most Debian users use apt-get to handle all their updates, while most RedHat users work directly with rpm, and rely on sources like rpmfind [rpmfind.net] to get the actual files.

    -----
    "You owe me a case of beer. Sucka'."

  • by Shoeboy ( 16224 ) on Monday February 26, 2001 @04:27AM (#403042) Homepage
    Consider this beautiful piece:

    Corporate IT is currently plagued by a type of obsessive-compulsive disorder known as DUH, or Dementia Upgradia Habitua. It manifests itself through the irrational assumption that the only way a company can maintain a competitive edge in productivity is to upgrade to the latest and greatest hardware and software. Since hardware and software are continually changing (change is almost always considered to be progress, of course), DUH compels corporate IT to remain in a continual state of upgrade.

    Hrm. I've been working in IT for 4 years now, and I've done a lot of consulting. In all that time I have never seen a shop where upgrades were constant or even frequent. I've worked in about 20 shops now, and in each, major software upgrades had to be a) justified to upper management, b) undergo extensive testing, c) be completely documented and d) have a backout plan. Now maybe I've been lucky, but it seems more reasonable to assume that Nick is somewhere off in cloud-cuckoo land.

    But being wrong is not a good reason to flame someone. This is why I don't flame newbies, they don't know any better, and they're open about it. Nick Petreley on the other hand writes like he's god's gift to technology. Not only does he invent various maladies afflicting corporate IT, but he goes on to question the intelligence of these fictitious chronic upgraders. How can you not love him for this?

    Now admittedly, this is not Nick's best work. I much prefer his Linux Doesn't Do Windows And Neither Should You era drivel. Nevertheless, it's pretty good and helps establish Nick as the premier jackass among Linux advocates.

    Sure RMS can be a bit embarassing at times, and the ESR, Bruce Perens feud is always good for laughs, but at the end of the day, Nick Petreley is the king. He's like Bowie J. Poag but with much more visibility.

    As a Microsoft shareholder, I'd like to congratulate Nick on his achievements. Keep up the good work.

    --Shoeboy
  • by Fluffy the Cat ( 29157 ) on Monday February 26, 2001 @05:21AM (#403043) Homepage
    apt-get can also build source - apt-get -b source will build it - however this isn't done like the ports tree - it won't pick up all the dependancies in the same way that the binary packages will, or at least not that I've seen while playing with building apache.

    The latest version of apt supports the build-depends field in packages, which fixes this problem.

    Downsides: no CVS - if a package gets a 5 line patch you need a whole new binary or source package for it.

    That depends. If it's an upstream change, yes. If the package maintainer makes an alteration, you keep the same upstream tarball and just download the new version of the Debian alterations.
  • by GauteL ( 29207 ) on Monday February 26, 2001 @04:19AM (#403044)
    Why I appreciate apt-get as an excellent update tool two things strike me as odd with this article:
    1. Everyone already know this
    2. "Lets all standardise around MY choice".

    He may very well be right about the superiority of apt-get, but this seems like an obvious flame to me.

    Besides, apt-get != deb. apt-get is an excellent tool that was created for Debian packages, but it IS being ported to RPM.
  • by barneyfoo ( 80862 ) on Monday February 26, 2001 @04:27AM (#403045)
    >>> Installation is easier under apt-get, perhaps, but what happens when you want to uninstall? Apt-get's uninstall capabilities are horrible.

    Uhm, I don't think you know what you're talking about.

    apt-get remove <packagename> :: will remove package and everything that depends on it.

    dpkg -r <packagename> :: will remove only package and nothing else.

    apt-get is all about dependency resolution and package retreival negotiation, and dpkg is all about what packages have to go through when they are being built, installed, or removed.

    From what I gather, rpm tries to roll both of these into one program which can be rather annoying when you're used to the soundness of debian's package design. It's no wonder Corel saw the light of easy, straight-forward package maintainance.
  • by barneyfoo ( 80862 ) on Monday February 26, 2001 @04:33AM (#403046)
    >>> one missing feature from apt-get, is the rpm -qa | grep somestring

    You redhat strays astonish me.

    here's how you do that in debian: dpkg -l |grep <something>

    Gee whiz. I bet you've never even heard of the program "dpkg".. my god!!! is all humanity hopeless?!?? oh woe is me..
  • by cluge ( 114877 ) on Monday February 26, 2001 @04:20AM (#403047) Homepage
    Hmmm RH seems to have come out with an apt-get like program called up2date. It solves dependacies, goes to the internet and only updates the things that need updating. Seems to work most of the time. IT also has a ton of configuration options.

    I'm all for competition. I just can't wait for the ruckus to start "aptget rawks, up2date is a come lately wannabe", or "up2date is the best cause it like has more options and stuff" and of course the ever present "f*ck you, I compile my sh*t from source cause I'm a true haxor". Let the wars begin and may the best app win.

  • by rendler ( 141135 ) on Monday February 26, 2001 @04:37AM (#403048)
    Yes with dpkg -L package, most if not all and more of the query options for rpm are in dpkg as well.
  • by kyz ( 225372 ) on Monday February 26, 2001 @04:42AM (#403049) Homepage
    The reason why apt-get is so nice is not just the downloading and installing, it's the fact that Debian packages are built by (mostly) experienced maintainers who are trained to follow Debian's one true standard, which they have to follow to get packages into debian.org. I would say that probably, most Debian users just have *.debian.org in their sources, and therefore only recieve standardized and sanitized packages.

    If all RPMs were standardised and sanitized too, there'd be no contest between DEBs and RPMs.
  • by joestar ( 225875 ) on Monday February 26, 2001 @04:41AM (#403050) Homepage
    I use RPM everyday to install/uninstall packages on my Mandrake box and I never have any problem with it: dependencies are extremely well managed (but maybe it comes from how RPM packages are designed: I know that Mandrake has a more strict dependencies requirement than Red Hat) - and they also have urpmi and urpme (and also apt-get for those who want it by the way!) to solve deps automatically at install and uninstall. See:

    # urpme kdesupport
    To satisfy dependencies, the following packages are going to be removed (80 MB):
    kdelibs-sound-2.0-5mdk kdebase-2.0-7mdk
    kdegraphics-2.0-4mdk koffice-2.0-2mdk
    kdesupport-2.0-1mdk kdeadmin-2.0-2mdk
    kdetoys-2.0-1mdk kdeaddutils-2.0-3mdk
    kdelibs-2.0-5mdk kdemultimedia-2.0-4mdk
    kdeutils-2.0-3mdk kdenetwork-2.0-1mdk
    Is it ok? (Y/n)

    Really my main concern with RPM is that you have to be root to install a package - I mean: why should you be root to install a prog in your own directory just as you install a tarball... I think it's an issue for people who don't have root access on their machine (most students for example...) so they cannot install anything in their accoun but a tarball, which is not as easy as RPM. Ok they can also use rpm2cpio, but it is not very elegant way... :-/

  • by TWX_the_Linux_Zealot ( 227666 ) on Monday February 26, 2001 @04:44AM (#403051) Journal
    I've been using SuSE Linux for a while, and the reason that I'm switching to Debian is that I'm sick and tired of dealing with libraries, differing versions of RPM, and many different RPM packages wanting to place stuff in different places. I like the fact that 'apt-get install ' will check my dependencies, FIX my dependencies, and run configuration tools (if set up for such) for the packages installed. Even if the RPM library database is 'better', it still doesn't FIX the dependencies for me, and I don't feel like downloading 15 or more files, figuring out the install order, figuring out the dependencies for THESE files, etc, when I can get a utility that will generally do it all in one swoul foop. Yes, I'm lazy, but if you look at the history of these POSIX compliant OSes, that's generally been the consensus (i.e. two letter long commands).

    Another gripe I have (since I'm doing such a wonderful job already) is that the differing versions of the RPM tool are really starting to get annoying. I've got a SuSE 7.0 based box, and it seems like most of the RPMs pointed out by rpmfind.net just don't work, being too new of a version. I've tried to retrieve newer versions of RPM, but some moron has rpm'ed them with THAT VERSION OF RPM, and I can't extract it! grrrrr

    </rant>

    "Titanic was 3hr and 17min long. They could have lost 3hr and 17min from that."
  • by mrfiddlehead ( 129279 ) <mrfiddlehead@yahoo . c o.uk> on Monday February 26, 2001 @04:27AM (#403052) Homepage
    The biggest problem I've had with rpm, IMNSHO, is its inability to deal with dependancies of non-rpm packages on the system. I don't mind having to go root around for my rpm updates, in fact I prefer this so these benefits for apt-get aren't of great concern to me.

    If rpm could be configured to look around, in the standard places, for a particular library it would greatly simplify my life as a sysadmin. For example, openssl is stuffed into /usr/local/ssl. In recent RH rpm updates ssl is required but since I hadn't installed the openssl rpm it wouldn't install those packages until I take the time to --force it or --nodeps or whatever is necessary to get it to go.

    Many packages I install manually because of the complexity of getting many installs working properly. The Apache-php-mod_ssl-openssl-imapd combination is one good example. I like to be able to update all of these packages as soon as possible if a serious problem occurs with any one of them. This is also the reason that I don't bother with kernel rpm updates since I normally am 2 minor versions ahead of redhat anyway.

    These dependancies should be extended from the rpm level to library level. If an rpm for a given library is not found then rpm should go looking for the default location of the library itself before coming back with an error. I'm not even sure that it should be an error, perhaps a very strongly worded WARNING would be better, or at least a configuration to do this by default. Hmmm, I wonder if I'm missing something ...

  • by Skruffy ( 170067 ) on Monday February 26, 2001 @04:20AM (#403053) Journal
    Surely apt-get is an app that sits on top of dpkg - rpm is not an app for getting updates so you can't compare the two. You should be comparing apt-get with red carpet or something equivalent for a true comparison...
  • by skbenolkin ( 215802 ) on Monday February 26, 2001 @04:39AM (#403054) Homepage

    AFAIK,

    The conventional wisdom is that BSD ports and Debian apt are the two most powerful and versatile upgrading systems around. Apt downloads packages from central Debian servers and takes care of every detail, including dependencies, in installing them on your system. A port downloads the source from wherever it is (the makefile usually specifies up to 50+ servers to try, depending on the port), builds it if necessary, and installs it, taking care of every detail, including dependencies (run and build) and complile-time options.

    To editorialize, either one is a good way to run a clean, stress-free system. Note that although it would be just as easy to download a precompiled package from a central server and install it on BSD (pkg commands with/without make install), the "cultural" emphasis in the BSD world (correct me if I'm wrong) is to compile from source. Obviously this is a more resource-intensive model (and one ends up with a number of versions of make), but BSDers like it (after all, it puts the "source" in open source). And there are those compile-time options.

    Although, there is room for improvement in both apt and ports, both seem to have the right idea as to what constitutes a good way to upgrade a system. Thus both should continue to be excellent options.

    Note: for downloading/tracking a large source tree, CVSup actually is perfect, with no room for improvement :-)

  • by DrXym ( 126579 ) on Monday February 26, 2001 @04:19AM (#403055)
    I would be happy if the vendors would start shipping certain updates as binary patches.

    A recent security recent hole in Mandrake required I download about 40Mb of GLIBC RPMs! Why??? The fix itself was probably a few changed lines in the source code so why not distribute it as a binary patch? The alternative for modem users is a 3 hour download, something only masochists will bother doing.

  • by CarrotLord ( 161788 ) <don...richarde@@@gmail...com> on Monday February 26, 2001 @06:17AM (#403056) Journal
    is not actually the fact that apt-get is not comparable to RPM, but the fact that Debian has a strict policy on package dependencies. The main difficulty with porting apt-get to RPM (and in fact, the main difficulty with any automated system for RPM) is that there are no standards about how to make your rpms. You just do it whatever way you wnat. RedHat themselves don't conform to the LSB filesystem standard, which doesn't help. IMHO, any packaging system must have complete and strict dependencies, and policies on these so that a package is not valid unless it's correct and pretty damned complete, and it must comply with the LSB as much as practicable. Debian does this, no RPM distros do. Hence, Debian is easier to maintain.

    rr

Old programmers never die, they just hit account block limit.

Working...