Ask Slashdot: What Is the Best Distro For Linux Lessons?
MBtronics writes "I work at an embedded hardware/software company and we are currently moving all our products for Windows CE to Linux. Our core development team already uses their favorite distro for development, but the rest of the developers are still working on Windows. We are going to give a series of Linux lessons (from 'what is Linux' to installing, using and developing) for everybody in the company who is interested (including non-developers). They will be allowed to choose their own distro, but we will certainly get requests for recommendations. My question to the Slashdot crowd: what distro (and window manager) do you think is the best to teach Linux to the generic public? We are currently thinking of Ubuntu, Fedora or Mint."
Ubuntu is the most common, with the most online forums and such... I would recommend that one.
I think it would be openSUSE... #germanophilia
WARNING! This girl exceeds the MAXIMUM SAFE standards established by the FDA for BRATTINESS
OS X!
Why would you teach a different distro than the one you currently run internally?
...but why ask a question you already know the answer to? Those are the three I would have picked, and likely for the same reasons. Further, if you are doing lessons, then make sure it is distros you are familiar with enough to help and not fumble around.
Silence is a state of mime.
Slackware for the win!
Chaos maximizes locally around me.
Slackware is great if you want to learn how Linux works - not how one specific distribution does things for you.
Alex, I'll take keybindings not used by Emacs for $400....
If you're bringing people over from the Windows world, please encourage KDE. It's a pretty good take on the "taskbar w/ a start button" GUI-style and will be immediately familiar to most folks. One word of advice: "Classic Menu Style" for the launcher will help keep things much more traditional.
I went to eat some animal crackers and the box said, "Do not eat if seal is broken." I opened the box and sure enough..
If you're trying to teach them to use Linux for general purposes, I'd go with Mint. It passes the Aunt Tilly test with flying colors in my experience.
If you're trying to teach them about Linux and how stuff works, Slackware or Arch would be the choice.
upon the advice of my lawyer, i have no sig at this time
Unless you want to teach GNOME, or KDE, or Unity, or Cinnamon, start them off with a command line-only Linux install. At that level, all distros are essentially identical except for package management. And even there, the two big ones, apt and rpm, are different only in their syntax.
Debian ?
very stable, easy to use, alot of support available and available for almost every platform.
If you are paying for their time, a question I would ask is do you want to solve problems once, or over and over with all the permutations of each of your distros and versions?
I would recommend against Fedora unless you want to do fresh installs at least once a year (twice a year to follow each release). I would recommend CentOS (7-10 year install length).
Whichever you go with, I would standardize on a single distro. Then when you run into an issue you solve it once, and not corner cases that each distro have.
It really is like learning/deploying/testing 3-4 flavors of Windows all at once (Win2000, WinXP, Vista, Win7) and that's not even introducing 32bit vs. 64bit issues, and actual distro version differences (EL5.x vs. 6.x, etc.).
Let people dink and learn the Linux distro of their own choice on their own time. Just my two cents.
Learn Redhat, know Redhat. Learn Slackware, know Linux.
If you get paid by the hour, then Gentoo is the way to go. Pro-tip: use the slowest machine.
It really depends on what you're teaching. If you want to teach them an enterprise product, then RHEL/CentOS/Fedora. If you want to teach them a desktop product, then Ubuntu. I know this probably wouldn't be for the poster, but for others who felt comfortable with Windows and would just want to learn basic Linux commands, dare I commit heresy here, might I suggest Cygwin?
How much time do you have to invest in this project, and how deep does their knowledge need to be?
I learned more from doing a slackware install (back in about '98 or so) then from all my experience with other Linux installs. I've heard people say similar things about Gentoo/Portage, so YMMV, but a distro that more or less forces people to do things by hand will both teach them, and teach them respect for, the system. You mention two systems that use apt, and one that uses rpm... Pick one architecture, your IT staff will thank you later.
You may simply want to give them an up-to-date Ubuntu (or Mint) that has several window manager/desktop environments installed, and let them experience the different UI flavors available... assuming that your company hasn't made the decision already. As someone else not-so-shallowly pointed out, you should have made a decision already, so train them on the distro your core dev team is using! Seriously, there are major support implications of allowing joe user to run off the flavor-of-the-month they just downloaded on a whim from distrowatch...
If you let each person decide which distro they want, that could get ugly from a sys admin standpoint. But it really depends on the size of your company. If it were me in your shoes, I would lean towards stability. I would probably go with CentOS. I prefer KDE myself, but back when I made the jump from Windows to Linux, I started with Gnome because I thought it was cleaner and better organized. If they want a little more polish, I would consider Mint.
I'd go with CentOS.
It's not primarily a mainstream desktop Linux distro but you're in a work environment dealing with a embedded Windows -> Linux transition, so it doesn't matter. For this reason you don't have to deal with the bullshit UI fucking around that seems to be going on in the Linux ecosystem right now, plus it's a very stable and clean distro given its relationship with RHEL. It's our distro of choice for our VME single-board computers.
I despise Linux on the desktop at home but at work, for our embedded work, I haven't found anything that works better or more reliably (and still remains free).
I remember when Linux was good... too...
I think it depends on exactly what you want to teach your general public. If you want to go down and dirty with installation & good documentation then maybe something like "gentoo" (or it's derivatives).
Otherwise if you just want to familiarize them with a basic gui interface similar to what they're used to and also simple maybe try something like Lubuntu or Xubuntu? Ubuntu's Unity may be too radical a departure for this (yet).
Mint is cool but stability might be a concern depending on the flavor especially if you want the old-school gnome paradigm.
Just my 2 cents..
I use Ubuntu and TinyCore at work, and Debian with KDE at home.
I think the real issue is not the distro, so much, as desktop environment. Gnome is for people who really aren't too familiar with Linux, IMO. It hides much of the complexity/functionality to provide a simplified interface. KDE provides a lot more control, at the expense of simplicity. There's others, like Unity (which I despise). I'm not conversant with most of them, so, unlike many of my brethren here, I'll refrain from commenting on them.
Of the two, I prefer KDE. I can set a system up the way I want it to work easily enough. At work we use Ubuntu/Gnome. I do not like it at all - clumsy in the way it handles multiple desktops, for one thing.
That said, if you do want to go KDE, Ubuntu seems to be moving away from KDE, so you may not want to go Ubuntu.
Now, as to distro, Debian has a reputation for being stodgy, and never releasing anything in a timely manner. OTOH, their stable releases are rock solid. IIRC, Ubuntu has a direct relationship with Debian's unstable version.
Finally, I prefer Debian's attitude towards separating free as-in-beer software from free-as-in-speech software. It matters to me, it may not matter to you.
Maybe it's not the kind of answer you were expecting, but FreeBSD is great example for teaching how operating systems work. It's not very different from Linux but is very simple and clean despite doing little to hide its inner workings.
"They will be allowed to choose their own distro,"
don't do that, it's going to be a nightmare.
The Kruger Dunning explains most post on
Your audience is programmers, so highly technical is not an issue. So what do intend to teach? How does Linux work, how is it organized, what is its structure? Gentoo stage 0. How do I use the new system you're making me use? Whatever all of your tools best supports, or if that's not a concern just go with the popular Ubuntu.
None.
You don't administer the machines as everyone uses their favorite distro, it is not your responsibility.
If you give developers a choice for platform, anything will do as long as they accomplish what they are hired for. Linux distros are a matter of taste, each with benefits and downsides. Choosing is part of the experience.
It sounds like you may be using an embedded Linux for your products.
If so, you should be using the distribution that most closely resembles your delivery systems, rather than letting users pick whatever they want.
In fact, I can't imagine ever allowing users and developers in any department I'd be managing to choose whatever distribution or operating system they want. Corporate standards are there so that maintenance and integration are manageable issues, and the differences between some distributions are just far too great. Unless there is a documented and known reason for diverging from the norm, it's just far too expensive to expect the support department and team to learn about everyone's favourite platform or distro.
The "right to choose" stops at the point where it becomes an expense to maintain and support.
I'd give serious consideration to a corporate standard desktop for similar reasons, though I realize that may well be as futile as trying to pick a text editor. (vi! emacs! eclipse! And much snarling and gnashing of teeth for years on end if anyone loses the battle.)
I do not fail; I succeed at finding out what does not work.
You simply cannot go wrong with Debian, openbox WM, and a lightweight file manager like thunar. Fast, easy to use, access to the entire Debian repository for software, and great user support.
I also highly recommend Crunchbang (a lightweight Debian based distro). No need to even install Crunchbang to learn the OS...just boot off the live CD and tinker away.
"At first, we thought it was just another snake cult."
LFS is more work and easy to screw up.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
A mis-mash of various distros inhouse will make backups and other admin tasks more complicated. Choose a distro+version and then mandate its use throughout the company. Backups, package management, user management are all different between distos.
If you are putting your products on a specific type of linux (embedded), then use a close relative of it.
I do not recommend Ubuntu variants for learning. Fedora would be better. Dont forget to learn about GPL if you are embedding!
I prefer Ubuntu, but cut my teeth on Debian. You can't beat Debian's package manager, which continues to be used by Ubuntu and other distros in some form or another.
I am literally 3000 tokens away from the chaotic crossbow --Stephen
I use Edubuntu. Of course I realize that I'm talking about a classroom with kids, and that probably isn't your situation. But the amount of learning utilities and games with Edubuntu can't be beat anywhere else that I've found.
I've been trying out various KDE distro's myself and the biggest differences have mainly to do with the apt vs. rpm repositories whereby apt is superior.
Additionally the Kubuntuforum.org site combined with the Kubuntu sections of Ubuntuforums.org are among the most helpful places you can find.
KDE is at the moment the most complete/ feature rich/ editable desktop and well integrated desktop around yet light enough for all machines of the last 4-5 years.
When you like your distro pre-cooked yet stable you might want to have a look at Sabayon, the biggest issue I found with it is the compared to (K)Ubuntu limited repositories.
"The likes of Facebook and WhatsApp are free to those whose privacy is of zero value."
if you learn to use Debian you learn Debian, if you learn to use Fedora you learn Fedora, but if you learn to use Slackware you learn Linux
Politics is Treachery, Religion is Brainwashing
Forget about Ubuntu. It may be big, energetic and popular, but one thing it is not is "industry standards" focused.
CentOS (or RHEL) is based largely on the same old notions and ideas that the earliest Unixes have been based on forever.
If you want to teach *NIX, then start with where it is most "normalized" and perhaps later show where it varies and deviates. Don't start with a unique, deviated and/or customized Linux like Ubuntu or even anything Debian based. It's just too different.
based on my current experience:
at least three linux flavours, at least two BSD flavours, and add in an additional 'classic' UNIX, like Solaris, IRIX, AIX, True64 or HP/UX, and don't forget OS-X.
focus on the differences, not on the similarities. Genetic differentiation is what counts, not the similarities.
'Distro-agnosicm' is what counts.
Notice the "X" in front. Not Ubuntu - but Xubuntu. The US resembles Windows more than any other. It's highly customizable too, and you don't need to do a bunch of command line hacks to make it happen.
Ubuntu
"If any question why we died, Tell them because our fathers lied."
Debian unstable is not that unstable, most of it works most of the time. It is the source of ubuntu.
There are some people that run debian unstable as their primary environment.
To teach Linux lessons, all you need is the terminal which is available in all distros. I am not sure why all this fuss about distros.
- Show them one or two distributions that are noob friendly enough but do things differently, such as fedora vs ubuntu vs mint, to show what the differences between distributions might be (and more importantly, what the similarities are).
- Then show them that whichever system you end up with, the UI is a component, and not integral to the system. Run mint with KDE / Gnome / XFCE to show this
- Then show them the terminal. Show them there is nothing mysterious about terminal code, this is how all programs are run, at least in the background, and how it can actually save you time. Show them how easy it is to write a simple script.
- Show them that in principle you could be using the terminal all the time in windows in the exact way outlined above, so this isn't some sort of dark linux way of doing things. Except that the default terminal in Windows is shit.
- Now show the more advanced stuff, just as a reference. Give a tour of a source-based system, like Gentoo. Give a tour of a "pure-linux" system like Slackware. Explain why some might prefer it. Show them how they might go about running a non-distro-specific tar.gz binary. Show them how a program might be compiled (i.e. what everybody thinks they'll be doing when they hear the word linux), and that while this used to be the default way of install stuff on linux 10-20 years ago, package management has now solved this problem, and installing things on linux is now a lot easier than any other OS. Explain why going for a more automated system is better for your newbies at this stage, but in the end it's all the same.
- As a point of pride, show them that linux is cutting edge stuff, and how some of the things that are now commonplace in linux have only made their way into mainstream systems relatively recently. Show them synaptic, and how it predated app-stores. Show them multiple desktops and how they predated iPhone/Android sliding desktops. Show them 3D cube / compiz effects, and how it beats all other supposedly flashy systems out there, if that's what you'd want (yet linux users will still opt for the console once getting used to it, because it is that. much. better.)
- Also as a point of pride, show them how open-source can be "as good as, if not better", in general, beyond the 'operating system' side of things. Show them things they may already have come across, such as Firefox, OpenOffice, VLC (make a point of vlc playing an obscure file they'd need to pay codecs for on their precious mac / windows media players - I'd recommend downloading a .webm youtube clip for this), etc. Make the case for Linux as open-source.
- Then explain which distro the company is imposing company-wide and why.
The above could be an introductory session / tour, and in principle shouldn't take more than a couple of hours. Then follow this session up with showing them specifically how stuff gets done in the distro your company has selected for whatever reason.
It will probably be the easiest long-term if you go in the same neighborhood as what your using in your dev/prod environment... If you're using RHEL or CentOS, go with RHEL, Fedora, or CentOS. If you're going with something from the Debian branch, stick to those choices (Debian, Ubuntu, Mint), or with Suse, go with Suse.
I've been a linux guy for a bunch of years (Started with RedHat, moved to Debian, but have tried all of the big players) and it's always the little differences (such as netconfig, default locations, service configurations) that annoy me when I wander from my comfy space.
--- no sig to see here... move along.
I'd love to have a LFS variant that'd cover what runs behind a modern desktop system (dbus/policykit/consolekit/pulseaudio/udisks/gdm3/udev/network-manager). I've met many admins who don't really have a clue on how these work.
I wish I had mod points today. The Linux From Scratch project is an excellent learning tool, for understanding Linux internals as well as Unixish thinking in general.
. We've got computers, we're tapping phone lines, you know that ain't allowed - Talking Heads, "Life During Wartime"
Unless Aunt Tilly is representative of your development staff, keeping her happy probably isn't that important.
Have gnu, will travel.
Plus, the OP is looking for a teaching tool for embedded hw/sw developers. That suggests a very high degree of customization. Something Linux in general and Linux from scratch in particular excels at.
I'm guessing that the object is both to teach Linux as a platform for development as well as a development desktop.
Have gnu, will travel.
A lot of tech companies use RHEL or CentOS for production/development, both (really, they are practically the same) have gui interfaces if you choose to use it.
It is perfectly suitable for learning, though you mostly deal with RHEL specific install management(RPMs), but most distros are part of a few different management schemes.
while(1) attack(People.Sandy);
This is the million dollar question, but also comes with a price tag. If you want support, then you want Redhat. Support includes more than you would get with Mickeysoft for much less money.
RHEL gets you a few other things besides a check book full of support. There are far more experts with Redhat than any other distro (at least in the US). This means if you can't afford, or don't want to pay Redhat you can still find help. Good luck finding that "Gentoo" or "Slackware" expert when something breaks, or good luck affording them since he's booked by some other schlep that went with that brand.
Lets face a simple fact. At home, you can use what ever you want. Who cares about down time, bugs, learning curves, etc... none of that matters. When it comes to business, you need to have something with a support chain. You also need a fall guy when the shit hits the fan.
At work, we strictly run RHEL. Kickstarts include the full KDE suite, desk top is changed to KDE and KDE's Kiosk features are used to manage the desktops and give a common look and feel. RHEL will include everything you want from the standard linux stack, though you may have to get both a desktop and server set of media.
-The wise argue that there are few absolutes, the fool argues that there are no probabilities.
Xubuntu is good, its clean, functional and doesn't load you up with broken crap just for the sake of being shiny. Stuff that should work, does.
As another interesting option, I would actually recommend Crunchbang Linux for enterprise desktops. It's based on Debian Stable, so the support period is very long, its rock solid and you know it will stay that way through any security updates. But its a lot more out-of-the-box functional than straight-up Debian. Many of the post-install chores typical to desktop installations (like installing multimedia codecs, configuring a nice desktop, etc) are done for you. It's clean, fast and there's also an XFCE version (I think XFCE is better for newbies than Openbox, because there are integrated GUI tools for things that should be simple - like setting keyboard shortcuts, adding panel items, etc).
Censorship is the opposite of education. If neo-darwinism were defensible, people would not need to try and censor ID.
Any distribution is fine, preferably MULTIPLE distributions. If you settle on, for example, Ubuntu, then you're teaching somebody how to use Ubuntu, not how to use Linux. Install several inside VMs and have the student switch between them each session. And to really drive home the point, maybe a few hours with FreeBSD to give a taste of how UNIX systems are all similar, but not exactly alike.
Seems like that would be more helpful.
...and install it on all machines. Set up FAI or Puppet or something to administer it and establish a local repository. Tell the developers that if they want to use anything else they can but they're on their own for support.
Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
I would suggest Debian because this question breaks down into two things:
1 - What is a really good, stable, easy-to-use Distro?
Answer: Debian, for one, because it's established, reliable, and dpkg/apt-get is super duper.
2 - How does a user learn about Linux from a distro?
Answer (in my opinion): by installing a base, command-line system and then building it up into the full system of his/her choice. By doing this, you introduce the user to the shell, which is criticial to *learning* Linux. A nice, fancy desktop is useful for *using* Linux but the process of, say, installing xwindows, installing XFCE, uninstalling XFCE, installing GNOME, uninstalling GNOME, and then finally deciding on KDE (for example) teaches the user something about the OS and how to make it useful for his/her purposes. That applies to individual packages, too. "Want to browse the web? Do an internet search for 'Linux web browsers' and apt-get your way to some testing." This gives the user an understanding of how the pieces fit together and it provides the skills necessary to make changes in the future.
Time was I would have said "any of those is fine".
But Ubuntu sets up the Unity desktop, and Fedora sets up GNOME Shell. Both of these are very different from other desktop environments, particularly Windows.
Unity is very Mac-like, but rather different from Windows.
GNOME Shell in particular has a brand-new interface that is not like Windows and not like the Mac. It is designed to be easy to learn and use, but IMHO it is egregiously different from what has gone before, and using it is (for me) an exercise in frustration. So I view GNOME Shell as a needless roadblock in the way for new students.
Linux Mint has GNOME Shell, but set up with extensions that make it work more like the GUI mainstream from the past decade or two. Which means it works more like Windows. It has a menu button in the same place Windows put the "Start" button, it has minimize/maximize/close, it has a window list, etc. If you choose Linux Mint, you can focus on telling the students the useful and interesting stuff, and not get bogged down in "here's how to manage the desktop GUI".
steveha
lf(1): it's like ls(1) but sorts filenames by extension, tersely
The qestion shoud be something like, "What distro would you use to teach (x)..?" What you are going to teach and the criteria for teaching it are more important than the software version.
If you are going to teach Linux administration, I would suggest OpenSuse, Debian, RedHat or Fedora. If you want glitch-free production systems, use something that has universal appeal and stay away from Ubuntu and Mint. (My experience is that they change too much from one release to another, administration tools are not standard, and, although installing some things like LAMP is a snap on Mint, advanced administration takes too much time. My list consists of distros I would never use again because I have work to do and I'd rather not spend a lot of time looking for the exotic configurations that make my distro work. (Top of the list: Ubuntu and CentOS, followed by Mint, Debian Mint and Fedora.) I prefer Debian, but I would go with RHE or OpenSuse without crying. I do development work on multiple hybrid systems that may require computer-machine interfaces, but you should match your requirements to your audience' needs.
"The mind works quicker than you think!"
Because out of the above listed tools, at least most of them are crap.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
What they learn today will be mostly applicable tomorrow, and the unix way of thinking learned will help with other Unixes. As opposed to the NIH flavour of the month thinking of the average Linux distribution. If it has to be Linux, go with slackware, as that is the closeted to the traditional Unix way of doing things.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
A live CD distribution means they can use it at home with little hassle if they don't get enough time in the class. Which one would depend upon what the instructors are used to. Ubuntu confused me a bit beyond normal usage when I first hit it (eg. no "su -" and config in a different place to some others) and the same would be the case from people going from Ubuntu to Fedora, so whatever is similar to what the instructors have used.
If the objective is to learn Linux and how it works, there is no better option. Plus the Gentoo documentation in the best in class!
When opensuse updates got too buggy, I decided to go back to slack. ISo I downloaded the latest slackware dvd, then, before installing, went to look at the package list for updates. Nasty surprise - it's been broken for almost a year.
A distro that can't be updated between releases is a dead distro.
So I ended up installing Fedoro instead, and I have to say it makes opensuse look ... dated. Opensuse really lost steam when Attachmate bought Novell.
Let's call it what it is, Anti-Social Media.
you just described the essence of slackware. normal IT people don't want to waste time fucking around with things that are already properly set up to GET WORK DONE in a sane distribution
The high school kids in the Intro to Linux class I taught last summer looked at four distros and they all agreed that Pinguy OS was the hands-down winner. Most of them even thought it was easier to use right out of the box than MS Windows. Since it's an Ubuntu/Mint derivative, it even has an LTS version. If you've never seen Pinguy OS, try it--you'll like it!
If your core dev team is already using their favorite distro, it would seem that that should be the one to use to teach Linux to, unless you're planning to let anybody in your dev groups use whichever distro they like. Given the variations among the Linux base distros - Red Hat, Debian, Slackware & Gentoo, I'd think that you'd do well to restrict them to one of these 'genres'. Like if you decide on Debian, allow only Debian based distros, like Mint, Comice, and so on. If you decide on Red Hat, allow only things like Fedora, Mageia/Mandriva, and so on. That would help a lot when it comes to installing other software packages, since you have the major variation among package managers, be it apt-get, yumm, ports, et al. At least that way, when you require certain softwares be installed, at least you can ensure a minimal amount of commonality to be there. Also, configurations vary b/w the major base distros, so if you allow diverse distros such as Gentoo vs Tinycore, you're likely to run into problems. Try minimizing those going in.
Incidentally, have you considered the BSDs as well? Depending on the application, FreeBSD already has different sub-distros aimed @ different targets - pFsense as firewall/router, FreeNAS as a storage, FreeBSD itself as a server OS, PC-BSD for laptops, and I believe there are more. If the embedded app in question is that of a firewall, it would seem that OpenBSD would be a good choice. Also, given how portable NetBSD supposedly is, that might not be a bad consideration. Another option, as someone above suggested, is Minix. Tanenbaum's book 'Operating Systems: Design & Implementation' would be a good book to have in terms of understanding the various principles that went into its design. That depends on how deep you are trying to go.
Actually, since you seem to be in the embedded market and replacing Windows CE, it would seem that either Minix or Tiny Core Linux would be a good replacement as far as size compatibility goes. The other option you have would be to have people go through the Red Hat Certification, but there's the question of how much you'd budget for that. For what you are describing, it would seem to me that being a certified RHCT would be adequate.
On the DE, I would suggest KDE. Despite all the horror stories that were there when KDE4 first came out, KDE 4.8 is now reasonably mature, and KDE has been so for a while. One reason I speicifically didn't suggest Ubuntu above was Unity - given all its coverage and the fact that nobody else except Ubuntu uses it, it's one to avoid. Similarly, avoid GNOME. KDE makes it easy for someone migrating from Windows, and its Kontrol Panel is awesome. There are already some apps in the KDE family, which your team can improve or extend, and there are the Qt frameworks on which to build things. Incidentally, I learnt much about Unix on NEXTSTEP, but so far, GNUSTEP is not yet a mature, established DE, or I'd have recommended that over KDE.
One thing you didn't mention - what sort of license are you planning to use for the software being developed? Is it important? Or are you planning to be proprietary? If it's the latter, just check to make sure that you're not using GPL software in what you are developing, or you'll be required to release that under a GPL as well.
SLapt-get does the job just fine.
Source plus CheckInstall if you want to manually build from source.
Slack-current via FTP/HTTP/torrent if you want something newer than the latest official release.
I would recommend Mepis. The reason is that it just works and its interface is similar to windows. It has a live CD and it installs pretty easily, and again, it just works.
I'd like to throw Arch Linux in the mix because I haven't seen it mentioned yet... Arch brings in the best mix between easy to use, being vanilla, great performance and being modular and customizable...
- rolling release
- simple, fast, yet powerfull enough package manager
- building packages from source with one command, then installing them with one command
- very modular: you only get what you want and what are absolute dependencies for what you want
- pretty vanilla configuration files, file system layout and such
- you have to learn some to get up to speed with it though... that is: standard shell usage, standard configuration files and... hm.. that's it
What I liked about Mandriva back then, before there were live CDs, was their choice of install:
1. casual user (multimedia with desktop)
2. development workstation (like 1 but with make capabilities, headers, etc)
3. server
because sometimes there will be the occasional un-packaged tarball that you will need to roll on your own. The configure-make-make install mantra should be ready and handy when the packages failed to include something of interest.
WARNING: Smartphones have side effects--most of them undocumented.
Kubuntu does well in trying to make the best out of the KDE apps out there, but some of their decisions just defy comprehension. Like Rekonq is nowhere near ready for prime time, but that, rather than Konqueror, is the default browser for Kubuntu. Addressing the GP, I agree that KDE is the best DE for this purpose, and now, Mint offers both MGSE as well as KDE versions of their OS, so that would be good for this purpose. And if one is open to non-Linux distros, PC-BSD is a good candidate as well.
I also agree w/ the GP that they should teach whatever they're migrating to, and limit some of the choices of migration. The base platform should be whatever has the most derivatives and makes the most sense, and that would seem to me to be Debian. So within that, allow users to use derivatives such as Mint, Comice and so on. Even if it is CLI stuff, there will be variations, such as the locations of the /etc/ files used for various configurations and services. But it also makes sense, once an application is done, to offer it in all the major packages available - .deb, .rpm, .pbi and so on.
I'd go with Ubuntu but make them do the hard shit, then make them install & use Gentoo for a month
First of all, standardise on a single distro so that the 99% of people who aren't Linux gurus can at least share solutions to problems. It's quite common to have hardware that doesn't work in some way, e.g printers, sound or graphics cards (3D performance), and it will be disastrous if everyone has different distros.
Secondly, I'd recommend Linux Mint - either the Ubuntu or Debian based version. It has a lot of simple but helpful changes for new users of Linux, but the Ubuntu/Debian base means an enormous amount of software is available. I wouldn't recommend Ubuntu these days, as it has too many regressions from release to release, and things that just don't work (had to abandon an Ubuntu 10.04 LTS installation as it froze every day or two for months, probably due to Intel drivers.)
The switch to kernel mode setting (KMS) for graphics cards in the last few distro versions is critical - in some cases this has really reduced reliability a lot, so I'd recommend you research this a lot... I ended up using an old ATI 9250 graphics card to be sure that Ubuntu (or Mint-based Ubuntu) worked properly - however doing this for a whole company would be painful. This is important given the popularity of Intel GPUs on business PCs and the crapness of Intel drivers post-KMS, but perhaps some research will show this is a non-issue with the latest kernels and X11.
The switch of most distros to GNOME 3 and/or Unity is also a big problem - these desktop UIs are very immature and simply don't work well for the sort of desktop usage many people are used to. Unity in particular is a research project that should have been left to mature for 5 years, not pushed into a long term support release - this is why a big chunk of Ubuntu users are switching to Mint or other distros.
Mint has a sane strategy for GNOME 3 which involves recreating the GNOME 2 UI on a GNOME 3 base (Cinnamon project, aka MGSE), as well as letting your retain GNOME 2 if you want (MATE, not yet mature). Most importantly, Mint as a project listens to its users a great deal, so it is less likely to take decisions that screw up the user experience (e.g. Unity.)
One thing I wonder - if someone wants a FreeBSD platform, but the ability to run the Debian packages on them, is kFreeBSD mature enough that it can be used in such an environment?
This article is tagged with various distro names. :P
Windows ME
We use CentOS 6 on work desktops and, apart from an issue with the Atheros network interface ("alx" driver just came out to fix the badness we've had with "atl1e"), it works very well indeed. It comes with GNOME 2 (hooray!), the old-style Sys V init (double hooray!) and has *10 years* of updates now (was 7 years, but just bumped up another 3). If you're looking for a free business Linux desktop with very long term support, it's almost a no-brainer.
Not sure why the first commenter in this thread "despises Linux on the desktop at home" (but then likes it at work - go figure). Maybe they installed a different distro at home vs. work? It should be noted that maintaining CentOS 6 requires a bit of extra work if you want to keep up with the latest LibreOffice, Firefox, Thunderbird, Oracle Java, Adobe Reader and Opera, but these are available either as RPM downloads or you can roll your own RPM (I have a script I wrote that does Firefox/Thunderbird).
...If you learn Slackware, you learn Linux. After playing around with Ubuntu, Fedora, SUSE and a few derivations thereupon, slackware was the only one that really got me into thinking about why certain things are how they are. Most other distros treat you far too gently, and as a result you don't learn more beyond "This command says it failed because I need [y], so let's go get [y]."
I'd probably start them on Ubuntu to get them used to a desktop Linux experience. However, if your goal is to teach people Linux from a systems development/engineering standpoint, you can't stay with any of the top-3 distros. You'll learn about as much about Linux using Ubuntu/Arch/Mint as you will using an Android phone or a Tivo. These distros try to hide away the details of the OS, which is nice for deploying it in schools or businesses, but not good for learning.
Once they're comfortable with the basic concepts I'd switch them to Gentoo, and make them do the full install procedure. If they get really comfortable with it then make them redo it, but now with systemd and dracut, or maybe running heavily hardened. Then have them install prefix on their Windows or OSX boxes. Basically the goal is to keep challenging the basic assumptions and broadening their experience base.
You could argue that Gentoo is less productive since you have to spend more time fiddling with it. However, if your goal is to teach them how things actually work, that is a good thing. You could get by using it as their primary system, but if you don't want to have any drop in productivity they should be doing all of this stuff on a spare PC, or at least they should have access to a spare running Windows/Ubuntu for when they hose their system.
When you're all done you might very well decide to go with some other distro to reduce the amount of fiddling around, but anybody proficient at tinkering with Gentoo is not going to find it difficult to use Arch or Ubuntu. They might end up being frustrated at the lack of control, but if they're comfortable with Gentoo there is no reason they couldn't stick with it.
I'd suggest Linux Mint, and in particular, Linux Mint Debian Edition (LMDE).
http://blog.linuxmint.com/?p=1818
don't bother with slack-current - I checked several ftp servers, and they've only had a couple dozen files updated in the last 8 months. There are distros that get that many updates a day!
It really is, for all practical purposes, dead.
Let's call it what it is, Anti-Social Media.
Best practice in the cloud is to spin up from the default images provided by and with repositories supported by the cloud vendor. As noted, Amazon's EC2 base instance is using YUM and appears to be based on centos. IBM's primary offering is also Red Hat. I was a debian puke until the moment I saw what Amazon was doing and have been centos ever since. So if you want your students to go to Amazon and get a free year of EC2 with a micro instance then help them out by starting with centos; without the gui.
I would stay away from Ubuntu or Mint, I would go Slackware or Gentoo. The issue with picking Ubuntu as a development environment is that is has enough small changes to standard API's and standard device drivers where it's not really Linux development, it's Ubuntu development. There is also a lack of good cross compilers and cross environments available from Ubuntu. All of these issues can be mitigated on Gentoo which is the distro of choice for any real Linux user.
>The impression I got from trying out their distro is that they are a bunch of money-grubbing assholes who need to be boycotted
Um, that's a bit harsh. Mint is the choice of an increasing number of users. Clement was mostly just doing it by himself. At the point where it becomes a fulltime job, why is it so bad for him earn some money?
Google just made a deal to give Mozilla a billion dollars over the next three years. And you begrudge Mint some (by comparison) pocket change?
I, for one, welcome our new Debian-derivative overlords.
I'm not a lawyer, but I play one on the Internet. Blog
Based on the number of users and support systems Ubuntu is my choice for new users. Some existing users haven't taken to the default windowing interface Unity that Ubuntu has created. I believe a big part of that is simply a reluctance to change. For many long term Linux users their choice of distribution has become very personal. Early adopters tended to be very technical and technical people have a passion for their technical choices. New Linux users don't have those barriers to change because they haven't as established personal ties. For them it's a combination of easy to get started and a ready sources of help. Ubuntu shines on both of those. I've been a software engineer since 1964 and a Linux user for over 10 years. I've been on Ubuntu since 6.04. Changing from the Gnome used by Ubuntu to the Unity desktop has had some bumps because it was new and I'd grown accustomed to something else. Any technology has a learning curve. I'm sold on Unity and readily recommend Ubuntu to new users knowing full well that with that recommendation comes an implied commitment to tech support.
Thank a veteran -- George
It all depends on what you are working on.
High level user space -- it does not
matter.
Low level down and dirty there is nothing closer to the bone than Gentoo.
http://www.gentoo.org/
Embedded hardware constraints demands that you know how to
prune and tune the lowest bits. Gentoo is the bleeding edge but
by the time you are ready to ship anything your bits will not be.
Gentoo users demand that all the knobs get exposed.
Desktops for the developers are also important. They need big displays
and a full set of compilers and cross compilers; editors; and other
development tools. You also need full and rich kickstart tool set to load and
reload systems to a known state. Fedora or Ubunto make good desktops.
After your engineers "emerge world" a couple times they will move to an RPM
based system with a smile on their face. You will also find value in a set of build
machines to anchor releases on.
Source code control server is also important: If you do not understand
the list of source code control tool options that is the first anchor to
set in your new project world.
Truth is stranger than fiction, but it is because Fiction is obliged to stick to possibilities; Truth isn't. Mark Twain.
If you are trained to install either one of those, you can install any distro, with a little reading of documentation.
I'm in favour of actually teaching them two distros for different tasks:
First category is either Slackware or LinuxFromScratch to teach people about how the system works and what solutions you can be expected to start at when trying to figure out problems down the road (setting up network, actually taking a look at how automounting works and so on)
Second category is whatever distribution suits the needs for other tasks the most and use it to get stuff done (for instance installing an officesuite or gimp, or setting up apache)
As a third category I really would recommend a BSD-flavour so that people will get to know proper tools (don't get me wrong, I cut my teeth on a slackware/debian combination but BSDs tools really impresses me, especially for networking)
ubunt is very new and always updating with new versions. you'll be ok with an LTS version coming out later this year. Debian is also another good choise as it's what ubuntu is based on and its very easy. however although it spanks the pants off of ubuntu the stable version is dated and the next official release is next year. so if time is a factor and you are learning you really only have two options. ubuntu or CentOS. centos is based on redhat which is insanely stable. redhat as u must know are enterprise class. but centos is nice and free. both debian and redhat based linux have a nice package system too! in terms of window managers and or desktop environments... gnome 3 is still immature, unity is bloat and xfce is meh. metacity is a bit dated now too. maybe worth looking at gnome2 with bluetile, xmonad or OpenBox. -- side note: fedora is goood and so is mint. but the above is my advice. source: me I've tried everything from archlinux to yellowdog. I developed my yellowdog linux on the ps3. 9 years practicle experience
-- David
a fellow instructor friend recommended this a few years ago. www.floppix.com it is linux on 2 floppies!! its made off of debian. but never mind booting off floppy.... you can use any live cd for linux but the website has labs for beginners and common commands. check it out, great for new users
It might seam that it does what you say, but it doesn't. Please read the instructions on how the package upgrade process works. It essentially means creating a list of the applications you have installed, doing a reinstallation of mint, and then using apt-get to reinstall all those apps again. Sure: if you have your home on a different partition and you are very careful you could tell the installer to not format your home, and then you could kind of do an upgrade. But I'm not sure how seamless this would work with encrypted home, it will definitely not work with full disc encryption, RAID, LVM, etc, and you could easily mess up your whole installation and lose your data.
Compare this to the easy upgrade offered by Ubuntu since ages. I don't mean to rant: the points made by Clement in that page are valid: the upgrade process is not perfectly clean. But it does work most of the times (I have never had an issue with it), and it is definitely straightforward and the only feasible alternative to non Linux techies.
Slackware teaches Unix, which is necessary for a complete understanding of the basics.
Gentoo is very complicated but offers unparallelled (and necessary) flexibility. And is the only (meta-) distro which can easily be maintained for years, and on different archs.
Once people know how to use it, they are equipped with dealing with any kind of problem they might encounter on their system.
Most other distros, are surprisingly similar.
* Binary package managers
* Offer only one or two well maintained archs
* Claim to be Easy to use (TM)
* Can often be administered in limited ways without actually understanding what you are doing.
* Hard to maintain over a longer period of time.