LinuxQuestions.org
View the Most Wanted LQ Wiki articles.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices



Reply
 
Search this Thread
Old 04-30-2007, 03:32 AM   #1
bryankaplan
LQ Newbie
 
Registered: Oct 2006
Distribution: Slackware
Posts: 22

Rep: Reputation: 15
Why use package management?


Hi all. I'm hoping someone can educate me about the virtues of package management. I'm pretty new to Linux, and I'm learning as I go, but no matter how much I learn this is the one question that lingers. I was using WinXP up until about 9 months ago, when I finally decided that I've had enough with using a system that I don't really own. So I tried out a bunch of distros and settled on Slackware, which suits me well. I am at home on the command line, and so installing software from source seems quite natural to me. Furthermore it seems that doing so is almost always necessary in order to select my desired configuration. As far as I understand, configuration is not possible with package managers. Is that incorrect? I frequently read people extolling package management as some kind of essential feature, and passing judgment on distros based (at least in part) on their package management features. Even if package managers really do allow for full configuration of the software, what's the big deal about typing ./configure; make; sudo make install;? What's the big deal about simply rm'ing files you no longer want? I also frequently read about the infamous Dependency Hell, which I have yet to experience. Maybe this is because I haven't used Linux long enough, but I suspect it's because I restrict myself to simple text-mode software. I have never read any argument against the use of package management, though, so I'm guessing that I'm really missing out. Please fill me in. What's so good about it?
 
Old 04-30-2007, 04:14 AM   #2
MS3FGX
Guru
 
Registered: Jan 2004
Location: NJ, USA
Distribution: Slackware, Debian
Posts: 5,852

Rep: Reputation: 351Reputation: 351Reputation: 351Reputation: 351
Most people would rather just click on the name of a program from a list and have the system automatically sort out the downloading and installation of said program and it's dependencies. While many people are still happy to compile things from source, especially those looking for complete control over the system, it is just not something that is suitable for the average computer user. It is no coincidence that the current favorite distribution for the beginners, Ubuntu, makes very heavy use of apt-get, making it very easy for the end user to update and upgrade their machine.

Beyond that, there are very good reasons to create and use installable packages rather than just installing from source all the time. When installing from source, you can never be sure if the makefile will have an "uninstall" target, which could lead you to having software installed on your computer that you simply cannot remove without going in manually. Without any form of packaging, you also won't be able to tell what file is in what package, making it much harder to figure out dependency issues when they do arise.

Downloading and compiling your own software is great, but you should then build that software into a package to make system maintenance easier. checkinstall is excellent for that, supporting Slackware .tgz, Debian .deb, and RPM packages.
 
Old 04-30-2007, 04:27 AM   #3
slakmagik
Senior Member
 
Registered: Feb 2003
Distribution: Slackware
Posts: 4,113

Rep: Reputation: Disabled
There's no big deal about typing './configure; make; sudo make install'. Once. But have you done it for years with dozens, even hundreds of packages? And not all packages are like that - many of my packages have patches and complex './configure --this --and --that' lines and so on and so forth. And I know what packages depend on what because my needs are usually simple and I can keep it in my head, but installing a dinky little python script like 'trac', when it depends on clearsilver, sqlite, pysqlite, swig, and a specially compiled subversion (because Slack's uses different options) can be an adventure.

All in all, it can get kind of old. (Hence my taking another crack at Debian.)

Incidentally, doing the make/makeinstall routine and randomly rm'ing stuff isn't necessarily the best way to go. Many people use checkinstall and some like me use build scripts and makepkg.

On the other hand, it is very true that installing binaries is far less flexible. I have to build mrxvt even on Debian (just like I did subversion on Slackware) because the binaries don't cut it. Debian is far more flexible than some others, with several variants of several packages and highly split binary packaging, but you do lose a lot. Gentoo, with its use flags, is a whole different kettle of monkeys - package management that isn't binary. So the two aren't mutually exclusive.

Anyway - if I were possessed of infinite energy and enthusiasm, I'd say slapping in a solid base system with slack and compiling what I want on top is the best way to go. However, I'm a little tired and I'm resting with 'apt-get foo' and just seeing if I can live with it. It is nice to just have the stuff installed with a command and have other people paying attention to updates. Not having to trawl freshmeat and various websites and whatnot. But going back the other way yet again, while adding a new package to an 'unmanaged' system can be a pain, it's not that bad afterwards, since it's mostly automated.

I dunno - I haven't actually messed with trac (to use that example again) on debian but, on arch, it was damn nice to say 'pacman -S trac' or whatever it was and just have it happen, vs. the long adventure of making it work on slack.

-- Damn, took me a long time to write that. I didn't even see MS3FGX's post, but agree with it. Occurred to me to add, that one downside of packaged and managed distros is quality control - if you use something like Slack and build everything else yourself, you know any problems are between you and Pat. (Or at least it was usually that way - it seems more and more of Slack is being contributed - no offense to the guys doing it, but it does sort of spoil the purity of things. ) Anyway - in most package-management distros, you've got an awful lot of cooks in the kitchen.

Last edited by slakmagik; 04-30-2007 at 04:36 AM. Reason: typo correction, late thought
 
Old 04-30-2007, 04:52 AM   #4
oneandoneis2
Senior Member
 
Registered: Nov 2003
Location: London, England
Distribution: Ubuntu
Posts: 1,460

Rep: Reputation: 46
Install LinuxFromScratch, and build it up to being a fully-working box with X windows, multimedia, and everything else.

If chasing down all the dependencies for dependencies for dependencies every time you want to install something new doesn't explain to you why package managers are considered important, nothing will
 
Old 04-30-2007, 05:05 AM   #5
reverse
Member
 
Registered: Apr 2007
Distribution: Gentoo
Posts: 337

Rep: Reputation: 30
I suggest you take a look at Source Mage GNU/Linux, and this: http://wiki.sourcemage.org/FAQ/Gentoo/Philosophical
 
Old 04-30-2007, 05:43 AM   #6
bryankaplan
LQ Newbie
 
Registered: Oct 2006
Distribution: Slackware
Posts: 22

Original Poster
Rep: Reputation: 15
Thanks very much for each of your replies.
Quote:
Originally Posted by MS3FGX
Downloading and compiling your own software is great, but you should then build that software into a package to make system maintenance easier. checkinstall is excellent for that, supporting Slackware .tgz, Debian .deb, and RPM packages.
This info regarding checkinstall is especially useful. I checked out its homepage, and it sounds great. I'll start using it immediately.
Quote:
Originally Posted by reverse
I suggest you take a look at Source Mage GNU/Linux, and this: http://wiki.sourcemage.org/FAQ/Gentoo/Philosophical
Wow! This is great! All of the control of building from source with the benefits of dependency management and a friendly textual interface! I will be testing this out soon for sure. Thank you!
 
Old 04-30-2007, 07:43 AM   #7
Hangdog42
LQ Veteran
 
Registered: Feb 2003
Location: Maryland
Distribution: Slackware
Posts: 7,791
Blog Entries: 1

Rep: Reputation: 414Reputation: 414Reputation: 414Reputation: 414Reputation: 414
Since you're using Slackware, be sure to check out Slackbuilds.org. It has Slackware build scripts for quite a fair amount of useful software. They are very picky about the scripts, so the packages that get built are good.
 
  


Reply

Tags
package management


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: Simple Package management with Synaptic Package Manager LXer Syndicated Linux News 0 12-05-2006 07:33 PM
What Package Management do you Use? pengu Linux - General 23 09-23-2006 02:56 PM
Using Package Archive style package management mugwump84 Linux From Scratch 3 08-25-2005 06:19 PM
Package Management longnam Slackware 2 03-23-2005 04:42 PM
Package Management Eklipz Slackware 4 12-05-2004 10:59 PM


All times are GMT -5. The time now is 02:03 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration