Slashdot Mirror


APT - With Your Favorite Distribution

One of the most-heard complains from people who use distributions like Red Hat, Mandrake or SuSE is the "dependency hell" problem. You want to install an RPM and bang -- you have a dependency problem. There have been a few attempts to overcome dependency problems: SuSE with their YOU (Your Online Update), Mandrake with URPMI, and Redhat with their UP2date program. There is also a solution from Aduva called Aduvizor, but it's not supporting the latest distributions yet. Read on to learn about another interesting solution ... One of the solutions is Ximian Red Carpet (which is available to most of the distributions, freely or by subscription for increased download speed), however Red Carpet has one big problem -- if the package is not on Ximian Red-Carpet servers (like, umm, KDE packages), you're (again) on your own.

Then there is another solution from Connectiva in Brazil, which has made something called APT4RPM -- basically an APT wrapper around RPM database on your machines, so you can use all of Debian's APT features (sans DSELECT feature) to upgrade your packages, or your entire distribution. (So now you can use your favorite distribution AND APT to update it.)

Two open source developers have improved Connectiva's solution to work with ANY RPM-4 based solution, and the [not finished yet but seems pretty stable solution] is at APT4RPM project pages in sourceforge. I have decided to give a test on my Redhat 7.2 machine. I installed the binaries, edited the /etc/apt/sources.list (just remove the # from your distribution's mirror), typed "apt-get dist-update," crossed my fingers -- and lo and behold, 48 new packages were installed, 7 were upgraded, and I only had to press "enter" to start the ball rolling!

So, for those of you who want to test it -- the URL is above (and if you could help with creating mirrors for your favorite distribution - that would be very helpful, thank you), you might want to try it. Just don't forget to read the FAQ before doing anything, and report bugs to the authors. Note: although the binaries are for Red Hat, the SRPMS are right there so you can just recompile it on your favorite distribution. Enjoy.

5 of 386 comments (clear)

  1. The problem is with the RPM format... by Starship+Trooper · · Score: 1, Troll
    ...not with the various hacks being piled on top of it to support its deficiencies. Apt works so well with Debian because the DEB archive format supplies incredibly detailed dependency and install-order data, so that apt-get's update feature can quickly and precisely determine what packages to download, and in what order to install them, without updating packages for which there is a dependency on an older version.

    RPM, on the other hand, specifies extremely inadequate information to support such a tool without a lot of extra hacking. The RPM format at best only provides the name and major version of any dynamic libraries a package requires. Since different distributions and upstream authors all seem to have their own ideas on how to use dynamic library versioning, this quickly degenerates into the dependency hell that anybody who has tried to install or upgrade a reasonably complex program like GNOME on an RPM-based distro has probably encountered at least once in their experience.

    Instead of dragging our feet with RPM and all its drawbacks, why not just move distributions over to dpkg/apt/DEB management like Debian, or FreeBSD-style ports? It is all free software, and there should be no problem with licences or any political bollocks. The rotten RPM format, which has somehow managed to become the Linux standard, is a monstrosity only beaten in kludginess by Windows' inept software management system, and with the MSI package format introduced with Windows 2000, even Microsoft is making RPM look crappy. Leave it behind, and move to a better system.

    --
    Loneliness is a power that we possess to give or take away forever
    1. Re:The problem is with the RPM format... by Elbereth · · Score: 2, Troll

      I know that I will catch a lot of flack for this, but try to understand that it's just my experience. Anyways, I haven't been labelled a troll in a while, so I might as well burn some karma.

      The question you're asking could be "why do people use RPM?" -or- "Why do people use RedHat, Mandrake, or SuSE?" I'll try to briefly give my answer to both questions.

      Why do people use RPM?
      As far as I can tell, RedHat and RPM came first. I never heard of Debian until RedHat got to version 3.0.x, and I never heard of anyone actually using Debian until even later. I think that I'm not the only one, either. Regardless, RPM was a hell of a lot simpler to use back then (I could create a binary RPM package in just two or three minutes, using my favorite text editor). Debian's system was a mess! Whoever wrote dselect had no clue. apt and dpkg didn't exist. I couldn't understand why anyone in their right mind would bother to create packages for Debian. So, I got better and better at RPM packages and kept ignoring Debian, because nobody ever used it and the software sucked. Eventually, someone finally wrote a real package manager for Debian, and I have to say that I was impressed. I decided to install Debian after that. And that leads us to...

      Why don't people just give up their RedHat, Mandrake, etc and use Debian?
      Because the people who use Debian are political wackos and elitist assholes! Yes, yes, I can see the (-1, flamebait) moderation hitting me hard right about now, but try to understand this is just my experience from being on the Debian lists and talking to Debian people on Usenet. I can't stand them. Someone on the main Debian mailing list once called me a 'hacker' in a derogatory sense! Funk dat. Debian people suck, and I haven't met a single one that I'd like to be associated with. They remind me of a combination of the worst qualities in OS/2, Amiga, Macintosh, and FreeBSD users. Maybe it's not like this today (the last time I used Debian was over 5 years ago), but that one experience so long ago soured me on Debian FOREVER. There is no chance of me using that distribution ever again. I refuse to be associated with people like that.

      I'm sorry that this is flamebait, but I can't come up with a better, more tolerant way of putting it. Call it a personality clash, low tolerance for assholes, or me being immature... whatever you want... but I'll freely admit that Debian is an awesome Linux distribution. ...but only if you can ignore the people who are associated with it!

      I just want to use Linux. I don't want to join some stupid "Windoze SuX!!!!" club, I don't want to change my political party (I'm more of a green than anything else), I don't want to call my operating system GNU/Linux (wtf?) or Lignux or some crap like that, and I most definitely don't want to called names on the support mailing lists.

      Maybe if someone archived the Debian mailing lists from 5-7 years ago, they'll see me getting flamed outrageously by Bruce Perens himself. It has always been my opinion that Perens, ESR, and most of the other people involved with Debian were blowhards, and this just reinforced my opinion.

      Why do I use RedHat, Mandrake, SuSE, etc? Because they're quite good enough for the job (maybe not the best, but good enough), and the people who use them don't act like spoiled, egotistical 5 year olds.

      Alright, let the moderation commence...

    2. Re:The problem is with the RPM format... by horster · · Score: 0, Troll

      actually what soured me on debian was the whole KDE2 bullsh*t - I defiantly use slackware to this day because of it.

  2. The dependency problem is INTENTIONAL!!!! by Allnighterking · · Score: 2, Troll

    Ever noticed that if you build the app from source you don't have all the dependencies you do from the rpm. Oh sure there are some build dependencies and of course You can't install a perl program and expect it to run on a box that doesn't have perl. The rest. Well they are intended for one purpose only. To sell you the latest version of the release. Why can't I install the latest KDE on my box when it's been built and released for one version up from me? Simple if I do. I might not by the disks for that version. If they built rpm's that were compatible with another distro then they run the risk of having you buy the other guys distro not theirs. Ever wonder why you can't install the Netscape rpm's without index.html?, but if you go to netscape.com and download the installer you don't need it? Or why if you put a redhat rpm on a mandrake box it looks for a redhat rpm and ignores the fact that you have that lib under a different rpm name? I build rpm's for a living and basiclly it comes down to this.

    1. Distro created dependencies 75%
    2. Dependencies created by nameing conflicts 15%
    3. Real Dependencies 10%

    Time and time again I've downloaded and edited the src rpm opened the spec file and found that SPECIFIC distro rpms are listed as dependancies rather than the dependencies created during the rpm -bb command. Thereby making sure that an RPM from distro A won't work on distro B. What really sucks is now that ATT has put me on a 56k cable modem I can't get the src RPM's or .gz files as easilly as before. So much for that. Ximian, up2date etc. are a great way to make money off of products that essentially are the same(the distro's). The only question I have is, why can I install Windwos + Office on a 2 gig drive and have lot's of room for data, but I can barely get Mandrake or Redhat to fit. Talk about bloat. Which is why my Libretto runs FreeBSD and X. Dependencies are creating a bloat situation of immense proportion.

    --

    I'm sorry, I'm to tired to be witty at the moment so this message will have to do.

  3. What we really need by theAmazingTom · · Score: 0, Troll
    We need more finger pointing.