LinuxQuestions.org
LinuxAnswers - the LQ Linux tutorial section.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions
User Name
Password
Linux - Distributions This forum is for Distribution specific questions.
Red Hat, Slackware, Debian, Novell, LFS, Mandriva, Ubuntu, Fedora - the list goes on and on... Note: An (*) indicates there is no official participation from that distribution here at LQ.

Notices

Reply
 
Search this Thread
Old 04-03-2010, 02:39 PM   #16
AGer
Member
 
Registered: Oct 2007
Distribution: Slackware current
Posts: 136
Blog Entries: 22

Rep: Reputation: 19

Quote:
Originally Posted by paulsm4 View Post
And guess what: the situtation is *exactly* the same for *any* package manager. Including Windows.
No, excluding Windows.

First, Windows package management is so rudimentary compared to Linux that, for all practical purposes, it may be assumed that there are no package managers for Windows at all. Instead of packages and their manager, Windows have installers, which are rare on Linux.

Second, differences between Windows versions are normally easy to handle: just declare the minimal version (like XP SP3) and let your installer ask the user what to do.
 
Old 04-03-2010, 03:07 PM   #17
Wombat Pete
Member
 
Registered: Apr 2010
Distribution: Starting with Debian. When I've learn it passably well, moving to Gentoo. Opinions are appreciated!
Posts: 69

Original Poster
Rep: Reputation: 16
Quote:
Originally Posted by AGer View Post
Event the best case scenario - it works - will slowly make a mess out of your system. It is one of the functions of a package manager to prevent that. So, when you compile from source you better create your own package (for THE package manager) and install it.

Since sooner or later you will compile from source, it is a good idea to include package creation tools into consideration when choosing a distro.
This is really helpful in understanding how it all works.
Thanks to everybody participating.
 
Old 04-03-2010, 03:18 PM   #18
MTK358
LQ 5k Club
 
Registered: Sep 2009
Posts: 6,443
Blog Entries: 3

Rep: Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713Reputation: 713
I really like Arch Linux's package system because it's really simple (note that I do not recommend Arch for someone who doesn't have Linux experience):

All an Arch package is is just an archive of a root directory containing only the files belonging to the package, plus a file containing info about the package, including its dependencies. For example if our "example" package is just a single executable in /usr/bin, this is the contents of the package archive:

Code:
example-1.0.pkg.tar.xz
+-.PKGINFO
+-usr
  +-bin
    +-example

Last edited by MTK358; 04-03-2010 at 03:20 PM.
 
Old 04-05-2010, 12:06 AM   #19
Simon Bridge
Guru
 
Registered: Oct 2003
Location: Waiheke NZ
Distribution: Ubuntu
Posts: 9,211

Rep: Reputation: 197Reputation: 197
Quote:
Originally Posted by Wombat Pete View Post
But isn't backwards compatibility a Linux principle?
No. Where did you get that idea? That is an old MS principle.

The linux principle is to be the latest and hottest and most versatile possible.

We don't have to code for backwards compatibility because everything is in the open. No secrets - so you can, in principle, build to your conditions.

This is not to say that devs just update and to hell with everyone else - programmers need to be aware of who they are hurting when they make a change ... in open source, we are painfully aware of this.

Imagine - all programs have bugs, so all programs have to be updated as the bugs get fixed. A compiler is a program. It has bugs - so it has to be updated. But - too much of an update will mean that old source code may not compile on the new compiler. The answer is usually to support older methods for a while, but give the programmer a warning when they use it that the method is obsolete and will not be supported after x date.

Certainly, drivers compiled for one kernel have to be recompiled for the next one - which makes maintaining proprietary drivers a serious pain.

Quote:
Which raises another question - I often see it written that a given distribution comes with later releases of certain programs.
Does the threat of 'dependency hell' mean that you couldn't just go to the developers' sites & download the latest versions?
It means you need to be more aware of the possible consequences when you use a managed distro. You can do this, you can do whatever you want. It's just more work, that's all.

One of the side effects of free software distribution is that programmers just reuse each others code. One way to do this is to use each others whole programs, another is to dynamically link each others libraries. This adds efficiencies in sharing resources etc. However, every gain has it's cost: a particular program may depend on some others being present in order to run, so you get the 3-6 dependencies for the one program you want only to find that half of them also have 3-6 dependencies. For large complicated programs this can go on for a while, depending on how complete your original install to start with.

An alternative would be to package all the dependencies with the core program. This is what happens in the proprietary world. This is why the Windows version of firefox is bigger than the linux version - mozilla have to supply all the dependencies that go with it while linux already has them (warning: over-simplified for clarity).

Dependency hell is usually only a big problem when you start out. This is because, after you've installed the dependencies for one program, you find these same programs are also needed by the next program you install. As you install software, the number of dependencies you need to install drops to nil and your computer has been evolved/customized to what you like to do with it.

eg. To install one KDE game in a gnome system, I have to install all the Qt related things. This can add megabytes to download for just a simple game. But - once done, the next KDE game is just kilobytes.

Another symptom is in security updates - a vulnerability in firefox will require half-a-dozen or so patches because it is not just one program.

By comparison, the proprietary world would make me download all the Qt stuff for each game (though it is more likely that they'd adopt some strategy to minimise the royalties they have to pay.)

The main thing to be aware of when installing from a non-standard source is that the program may not be entered in the distro package-manager database. It doesn't know its there - so it won't be counted as a satisfied dependency for package installation, and it may get erased next upgrade. Though there are ways around this too - remember, you can do anything.

The upshot is: pick a distro that suits your needs.

If you like lots of bleeding edge stuff, pick a distro that also likes this. Then, almost all that you want ill be its repos, it will be tolerant of non-standard install methods, and there will be a community around it which is skilled at running along that edge.

The differences between distros can run quite deep. Have a look at this:
http://www.zegeniestudios.net/ldc/
 
1 members found this post helpful.
Old 04-05-2010, 12:13 AM   #20
Simon Bridge
Guru
 
Registered: Oct 2003
Location: Waiheke NZ
Distribution: Ubuntu
Posts: 9,211

Rep: Reputation: 197Reputation: 197
Quote:
Originally Posted by AGer View Post
No, excluding Windows.

First, Windows package management is so rudimentary compared to Linux that, for all practical purposes, it may be assumed that there are no package managers for Windows at all. Instead of packages and their manager, Windows have installers, which are rare on Linux.
This is what happens when you cannot share code - everything has to come with the dependencies, or only use what in natively present in the target system.

Some installers don't even check that the environment is suitable.
Quote:
Second, differences between Windows versions are normally easy to handle: just declare the minimal version (like XP SP3) and let your installer ask the user what to do.
Even so, on xp sp3, vista and win7, you may need to alter the compatibility mode post install. IIRC: this is mostly due to changes in the security system - linux equivalent would be adding selinux rules/contexts for a new program. The package manager will usually handle this - I'd expect the installer will start to do this in windows too... if MS makes its compatibility modes available to the installer.
 
Old 04-05-2010, 01:59 PM   #21
Alexvader
Member
 
Registered: Oct 2009
Location: Japan
Distribution: Arch, Debian, Slackware
Posts: 994

Rep: Reputation: 94
Hi There....

I still remember my first days w/ Linux, using RHEL 4. spending countless afternoons in rpmfind.net just to install something, just to find out that there were cyclic dependencies which simply couldn't be satisfied....

Thkz God these times are long gone...

I can uninstall aly package that I built from source and rebuild it again with different options... something that would be completely out of Automatic package managemen mindset...

I did so recently with my vtk install... had to enable QVTK to build an application with these features...

the apt-get/yum folks install binaries... while the makepkg/installpkg/src2pkg folks build whatever they install, with the options that they want....

I think this is only mimicked with ports systems... but that is Unix... not Linux....


BRGDS

Alex
 
  


Reply


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
How to add apps to a distro with no pkg manager? linus72 Linux - General 3 09-05-2009 06:42 AM
Inter-distro binary compatibility entz Programming 9 04-05-2007 07:07 PM
newbie question on distro problems Smokeyone Linux - Software 8 02-01-2006 12:03 AM
Another newbie, another distro question Keep Skankin Linux - Distributions 8 06-11-2003 09:45 PM


All times are GMT -5. The time now is 07:40 PM.

Main Menu
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