Thread: Help with understanding what linux distributions are...

  1. #1
    Set Apart -- jrahhali's Avatar
    Join Date
    Nov 2002
    Posts
    256

    Help with understanding what linux distributions are...

    So I'm trying to move from windows/mac over to a linux based OS because I don't have the money to purchase proprietary software, and I'm trying to stay away from illegal downloading.

    I've tried reading extensively about linux today, and I have a much better understanding then 24h ago.

    My question is about distributions. My understanding is that there is, at the most basic level, a linux kernel, and what makes distro A different from distro B is just the software package that comes with the kernel. is that right? Is it possible to start with a very minimal linux distribution, and build it up (by installing software) to look like something fancy and versatile (like Ubuntu)?

    Also, what does it mean when I read that a certain distribution is "using" debian or is a "version of ubuntu."

    There's also something else I need advice/direction with. I just installed Ubuntu (it was really simple) and am actually using it to right this now. The thing is, even though I'm using a nice GUI, i'm not really learning anything about linux, or it's shell commands. The installation was too simple. Are there any distributions you can recommend that I can really learn from?
    Clear the mines from our Shazbot!
    Get the enemy Shazbot!

  2. #2
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    It's possible to build a Linux installation from ground up.
    Welcome to Linux From Scratch!

    But don't even think about it until you have a few years of experience with "mainstream" distros. It requires you to know A LOT more about the internals of a Linux system.

    My question is about distributions. My understanding is that there is, at the most basic level, a linux kernel, and what makes distro A different from distro B is just the software package that comes with the kernel. is that right?
    That is correct. Though most of them have similar packages, just different delivery mechanism.

    Also, what does it mean when I read that a certain distribution is "using" debian or is a "version of ubuntu."
    That doesn't make much sense. A distribution can be BASED ON Debian or Ubuntu, though. And Ubuntu is based on Debian.

    There's also something else I need advice/direction with. I just installed Ubuntu (it was really simple) and am actually using it to right this now. The thing is, even though I'm using a nice GUI, i'm not really learning anything about linux, or it's shell commands. The installation was too simple. Are there any distributions you can recommend that I can really learn from?
    If you can master Ubuntu, you have mastered Linux. There are surprisingly very few differences between "mainstream" distros.

    First, open up gnome-terminal.
    UNIX / Linux Tutorial for Beginners

    It covers the basics to get you started.

    Also learn about how Linux filesystem organization works. The concept of "mounting". The uni-root structure. Filesystem permissions. Also how devices are represented as files. Users/groups permission system. Etc.

    Don't worry about not learning enough. Just keep using it. You will run into problems that will require you to learn more.

  3. #3
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    By the way, you are probably the first person to complain that Linux is too easy .

  4. #4
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by jrahhali View Post
    Is it possible to start with a very minimal linux distribution, and build it up (by installing software) to look like something fancy and versatile (like Ubuntu)?
    Yes. You have two options there. Both Minimalist distributions.

    Pre-built distributions give you a minimum application stack, just enough to get you a working operating system and let you then install and configure whatever you wish. Through their repositories, they will offer you binary packages ready to be installed when you wish, much like Ubuntu does. Contrary to Ubuntu however, these packages provide you only with a means to install the software, any configuration has to be made by you. Examples are Arch Linux and Slackware.

    Source-based
    distribution are the same with the exception that you won't get binaries. You are required to also compile the software you wish to install. You are required to compile the entire OS and applications. Examples are Gentoo and Lunar Linux.

    Also, what does it mean when I read that a certain distribution is "using" debian or is a "version of ubuntu."
    Both aren't comparable, since they are essentially the same. Debian is an operating system and application stack that essential uses a Linux Kernel with GNU operating system tools and applications. Ubuntu is a Debian distribution. Or a distribution based on the Debian model.

    There's also something else I need advice/direction with. I just installed Ubuntu (it was really simple) and am actually using it to right this now. The thing is, even though I'm using a nice GUI, i'm not really learning anything about linux, or it's shell commands. The installation was too simple. Are there any distributions you can recommend that I can really learn from?
    You sir are having the same problem as I was. And can be summarized as follows, highly graphical give-me-your-hand distributions, don't actually facilitate the learning of Linux. Users get to know how to use a GUI, but not how to use Linux. And any chimp can use a GUI. True story.

    You need a distro that exposes the internals of the operating system and its philosophy to you. Slackware and Arch Linux are absolutely gorgeous in this regard. You will learn as you install the operating system and configure it, but also every time you install an application or tool and get to dive deep in its configuration files, folder structure and whatnot.

    I personally use Arch-Linux. I absolutely adore this distribution and can't recommend it enough. Their forums are very active, so any doubts will be answered there. I'm not very active there, but if I see you I'll try and lend you a hand.

    Another recommendation would be slackware or one of the source-based distros (never Gentoo! choose Lunar). But here I think you will be taking a step larger than your legs. Go for it only when you feel very comfortable around Linux and want to try something else. This because they lack package dependency checking. And this is a problem for newcomers. It can become very frustrating and throw you off. Some actually manage to do it, I couldn't. It should be very interesting later when you are comfortable with Linux.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  5. #5
    Set Apart -- jrahhali's Avatar
    Join Date
    Nov 2002
    Posts
    256
    Thanks guys, this clears up a lot. You've addressed my concerns wonderfully.

    Cyberfish, thanks for steering my clear from Linux From Scratch. I was actually trying to attempt it, but won't until (much?) later on.

    Mario, thank you so much for the recommendation. I didn't know about Arch Linux, but will be trying it out.
    Clear the mines from our Shazbot!
    Get the enemy Shazbot!

  6. #6
    Password:
    Join Date
    Dec 2009
    Location
    NC
    Posts
    587
    You really don't want to be forced to learn Linux. It'll really p i s s you off when you have no idea how to configure you WLAN card and no way to access the internet to find out... My point is: keep Ubuntu or Fedora or something easy to use for your OS that you use, and install Slackware or something in a VM. I personally recommend FreeBSD. I know it's not Linux, it's better, IMHO. You'll learn more *nix command line tools with FreeBSD than you'll ever have a need for in Linux. There's no "give me your hand GUI" available until you configure Xorg BY HAND!
    Last edited by User Name:; 11-10-2010 at 04:53 PM.

  7. #7
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,229
    What can be worse than learning a totally new OS? Learning 2 totally new OSes at the same time!

  8. #8
    Registered User
    Join Date
    Dec 2008
    Location
    Black River
    Posts
    128
    Quote Originally Posted by User Name: View Post
    There's no "give me your hand GUI" available until you configure Xorg BY HAND!
    It's not really that hard, specially if you're using KDE or GNOME since you only need to add a single line to /etc/ttys (And so you can avoid manually executing `startx' each time you init a session).

    I do agree, though, that if you're into learning about unix commands and customisation, FreeBSD is a really great option.
    Stick close to your desks and never program a thing,
    And you all may sit in the standards commitee!

  9. #9
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by Ronix View Post
    It's not really that hard, specially if you're using KDE or GNOME since you only need to add a single line to /etc/ttys (And so you can avoid manually executing `startx' each time you init a session).
    That's funny. It took me 3 days and the patience of a saint to do it on mine.
    And it's not about KDE or GNOME. I'm speaking just to have X behave on my system. i3 and OpenBox, my two WMs, were a snap in comparison.
    Last edited by Mario F.; 11-10-2010 at 10:31 AM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  10. #10
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    I'll throw in my two cents, Arch is nice an all, after using it for nearly 4 years I switched to Slackware.

    Why? Because in my opinion the disadvantages of Arch's "rolling release" cycle far outweigh the advantages. Upstream package broken? Too bad.
    Not to mention it rolls a bit too quick, you'll probably find something breaking after a package and/or system update. Want to upgrade Firefox? That's too bad, you'll have to do a system wide upgrade because Firefox depends on xyz version 2, but your installed version of abc depends on xyz version 1. Sure you can leave the old packages behind, but if I wanted to spend all my time administering my Linux distribution then I would have gone LFS...

    The repos are pretty big however, which is nice. Compared to Slackware, I find myself on Slackbuilds nearly every other day :'(.

    In the end, pick what's right for you. Just be aware that some distributions... *cough* Ubuntu... take it upon themselves to do things their way, even if it goes against the grain.
    Last edited by zacs7; 11-10-2010 at 05:15 PM.

  11. #11
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    I'll have to agree there. The rolling release model can introduce problems if one upgrades to a broken upstream release. There's something else that does annoy me about a rolling release distro. But before that, going back to upgrades, there's however a few things to take in consideration, zacs:

    - Upgrades are manual. One can (and should, because this is a do-yourself rolling release distro) only upgrade when they know everything is ok. Usually by listening to those who were eager to upgrade

    - It's broken? Revert to the previous version. Pacman's cache allows you to do this with a single command.

    - My critical packages are on my pacman.conf blacklist. This means they won't be in the list of available updates until I remove them from there. This allows me to control when and if I allow pacman to upgrade them. Since I also have been slowly increasing the number of packages I build from source, I actually have only a very limited set of packages under pacman's control. And I suppose that's how you are eventually meant to use Arch Linux.

    Now... what does annoy me about the rolling release system is that, depending on the number of packages under pacman's control, this may mean you aren't entitled to any vacations. One month away from your computer may mean a string of upgrades longer than War & Peace.

    All in all, I use Arch today mostly as a source-base distro. This is what I love most about it. The flexibility it gives me, once I feel comfortable around it, while still offering a fallback automatic update method for those few packages I don't care to manage myself. I could probably move to slackware now... or even better, just go to Lunar Linux. It's just that I got so used to Arch that I suppose, only if something really bad happens to this distro, will I consider changing. I'm, after all, very strongly, a man of habits. My Windows wallpaper is the same for the past 4 years.
    Last edited by Mario F.; 11-10-2010 at 05:52 PM.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  12. #12
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    Quote Originally Posted by Mario F. View Post
    I'll have to agree there. The rolling release model can introduce problems if one upgrades to a broken upstream release. There's something else that does annoy me about a rolling release distro. But before that, going back to upgrades, there's however a few things to take in consideration, zacs:

    - Upgrades are manual. One can (and should, because this is a do-yourself rolling release distro) only upgrade when they know everything is ok. Usually by listening to those who were eager to upgrade

    - It's broken? Revert to the previous version. Pacman's cache allows you to do this with a single command.

    - My critical packages are on my pacman.conf blacklist. This means they won't be in the list of available updates until I remove them from there. This allows me to control when and if I allow pacman to upgrade them. Since I also have been slowly increasing the number of packages I build from source, I actually have only a very limited set of packages under pacman's control. And I suppose that's how you are eventually meant to use Arch Linux.

    Now... what does annoy me about the rolling release system is that, depending on the number of packages under pacman's control, this may mean you aren't entitled to any vacations. One month away from your computer may mean a string of upgrades longer than War & Peace.

    All in all, I use Arch today mostly as a source-base distro. This is what I love most about it. The flexibility it gives me, once I feel comfortable around it, while still offering a fallback automatic update method for those few packages I don't care to manage myself. I could probably move to slackware now... or even better, just go to Lunar Linux. It's just that I got so used to Arch that I suppose, only if something really bad happens to this distro, will I consider changing. I'm, after all, very strongly, a man of habits. My Windows wallpaper is the same for the past 4 years.
    I totally agree. To be fair, as you stated... they do tell you to "Read the forums and the website" before updating. That being said, Arch certainly isn't suited if you have severely limited bandwidth.

    I'm learning to live without automatic dependency resolution in Slackware. And I far prefer SlackBuild to Arch's ABS.

    Whatever floats your boat :-)

  13. #13
    Set Apart -- jrahhali's Avatar
    Join Date
    Nov 2002
    Posts
    256
    My next question is about packages.

    Are they just mechinisms for installing a piece of software that the community/developers have tested and configured and know will work? Are packages distribution specific? If so, when I do apt-get, does it only fetch files from the distribution's website?

    What is the difference (steps involved) between installing a package, and installing something that you just get off a developers website?
    Clear the mines from our Shazbot!
    Get the enemy Shazbot!

  14. #14
    Registered User
    Join Date
    Sep 2001
    Posts
    4,912
    The packages correspond to a package manager, which may not be distribution specific (some distributions use common package managers). Debian, and all systems based on it (like Ubuntu) use aptitude (apt-get, etc...) and the packages are called *.deb. Red Hat, Fedora, CentOS, etc... all use RPM (yum, etc...) and the packages are called *.rpm. Some distributions are very unique (like Arch, I think - I may be wrong), but *.deb and *.rpm are very common and a little interchangeable. I've installed *.rpm packages on Debian, for instance, by just installing a different program to do it.

    Packages are pre-compiled and also contain information about where to place files, configuration settings, etc... Some projects offer packages, some projects are available as a package through your distribution, and other projects are compiled from source, and you copy files and configure it manually.

    Each distribution typically has a "repository", which is where it stores it's officially supported packages. Your package manager will look here by default, but you can tell it yo look in other repositories.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Linux for GNU/Linux is not correct?
    By password636 in forum Linux Programming
    Replies: 8
    Last Post: 03-31-2009, 08:30 PM
  2. Linux
    By cerin in forum A Brief History of Cprogramming.com
    Replies: 16
    Last Post: 02-10-2005, 09:41 PM
  3. installing linux for the first time
    By Micko in forum Tech Board
    Replies: 9
    Last Post: 12-06-2004, 05:15 AM
  4. Linux for Windows!
    By Strut in forum Linux Programming
    Replies: 2
    Last Post: 12-25-2002, 11:36 AM
  5. linux vs linux?
    By Dreamerv3 in forum Linux Programming
    Replies: 5
    Last Post: 01-22-2002, 09:39 AM