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.
MINIX is the way to go. Microkernels ftw
nuff said!
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....
Fedora or Ubuntu!
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
In college, the Linux course offered allowed students to use any distro, but the course was taught towards CentOS (because of its stability), but if students will be using laptops, Fedora might be a better choice.
My favorite Window Manager is fluxbox, but I don't think many students would like that, especially coming from Windows. I remember people liking Gnome when making the conversion back then, but that was on Gnome2 (I haven't actually used Gnome3 much at all, so I can't really comment on it).
I learned the basics of unix on a old latitude laptop that I installed NetBSD onto and then had a friend teach me how to use it. Mostly it was a figure it out sort of thing. The best part of that is you first experience command line and learn to use it and then compile and setup your first GUI and so on and so forth. It was incredibly simple and basic and everything more complex I had to implement myself which is what teaches you everything. Those basic principles are what is important and the comfort with command line is often the first big hurdle to alot of people have with linux. So I would recommend go as simple as possible with a distro that has a super basic install and lots of documentation for you to figure out how to do things with it.
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.
Are the lessons for the general public? Or for the developers?
If it is for the general public, stick with an user friendly distribution...Mint, Ubuntu, Mageia.
If it is for your your internal developers, Slackware or Arch. They will pick it up faster than the general public and they should probably learn the intricacies of Linux, which the user friendly distributions shield from you.
Debian ?
very stable, easy to use, alot of support available and available for almost every platform.
I like Puppy Linux. Its easy to install or save and run from a CD. Its very light weight too.
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?
You're migrating to a Linux - teach from that Linux. Or if you have to teach from another, ask what you're teaching. If it's all command-line work it doesn't matter in the slightest. If it's GUI work, then don't waste time with default Ubuntu (Unity will throw people off if they're coming from a Windows paradigm) and don't waste time with GNOME Fedora (GNOME 3 will also throw people off if they're coming from a Windows paradigm). Either use Kubuntu (don't, it's a rubbish KDE distro), put KDE onto Fedora, or go for openSUSE instead which does a nice KDE and is pretty straightforward for Windows users to pick up fast. That way you don't have to teach some esoteric display manager while you're also teaching them about how the OS is different to Windows.
If you have to use one of Ubuntu, Fedora or Mint then I'd recommend Mint; they try a bit harder to make everything a soft landing and give you the option of an interface that isn't shit. Fedora is defiantly bleeding-edge (and GNOME 3 default), and Ubuntu has basically zero advantages over Mint and the disadvantage of Unity.
http://www.linuxfromscratch.org/
That'll learn em.
http://www.linuxfromscratch.org/
This is the best for learning. BUT, im not sure this is best for the general population. As a IT person, slackware is responsible for me learning quite a bit. For help with learning from others, the ubuntu commuinity is right up there.
Dselect in debian was the most confusing package manager I've ever seen. Still to this date, my friend and I joke about Dselect. I think you should use Debian, and teach them how to use Dselect, I'd join that class...
Seriously though, Fedora is good. I liked it better than Ubuntu. I'd go with SuSE, that is some hardcore shovelware.
Don't cripple these poor folks by teaching them some deviant flavour that does everything differently. Give them real linux - slackware linux - so they can learn linux - not your pet distro - please.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
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.
Molesting a dead horse Linux, version 1.0
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...
Mint 11. Nothing newer.
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.
I had to teach a short intro to Linux course in college while I was a student, as the CIS instructors had NO Linux experience whatsoever, and they wanted to expand their knowledge as well as the students (strange enough, I was the only student who had Linux experience - I had been using it since Junior High). I used both Slackware and Redhat at the time, but this was about 7 or 8 years ago. My primary recommendation would be Slackware for core fundamentals; have everybody go through a Slackware install, setting up X, and installing a number of apps and getting used to working with Linux in general. Then, let them research the distributions and have them pick one, doing a little hands-on help where needed, assuming the staff isn't too large.
As far as WMs go, KDE or Gnome are common enough to work. Make sure, if you're using Slackware, that they are manually building it, as that's something they'll need to know. You could also go with some slimmer stuff, but using something more "full featured" will give them a much better idea of the intricacies of utilizing and configuring software (not to mention deps, deps, deps!)
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."
The three mentioned in the original post are quite popular, but they have wildly different interfaces. Fedora comes with GNOME Shell, Mint with their classic-style GNOME and Ubuntu has Unity. Those interfaces are so radically different from each other I have to wonder what the poster is trying to accomplish. Assuming they just want to introduce Linux to the non-techies at the company and have them make a smooth transition from another operating system I'd say Mint is the obvious choice of the three. It has a nice, classic look which should be passingly familiar to people coming from Windows and OS X backgrounds. Fedora and Ubuntu both feature desktop environments not found elsewhere (or in very few distros) so they make poor demo distributions.
I recently asked myself the same question. Setting a very small lab for new computer users, using some version of Linux. Everyone just assumed I would use Ubuntu, but I've tried a couple of times to use Unity and that is definately not working for me. Not ready to teach people using the Unity or Gnome 3 desktops yet. Although if forced to would clearly take Gnome 3, which is fine even if it does need a bit more work.
Due to one piece of software that was packaged up nicely on Debian, (openshot video editor) that we are going to use, Debian was the clear solution in our case. Of course yours is different. I would have preferred to use Centos 6, which has a longer and more predicatable life span but getting that program running lead me to dependency hell.
The stable Gnome 2 desktop on Squeeze was the main factor, and knowing I won't have to face a major upgrade for at least two years.
They're pretty lightweight and reliable versions of Ubuntu without the annoyance of Unity or poor display support.
Essential System Administration from O' Reilly.
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!
Debian, it's the predominate base distro from which other distros are derived. RH or CentOS if you are in an environment which you have to support that closed confining distribution family.
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.
Troll question is obvious.
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.
Smart move - moving to Linux.
I highly recommend PCLinuxOS Mini as the base system and then add the necessary development tools afterwards. This way the developers have a KDE desktop for mundane office productivity tasks without a significant footprint on the computer. The command-line is easily accessible via Konsole and the development toolchain either accessible via command-line or within an IDE on the desktop.
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.
Choose something that has a minimal amount of tools and kernel complexity so it would be fast to learn. If you choose a big OS, with a everything hiding GUI there will be zero learning. I am not much of an expert in linux, but I would suggest OpenWRT. It has packaging and it is very simple. When need a gui, you can use web interface.
Unless Aunt Tilly is representative of your development staff, keeping her happy probably isn't that important.
Have gnu, will travel.
Study Tiny Core for learning linux but use Debian for learning linux software development. Also, coLinux is worth considering for transitional development. ( more sensible than Cygwin)
LFS is the way to go for teaching people that are working in the embedded space. That shouldn't be their actual development workstation though, just a teaching tool. Or you could just teach using whatever specific distro will be used for the embedded projects that you work on.
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);
You're at work and not home - Use what IBM will support - RedHat or OpenSUSE. Also CentOS close enough to RedHat that you can basically learn one of them and know the other. At work I use IBM DB2 that requires RedHat to bet IBM support, but use CentOS for the 15 web app servers running Java/Tomcat that connect back to 1 DB2 database sever.
a friend and fellow instructor told be about this site years ago....its still there!!
www.floppix.com
its linux on 2 floppies!! it runs debian but the best part on the site is that it has labs for beginners and some basic commands are listed there. check it out.
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.
If your goal is to introduce someone to Linux as a desktop environment, it is tough to beat Ubuntu and Mint. If you want your students to learn how to USE Linux, you must put them in front of a distro that forces them to interact with the command line, learn commands, and learn to compile/customize/configure their programs and kernel.
From the sound of what you are doing I would pick Mint, it is the closest to Windows with lots of nifty bits and is eminently user friendly. You trade off a lot of power for the advanced users, but the marketing department isn't even going to know those features are missing to begin with.
As said in the title: teach them Debian stable with KDE. Debian stable is rock-solid, you won't encounter random breakage like Ubuntu is notorious for, and if you start people on KDE, the users will have access to a malleable environment that can be made comfortable to them without having to resort to extra programs and under-the-hood config hacks like is often required in GNOME and Unity.
It also has the benefit of providing a consistent look across Qt and Gtk apps thanks to Oxygen and Oxygen-gtk themes, so you can use the best application available for any task without having everything end up ugly and inconsistent, which should be more appealing to newer users.
Seems like that would be more helpful.
I would say debian for prototyping, because it just works, and fedora, because that's what the big guys are using "inside" ;-)
...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!"
1) Everyone should start gently, with something like Ubuntu.
2) Developers should try using a more complicated distro. like Slackware.
There is a lot you can learn. Try to learn and use as much bash as you can, learn a few more tools. Remember, there isn't anything doable on any other system that isn't doable on Linux (anyone who argues: you can point them to the words "Turing Complete", and if they don't understand, they don't know much about computers). But finding out how to do something can be a bit of work, so grok google, ask questions, and go with the idea that its all possible.
with embedded linux, I'd go with debian. Sure its not cutting edge, but its rock stable, and probably one of the largest package repositories there is, combine with more portability than netbsd, and proven track record on ARM, with ports to mips and other commonly used embedded archectures. Debian can give you a common development enviroment and user experiance cross platform. If newest packages are not a neccisity.
Debian isn't great for the general unwashed non-nerd types. Nor is it great as a desktop. I'd recommend Mint on the desktop. Actually I would have recommended Ubuntu, but unity is fail. Mint seems like a nice way to give a good user friendly, non-inimidating way to say "this is linux and this is what it does" to non-techies, and good alternative to mac OS X and windows desktop.
Server OS is really a shake up and it depends on what you want to serve. SLES, RHEL, or even debian for production work, and Arch Linux or Gentoo for a development enviroment or non-super "super"(read using in the role of a "super computer" albiet on a much smaller scale, renders, compiles, rainbow tables, etc..) computer type setup.
"Expert" Distro to teach thoose who really want to "know linux" and otherwise be initiated into the cult, try Arch Linux or Gentoo. Some people like Slackware, and I am not knocking it, but I do not feel it fits a role in my continuum of operating systems and distributions, Personally I run:
Desktop/laptop - Ubuntu, Mint, Arch Linux.
Server - Debian, Arch Linux.
Embedded/mobile - debian
"Special Project" - Arch linux, Debian
Experimenal - OpenBSD, Gentoo,
I would suggest Debian...
You're not likely to reach consensus here.. just pick one and go with it :)
I would recommend a usable user-linux. One you do NOT have to open a terminal and use a command-line in. Going into the mechanicals any who want to can do later on any distro. To start people you want to give them a system they can use to do things they want to do.
My first recommendation would be a recent, not cutting edge, Puppy Linux. Give each participant his own CD copy to load and run with you in the intro-class session, and to take home, to play and practice with. Puppy works on just about any PC or x86 computer without over-writing or wrecking anything, and with a half-gig save-file, anywhere there's room, runs as fast and smooth as any distro.
For a company installation multi-users same programs system I would recommend a user-friendly basic distro with good information backup: PC-Linux, or maybe Mint.
Remember, only about 1% of us are computer-mechanics. Another 10% want to change their own oil and plugs, the rest just want to drive where they need and when they need.
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.
I suggest CenOS or Debian, as they are stable and have long release cycles. OpenSUSE makes sense if you're a SUSE house.
Basically it will depend on your server infrastructure.
Are your servers running a variant of RedHat, Debian or SUSE ?
Decide accordingly based on the above.
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!
I'm using Sabayon (a Gentoo variant with binary packages) now. I wanted a bleeding edge rolling distro, but I didn't want to spend my life configuring it (Hey, I stated out on MCC; I've already cut my teeth). Sabayon is great. It gives me 90% of what I need and stays out of my way for the other 10%.
I think for the average person virtually everything is set up. I've run into the occasional problem. My USB DVD burner wasn't recognized properly on install (though it works fine after install). This was a hassle, but probably rare. I also had to manually configure ibus for Japanese input. The last problem I've run into was that some ruby libraries don't seem to be set up correctly (and ruby 1.9 is missing entirely). But maintaining my own ruby infrastructure through gem is quite easy.
I'm much happier with this out of the box than both my Ubuntu and Mint setups.
they didn't get the memo, and then they missed the party and now they are trying to get into the afterparty (is that one word or two)
bare metal
The first thing you need to do is define a corporate standard. Presumably, all your employees are not capable of acting as their own sysadmins, and presumably you don't have an abundance of available technical staff time to provide admin services to your employees. To solve the former problem in light of the latter constraint, you are going to have to minimize the number of variables you have to support. Not only should you standardize on the OS, you should also standardize on the basic productivity tools that you expect all your employees to use. You don't have to force employees to use the standard tools -- just tell them they have to support themselves if they elect another product. "With great freedom comes great responsibility". Those with the willingness to take responsibility to try new things are great resources to harness for evaluting new products and new product versions for possible roll-out company wide.
You are at a disadvantage because you are going to move employees already using Windows to Linux. That's a harder sell. The question they will have is: "what benefit do I receive for going through the pain of the learning curve?". It's quite likely that for the individual, the answer isn't very compelling. I would recommend that you find some external variable upon which to "hang" the roll-out of Linux desktops. Perhaps it's a new faster computer. Or the avoidance of a major Windows OS upgrade (which would have its own retraining cost to each employee comfortable with an older version). Such a change that takes on some personally perceived value, or at least a "wash" in pain, will be easier to execute successfully.
BTW, you should also have a strategy to maintain some change control over your build tools. Take a look at pbuilder, buildroot, or one of the other variations on the "tools in a chroot" that serve to actively manage tools over time as well as isolate them from desktop/server OS dependencies. We built our own that we call buildbox. It takes some work to initially set up, but the benefits are significant.
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.
First, the honest point: I cut my teeth on Slackware, but the last time I wanted to give a non techie a solid Linux, I went with Mint Debian edition. For myself, I typically run Debian stable for as long as I can stand after it comes out, and then move up to testing until it goes stable again in cycles.
I use Awesome WM, and mostly work on the command line.
I in the past few days I have been experimenting with GNOME 3 just to see what all the noise was about. It is actually pretty, and fairly coherant. It also really does have a lot of design decisions that I find annoying when I actually want to get something done. (If I wanted my existing terminal/browser/whatever, I would have just clicked on in directly instead of going into the application menu!) It's beautiful and acts like an obnoxiously sweet friend who knows that you can't possibly have meant that thing you just said, so she's going to change the subject before the joke stops being funny...
From this I can only conclude that the GNOME team knows precisely what they are doing, and that people migrating from Windows are going to love how easy and intuitive it is.
Best of luck!
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.
Use Lubuntu. it has LXDE and is fairly fast. It pulls all updates from Ubuntu.
Mint is good for having a lot of the media tools built in but I've found less updates available after time without migrating.
Ubuntu's strength is in its forums and general search engine hits.
The other things that are more important is getting people migrated to the actual user software:
LibreOffice + gimp + inkscape +gnucash (accounting team)+ firefox +thunderbird (maybe evolution depending on calendar uses). All of these should be installed on the windows machines before migrating to linux.
Now for extra credit.... Set up a central server and install LTSP (linux terminal server project). Then everyone boots off the network. All the desktop machines have HDDs etc removed. Completely silent office. For a quick test of how that system works download a livecd of Edubuntu and boot on one machine and pxe boot others on the network (there's a menu item for ltsp). Now your cost to scale the company IT hardware just went way down. Ten year old salvaged machines can drive a monitor and get work done.
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.
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.)
Yeah. You're probably going to get about zero conversions from this site.
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?
To *TEACH* linux you want either the bootdisk howto or LFS
Else you might as well just use widows....
Teaching about cars is about looking UNDER the hood,
teaching about operating systems should be the same
This article is tagged with various distro names. :P
Windows ME
I've always been a hardcore Fedora man, but the new version of GNOME is so bad I've now started using Ubuntu on new machines. So, either use Fedora 14 (that still has a usable version of GNOME), or go with Ubuntu.
There is a great site called DistroWatch which trys to maintain a database of all linux and bsd distributions and allows you to discover and compare them in different ways.
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).
As stated previously
Learn Debian you will know Debian
Learn Redhat and you will know Redhat and have main stream support
Learn Slackware and you will know Linux and still have to figure out Redhat in the end.
...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.
In a company you should use a rather stable OS. Fedora and Ubuntu are constantly trying to be bleeding edge, which has its own advantages but for a development company like yours I would suggest you use something Debian-based. Like Linux Mint Debian Edition. It uses the 2.x Gnome IDE which is quite stable too. It is a rolling release distro but uses stable packages by default as far as I know.
I have been using Linux for some time; AND came from extensive Windows background as a user/ systems administrator. What I believe is the closest transitory OS for users is Linux Mint 12, with Cinnamon - Sessions. From a users perspective: It has similar display's to Windows (Out of the Box). With adding Cairo, the user has the feel of MAC OS X. This reduces the learning curve, as it relates to OS display properties and controls. The Gnome 3.2 platform allows for further customization's that are available from the world of Ubuntu and Fedora. I am not quite sold, however on KDE.
One of the draw-back, in my opinion to Ubuntu is the Unity mode, most notably the up and coming release of 12.04 LTS. It 'assumes' that the user would have for for knowledge of the applications to use search functions to retrieve and activate (Run) them. My suggestion is for you to consider MINT to reduce the training requirements for users.
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
Anybody that doesn't suggest Arch Linux as an option deserves a slow and painful, anal death.
QED.
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.
Either Ubuntu or Slackware, depending on whether the people you want to teach are basic end users who just want to learn a GUI desktop as quickly and easily as possible, or power users who really want to get to know GNU/Linux. Ubuntu is by far the best choice for the newbie who doesn't want to learn any more than the minimum necessary to get working: Google for solutions to simple GNU/Linux problems and you will be hit by an avalanche of Ubuntu solutions, with far less support for other distros. On the other hand, solutions to more technical problems will be pitched at various different distros (often still Ubuntu, but distros like Arch and Gentoo seem to have more users discussing the more obscure issues that power users deal with); however of these Slackware is the best for learning, because it is the most "generic" distro, with very minimal patching of source tarballs, very simple and easily understood boot scripts, and so on. Learn Slackware and it is easy to move to another distro because you will have learned to use the core OS (you'll know which config files are relevant and how to edit them) whereas it doesn't go the other way around: learn another distro and you are likely to become dependent on the distro-specific tools that they layer onto the basic GNU/Linux core, and may be lost in another distro.
The people recommending "Linux From Scratch" and "Gentoo" are not thinking clearly: users who are new to GNU/Linux will not understand what they're doing as they follow the instructions to build these distros; they will simply follow the instructions and waste an enormous amount of time to end up with a minimally functional (LFS) or very non-standard (Gentoo) distribution. None of this is useful for learners. LFS and Gentoo are fine for experienced GNU/Linux users who want to play, but they're a silly waste of time for beginners (despite the fact that so many beginners think that their ability to follow a long list of instructions means they know Linux: give them a few basic tasks in the shell and you'll see how much more useful it would have been to have spent those wasted hours learning on an already built and working system).
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)
Ubuntu Fedora & Mint are full of bugs and will scare any first time user off.
These days I wont touch anything other than Debian or Cent OS.
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
I work at a small company, and non techs will be allowed to install distro of choice ?
Almost as funny as the guy who said, you should use debian or gentoo cause you will spend many many painful hours learning stuff that windows handles flawlessly.
Same logic, every morning , you should go out, and measure the air temp and humidity, and learn to program the ignition system and timing on your car for optimal performance...oh , wait, the cars embedded does that for me, why should I waste my time on that....[sound of jaw hitting floor]
Yeah, spendiing hours to get something that windows does flawlessly is so worth it the learning experience.....
Someday, if not already, someone is gonna do a really funny youtube parody of hte linux fan boy... Look at me, I just spend 12 hours trouble shooting why my printer didn't work...
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.... the website has labs for beginners and common commands.
check it out, great for new users.
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.
TOMOYO (is not a distribution's name but is a kernel module which can record the Linux system's behavior and show you the result) will be very useful for learning how Linux systems work. TOMOYO can run on any distributions.
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.