Advertisement

Why are there so many linuxes? they seem to be all the same!

Started by February 27, 2006 07:11 AM
32 comments, last by demonkoryu 18 years, 9 months ago
Hi, I've tried countless linuxes, zenwalk, gentoo, ubuntu, lunar, ark, dsl, slax..... and they all seem to be the same thing with just slightly different gui themes, and apps installed. And then alot of them have a minimal 'core' version which have nothing installed but a few basic services, eg ssh etc. I'm wondering are there any actual differences at the 'core' version level, apart from some easier installations and package managers(portage, debian's aptget). Like for servers I don't intend on installing guis as after installing them I remove the monitor/keyboard/mouse and access them via ssh to compile/install programs. So what I'm getting at as they seem to be all identical apart from a few different programs, is there a reason I would choose something like gentoo for a server as opposed to one that lets me play tetris during the install if I'm not going to install a gui(which looks to be the major differences)? Thanks
Quote: Original post by johnnyBravo
I'm wondering are there any actual differences at the 'core' version level, apart from some easier installations and package managers(portage, debian's aptget).

...

So what I'm getting at as they seem to be all identical apart from a few different programs, is there a reason I would choose something like gentoo for a server as opposed to one that lets me play tetris during the install if I'm not going to install a gui(which looks to be the major differences)?

Open source is fueled by ego. Oh, sure, it's also driven by a "developer's itch," but a lot of the forking - most prevalent at the distro level because it requires less discipline to integrate complete packages into an offering than it does to bring a single package to what one considers completeness - is motivated by a deep desire to see one's creation broadly adopted.

At the end of the day, the only differentiators between Linux distributions is installation process and tools, configuration management tools, and community. Frankly, I see no reason why the first two could not be completely distro-agnostic - and LSB agrees with me.

Where ego is not the motivator, greed is. Good greed, of course, in the form of the desire for profit. Start a distro, give away the "quality assured" software, sell support, profit.

The upshot of all this is that the simple way to choose a distro for any purpose is to select according to preferred installation process/tools and configuration utilities. The downside is that you often have to install and try out a distro to get a real feel for how those two components work.

Choosing Gentoo for a server makes no sense to me, though, as there is nothing to be gained by compiling the entire installation just to serve up HTTP/IRC/DNS/FTP/CVS/SVN/etc. Happy Hacking! [smile]
Advertisement
Quote: Original post by Oluseyi
Choosing Gentoo for a server makes no sense to me, though, as there is nothing to be gained by compiling the entire installation just to serve up HTTP/IRC/DNS/FTP/CVS/SVN/etc. Happy Hacking! [smile]

That depends on what your server does. In the case of intensive server-side processing, you might want programs to be optimized for your hardware. + its package management system is bloody excellent! :P

I agree that, in theory, the "package management / maintenance tools" part of a distro could be distro-agnostic. In practice it's not that easy, because package repositories are usually maintained by the "community". You could of course have a distro-independent package format (which RPM is to an extent), but then you lose out on the clean dependency management that systems like apt or Portage give you.
Deniz ÖzsenSoftware Engineerhttp://www.symbian.com/
Well the first thing that seems foreign to a lot of people that don't know much about computers, is competition, and the fact that it actually exists in the linux area. Here's the areas that distros mostly differ from each other.
1. Philosophy: The vast majority of distros center around philosophy, pretty much every distro has it's own. Arch has it's simple base system, debian focuses on being free, gentoo focuses on building from source, Mandrake/SuSe/Ubuntu/Red Hat/almost every other commercial distro focuses on being available to the average user.
2. Installer/Package manager, pretty much self explanitory if you've worked with linux
3. Defaults: there's been distributions which only difference was how it was set up by default.
4. Configuration style, some distros like slackware and arch, like to use rc files like BSD others will go their own route spreading configuration across multiple files: like debian.
5. Update Cycle, some have a set release cycle, some just release when it's ready.
6. Support, this can make or break a distro alone, and is why some distros are so popular and others fail miserably.
Quote: Original post by Deniz
That depends on what your server does. In the case of intensive server-side processing, you might want programs to be optimized for your hardware. + its package management system is bloody excellent! :P

While that actually sounds intelligent in theory, in practice it's bullshit. If you need to recompile a service to get optimal performance, then the code is shoddy and probably not production-worthy to begin with. If a Fortune 500 company were adopting Linux and Linux-based services, do you think they would sit around recompiling distro and apps for every server? Do you think your mission-critical needs are more pressing than theirs?

Gentoo is a distro for people with a mixture of ignorance, tunnel vision and very little to do. That is not to say that all of its users suffer from those symptoms, but that those who champion it because "it's built from source and optimized for your hardware" do.

Quote: I agree that, in theory, the "package management / maintenance tools" part of a distro could be distro-agnostic. In practice it's not that easy, because package repositories are usually maintained by the "community". You could of course have a distro-independent package format (which RPM is to an extent), but then you lose out on the clean dependency management that systems like apt or Portage give you.

Odd, closed-source systems don't have this problem, despite every package being supplied by a different vendor completely unrelated to the platform vendor. Hmm. Maybe those open source nerds simply never got with this little concept called specifications?

[DISCLAIMER: I'm not knocking Linux, or open source. I believe that open source should be a vital part of the software ecosystem, and all past versions once removed of all application infrastructure should be held in public domain non-competitive, non-viral licenses, enabling the next generation of software innovation to build upon the previous. But that's just my idealism speaking (I usually keep it under firm lock and key).]
Quote: Original post by Oluseyi

Quote: I agree that, in theory, the "package management / maintenance tools" part of a distro could be distro-agnostic. In practice it's not that easy, because package repositories are usually maintained by the "community". You could of course have a distro-independent package format (which RPM is to an extent), but then you lose out on the clean dependency management that systems like apt or Portage give you.

Odd, closed-source systems don't have this problem, despite every package being supplied by a different vendor completely unrelated to the platform vendor. Hmm. Maybe those open source nerds simply never got with this little concept called specifications?


Agreed, altough the closed-source world doesn't have to deal with dependencies so it can get away with essentially everyone supplying their own ad-hoc install/uninstall programs. This is the bright side of monolithic programs and static linking and works quite nicely on the desktop. On a server, where the system (hopefully) has a competent administrator, shared libraries are superior. They make security updates more convenient and fit the unix process model where forks are preferred to threads better.

The problem with 3rd party packages in Linux has generally been the fact that dependencies (versions and names) change rapidly even between versions of the same distro. Debian has an interesting model IMO: the stable version stays the same for many years (security fixes only) and important programs are backported for those who want newer versions. This way external repositories/packages are not constantly broken. AFAIK SuSE & Co tried something similar with their "UnitedLinux", which was hyped for a short while but has since withered away.
Advertisement
Quote: Original post by 255
Agreed, altough the closed-source world doesn't have to deal with dependencies so it can get away with essentially everyone supplying their own ad-hoc install/uninstall programs. This is the bright side of monolithic programs and static linking and works quite nicely on the desktop.

Rot. See DLL Hell.

Windows tried the Registry, which has ultimately proven inadequate, and now utilizes the Global Assembly Cache and DLL versioning (permitting side-by-side installs of different versions of the same DLL to the same location with the same name) to solve the dependency problem. You have no excuse.

Quote: The problem with 3rd party packages in Linux has generally been the fact that dependencies (versions and names) change rapidly even between versions of the same distro.

So, basically, symlinks to shared objects are overrated and Linux distros can't work out a specification for people to adhere to. Gotcha.
It is all mostly the same with differences in design and application bundles. There are so many versions and distros to try and give everybody the same things that they use on their pc only for linux. That's why there is a media playback distro and so on. You really only need to get one of the main distros that has some good support and then download the software that you like to use.
Quote: Original post by Oluseyi
Windows tried the Registry, which has ultimately proven inadequate, and now utilizes the Global Assembly Cache and DLL versioning (permitting side-by-side installs of different versions of the same DLL to the same location with the same name) to solve the dependency problem. You have no excuse.


Then what is the point of having system-wide shared libraries if almost every program ships its own version?
Quote: Original post by johnnyBravo
I'm wondering are there any actual differences at the 'core' version level, apart from some easier installations and package managers(portage, debian's aptget).


Fedora Core and Hardened Gentoo ship with SELinux - though it looks like it will eventually also be a part of many of the other popular distros.

This topic is closed to new replies.

Advertisement