The Linux Structure

walla

Senior member
Jun 2, 2001
987
0
0
I started using Linux three weeks ago, essentially knowing nothing about it. I am gradually getting used to (and enjoying) the environment as an alternative to Windows XP.

I would like to know how the structure of linux is arranged.

For instance...there is a Linux kernal, a desktop environment, a distribution, a shell, UNIX, etc. I know they all work together, but how are they structured?

If multiple "distributions" support the same "desktop environments" (Gnome, KDE etc), then what makes them significantly different? If I am using SUSE Gnome, why do I want to migrate to Ubuntu Gnome?

How are Linux and Unix related? Is this like DOS and Windows relationship?

If anyone could outline the heirarchy for me, it would be much appreciated. :)
 

n0cmonkey

Elite Member
Jun 10, 2001
42,936
1
0
hier(7), IIRC, will explain the filesystem hierarchy.

Each distribution is different. They're all relatively the same software, with a couple of exceptions. The reason you should use the one you should use is because you like it better. Someone asked me why I prefer OpenBSD to Linux or anything else really. My response confused him: It feels right.

Unix was an operating system that started in the late 60's, IIRc. I guess it was considered born in 1970, since that's when the clock started (unix epoch). Anyhow, Linux is a kernel that along with the GNU tools is loosely based on Unix philosophies. It could be considered Unix-like.

The BSDs are closer to Unix though, since they started off as practically a Unix. :p
 

silverpig

Lifer
Jul 29, 2001
27,703
12
81
SuSE gnome isn't different from Ubuntu gnome. They're both gnome. It's like saying you want to upgrade to windows xp steam from windows 2k steam. Steam is steam no matter whether you run it on xp or 2k...

The distribution types differ mainly in how they put everything together. For example SuSE uses Yast/Yast2 and other SuSE things that other distros don't have for installing packages. But if you install mplayer in SuSE with Yast it'll be the same program as if you installed it via portage in gentoo.
 

walla

Senior member
Jun 2, 2001
987
0
0
Lets see if I understand correctly...

Linux is a "kernel", which is what controls resource allocation of a computer systems (from the software end).

Bash (or the like) is a "shell" which allows a user to interface with the kernel and issue commands to the OS.

The Desktop Environment is the GUI. It essentially is a high level abstraction of a shell, give the user a way to interface with the kernel that is familiar and/or more flexible/powerful.

UNIX is an OS. But Linux is essentially a clone of unix. Linux is not UNIX, nor operates with UNIX. When I am typing commands in my terminal, I am not using UNIX, but a clone called Linux. Is that correct? But it is safe to assume that if I completely understand how to use one, I understand the other.

Is that correct?
 

n0cmonkey

Elite Member
Jun 10, 2001
42,936
1
0
Linux is more of a minix clone. :p Which I believe uses some of the Unix philosophy.

There are a few Unixes out there, namely AIX and Solaris. If you understand how to use Linux, the transition to Solaris is much easier than transitioning from Windows to Solaris.

X is the gui. The DE is a layer on top of that. X does very little really, just handles basic stuff. The DE and WMs handle the rest.
 

walla

Senior member
Jun 2, 2001
987
0
0
Thanks for the replies!

More questions I have...

Is UNIX a commecial product, then? And Linux can be thought of as the open-source clone of it? I think I am beginning to understand the SCO controversy (without having an opinion :) ).

So, to have installed Linux is nothing more than installing a kernel. Running a server with Linux does not imply a distribution, rather simply the kernel.

The distribution of Linux, howerver, does this imply a different kernel of linux? Is it possible to install a "distributionless" linux in other words?

And if X is a gui, how do I run X without using the GNOME DE, KDE DE etc...
 

n0cmonkey

Elite Member
Jun 10, 2001
42,936
1
0
Originally posted by: walla
Thanks for the replies!

More questions I have...

Is UNIX a commecial product, then?

No, it's a set of standards controlled by The Open Group, IIRC.

And Linux can be thought of as the open-source clone of it?

Not really.

I think I am beginning to understand the SCO controversy (without having an opinion :) ).

So, to have installed Linux is nothing more than installing a kernel. Running a server with Linux does not imply a distribution, rather simply the kernel.

The term Linux technically means the kernel, but is often used to designate a distribution as a whole.

The distribution of Linux, howerver, does this imply a different kernel of linux? Is it possible to install a "distributionless" linux in other words?

You can make your own distribution. Linux from scratch is a set of instructions for just that.

And if X is a gui, how do I run X without using the GNOME DE, KDE DE etc...

Have a blank ~/.xinitrc or whatever. X by itself is fairly useless.
 

uOpt

Golden Member
Oct 19, 2004
1,628
0
0
Originally posted by: walla

[1]Is UNIX a commecial product, then? And Linux can be thought of as the open-source clone of it? I think I am beginning to understand the SCO controversy (without having an opinion :) ).

[2]So, to have installed Linux is nothing more than installing a kernel. Running a server with Linux does not imply a distribution, rather simply the kernel.

[3]The distribution of Linux, howerver, does this imply a different kernel of linux? Is it possible to install a "distributionless" linux in other words?

[4]And if X is a gui, how do I run X without using the GNOME DE, KDE DE etc...

[1] Unix is a brand name which you had to "buy" to be able to name your product "Unix". It is important to know that many commercial Unixes carrying the name "Unix" are actually much less compatible to the Unix specification than Linux and FreeBSD.

[2] That's words games. The term "Linux" can very well be applied to a fully installed system.

[3] Most distribution modify the kernel from the one Linus Torvalds supplies. A Fedora Core 2 6.8-521 is actually quite a bit different than a 2.6.8 downloaded from kernel.org. Sometimes they improve things overall, some other things break. I generally, but not always, run a kernel.org kernel.

[4] A GUI on Unix or Linux consists of a lot of layers. X11 is the base layer which provides a graphical scree with keyboard and mouse input and it has windows, but for example you don't even have a window manager to move the windows you created around. On top of that you can either have a basic window manager without a desktop such as fvwm2, or you can have a more integrated combo of window manager and desktop such as KDE or GNOME.

You can run without KDE or GNOME on Fedora Core 2 and 3 by selecting the "emergency" desktop. Or you can make your system start up without X11 (init level 4) and then log in in text-mode and start the naked X11 server.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
I think that the most accurate way of looking at "linux" is thus:

Linux is not a Operating system, it's a kernel. A very much NON-UNIX kernel.

You have a family of Linux-based Operating systems called "Distros" or "Distributions". Linux is used as a catch-all for these OSes, but a more accurate catch-all term is GNU/Linux.

The Linux-based OS is and is not Unix. It's not Unix in the techinical sense, it is a Unix clone (not a minix clone :p) and incorporates the design philosophy, principals, and features that makes unix Unix.

In this sense "unix" is a style of Operating system, and not a operating system in itself (the last real AT&T Unix is long dead). So in that sense Linux is a unix OS.

But also Unix is a trademarked term.

It's much like the term "Jeep". Jeep was slang from WW2 that refered to the Bantum (the original creator), Willys (pronounced Willis, not WillIEs), and Ford small 4x4s. Eventually Willys became the sole maker of the Jeep.

So Bantum made the first Jeep design, Willys won it because bantum was a pretty much dead company, they marketed it as the Jeep and was eventually bought out by AMC.

however it was common to refer to other small 4x4's as "jeeps", like the international scout, ford bronco, chevy blazers, all were "jeeps".

When the civilian division AMC (they still made things like postal jeeps and hummers) was bought out by Chrysler in the early eighties they successfully trademarketed the term "Jeep", even though it was a common word in American language to mean all smallish, non-pickup 4x4's and began threatening lawsuits to everybody that ever refered to their product in anyway as a "jeep" in any fasion.

The term "Unix" was much like that.

All quite insane and geeky. Most people are best off knowing that there are different definifitions to the word unix, but you can safely ignore them, unless of course your talking in a unix forum or a operating system forum.

Unix history and timeline
 

walla

Senior member
Jun 2, 2001
987
0
0
Thank you very much. This greatly clarifies my understanding of the Linux organization.

I suppose I am still confused why so many distribution exist, while I would estimate they are 95% identical. I am using SuSE 9.1personal for the x86_64...I see no reason to ever change. Then again, for ease of use and basic desktop/web applications, I think SuSE has it all covered well.

Does anyone use more than one distro on one machine? Why?
 

brjames

Member
Apr 25, 2001
168
0
0
I can think of three things that differentiate distros

[1] hardware support

[2] software installation

[3] software modification, support

[1] hardware support relates to how each distro has modified and/or patched the kernel, what drivers are there, etc. etc. If your digital camera doesn't work in fedora, but works in Suse, thats a pretty strong argument to use Suse.

[2] software installation: Installing new software in any linux is far different from installing software in Windows. While making a binary package that can work across Fedora, Suse, Debian and any other distro out there has been a goal for some time, the truth is that typically a package needs to be recompiled for each distro, perhaps even each version of a distro (Red Hat 8, Red Hat 9, etc). Also all software (practically) has dependencies. In Windows, most software depends on just the basic windows libraries that come with the OS. In Linux, theres nothing thats not an addon, so every software package depends on at least some other software package and probably it has many such dependencies. How you deal with these dependencies is a major differentiator. Fedora/Red Hat, Suse, and Mandrake all use the rpm package format which can tell if you do or don't have the prerequisite software for a package to work. Debian and Gentoo will go a step forward and actually install every package that is a prerequisite, before installing the package you want. Slackware doesn't do any dependency tracking and leaves it to you to find stuff thats broke and install it yourself.

[3] Software modifications: The prime example of this is the different looks that each distribution gives its desktop environments. Fedora has set up Gnome and KDE that at first glance they look the same (and ugly IMHO=P), Mandrake has tried the same (but even uglier), while Suse has a KDE desktop that is widely admired and Sun's JDS has a Gnome desktop that some have praised. Its possible to get that look and feel on any distribution, but it could take a lot of work (and know how).
 

n0cmonkey

Elite Member
Jun 10, 2001
42,936
1
0
Originally posted by: walla
Thank you very much. This greatly clarifies my understanding of the Linux organization.

I suppose I am still confused why so many distribution exist, while I would estimate they are 95% identical. I am using SuSE 9.1personal for the x86_64...I see no reason to ever change. Then again, for ease of use and basic desktop/web applications, I think SuSE has it all covered well.

Does anyone use more than one distro on one machine? Why?

There are multiple distros because there are multiple people. It's all about ego. _I_ can do it better than him. _I_ don't like that, so I'll do mine this way.

I use something different at home (on the rare occassions I subject myself to Linux) than I do at work.
 

drag

Elite Member
Jul 4, 2002
8,708
0
0
Hrmp.

Mutliple distros for different purposes, different personalities. Some of it is ego, but what isn't?

Redhat ---> targetted toward enterprises
Debian ----> not for profit distro
Suse ----> wanted to make a commercial distro for Germany
Mandrake ---> wanted to concentrate on desktop usability for France.
Knoppix ---> boot from cdrom distro
Slackware ---> for people that don't like overly complicated things.

Most distros homepages you go to will have the reasons stated why they decided to make their own distro. Usually the answer is in the FAQ page.
 

n0cmonkey

Elite Member
Jun 10, 2001
42,936
1
0
Originally posted by: drag
Hrmp.

Mutliple distros for different purposes, different personalities. Some of it is ego, but what isn't?

Redhat ---> targetted toward enterprises
Debian ----> not for profit distro
Suse ----> wanted to make a commercial distro for Germany
Mandrake ---> wanted to concentrate on desktop usability for France.
Knoppix ---> boot from cdrom distro
Slackware ---> for people that don't like overly complicated things.

Most distros homepages you go to will have the reasons stated why they decided to make their own distro. Usually the answer is in the FAQ page.

I didn't mean ego in the traditional, bad way, sense. ;)