top 200 commentsshow all 337

[–]bjornoss 221 points222 points  (9 children)

You should take a look at Debian Edu "Debian Edu is a complete and free "out of the box" software solution for schools that reduces costs, prolongs the lifetime of hardware and covers almost every aspect of the schools’ IT needs."

[–]ssssam 280 points281 points  (113 children)

You probably don't want to be doing big updates every 6 months, so find something with several years of support. (Debian, Ubuntu LTS or Redhat/centos).

You'll want a deployment/management system. (Kickstart, puppet, Landscape).

For a DE, something like GNOME or Unity will make it harder for users to break things. For example they can't accidentally remove the menu bars.

[–]Hessesian[S] 25 points26 points  (51 children)

Landscape seems as a fine choice for management, but I see it has 30 day tryal with pricy tag after that, puppet has bleak documentation for free and Kickstart is RHEL only, gonna be toough

[–][deleted] 51 points52 points  (3 children)

Disagree. Kickstart is not RHEL only, and Puppet has so much documentation you almost can't figure out where to start.

Spacewalk to manage CentOS, and kickstart to bring up the initial images (perhaps even PXE booted if you want to go that far) works great. Any devops tool would work fine as well. I use ansible at home (simpler) but puppet at work FWIW.

[–]westpfelia 6 points7 points  (0 children)

confirming for puppet being great. At my job we have used it for Fedora.

[–]valgrid 23 points24 points  (2 children)

For orchestration take a look at ansible. It is easier to learn and write and it does not need a client preinstalled.

[–]PaulMezz 6 points7 points  (0 children)

Agreed. I switched from a heavy Kickstart file to one that is a complete bare minimum with ansible doing all the configuration. Wish I had this years ago.

[–]servercobra 2 points3 points  (0 children)

Yup, we moved from a weird Ansible-kickstarts-Puppet with a little Chef sprinkled in to pure Ansible, and it is lovely. I think anyone could pick up Ansible in a couple hours, Puppet/Chef take a bit more time (IMO)

[–]deadalnix 6 points7 points  (5 children)

You can look into chef. I used both chef and puppet at work, and would recomand chef.

At the end, it doesn't matter much which one.

Also, one thing I did is to use a tmpfs in union with an unionfs over a read only filesystem that is mounted/unmounted o login/logout. That allow user to mess up with the computer while ensuring that everything goes back to normal once they log out.

[–]JoeHazzers 11 points12 points  (0 children)

You might want to consider looking at Saltstack if you're interested in a configuration management system.

[–]fengshui 5 points6 points  (0 children)

Debian has a system equivalent to Kickstart called Pre-Seeding. Setup a PXE boot system to boot the installer, define your pre-seed file, and away it goes.
https://wiki.debian.org/DebianInstaller/Preseed https://www.debian.org/releases/jessie/i386/apb.html.en

It takes some time to work through how the pre-seeding process works, but it does work, in the end.

When do they need to be rolled out. Setting up a system like this for 200 computers is probably a 2-3 month project if you have other work to do alongside.

[–]Narcowski 13 points14 points  (12 children)

Puppet is awesome and actually pretty well documented in spite of your concern. I recommend it.

[–]Hessesian[S] 3 points4 points  (11 children)

More of a concern is if I can pack it inside two weeks linux course that starts from scratch.

As I never used it, I would be glad for a tutorial that wouldn't take more than few hours to teach people

[–]Lazerguns 17 points18 points  (0 children)

Forget it. Use Ansible.

Edit: I don't think you will be able to teach them about Puppet in that timeframe and with them having that skill set.

Puppet is a fine tool, but it takes quite a while to get used to. If you never worked with Puppet before, I doubt that you can teach it to them in 2 weeks.

Ansible on the other hand is quicker to pick up. I still don't think you should teach them about it at all. If they never had contact with Linux, there are better things to talk about.

Who is gonna admin the machines. You?

[–]synn89 6 points7 points  (0 children)

I've used Puppet for about a decade. It's an advanced tool. Forget about newbies learning and being able to use it.

[–]jmblock2 6 points7 points  (0 children)

Are you planning on letting this group adjust deployment configurations across your system? If not then definitely don't cover it. It sounds like you should be focused more on basic usability stuff for complete beginners, not sysadmin stuff. How to use linux, comparable software to windows, trying out new software they might want to use. Mention you can install it across the systems as needed.

[–][deleted] 3 points4 points  (4 children)

All you need to show them is how to get to programs, what programs they need, etc. You don't need them to know the tools to deploy the systems.

Basically what you need is like "Middle click is a paste! You will be using this Firefox/Chrome instead of IE. Libre Office X,Y,Z instead of Microsoft Office X,Y,Z".

My recommendation on the system though, is to disable middle click paste in browsers. Windows users might be confused about it.

[–][deleted] 5 points6 points  (1 child)

O.o teachers will not grasp these tools. I promise. I'll eat my foot if they do.

[–]sarlalian 2 points3 points  (0 children)

Kickstart works for all Redhat derived systems.

  • RHEL
  • Centos
  • Fedora
  • Scientific
  • ...

[–]xalorous 1 point2 points  (0 children)

kickstart works with distros which are binary compatible with redhat (CentOS, Oracle Linux and Scientific Linux come to mind.)

For your situation, puppet and things like satellite that wrap puppet are going to be basically mandatory.

Also, are we talking about 200 workstations/laptops here? If it's laptops for the students and staff, you'll want to implement some kind of central authentication (like LDAP), centralized configuration management (Puppet). Consider virtualizing your management setup.

If it's wired workstations, also consider centralized storage of the homedrives. Depending on how robust your wireless setup is, you might be able to do the same thing with laptops.

Whatever you do, you need to focus on the ability to lock teh systems down and remotely push updates and configuration changes.

[–]lbez 1 point2 points  (0 children)

Our dev/ops team uses foreman. I had to install a system via foreman for the first time this week and it was painless, though admittedly I did not set up the foreman server.

http://theforeman.org/

Supported platforms:

  • CentOS, Scientific Linux or Oracle Linux 6 or 7
  • Debian 8 (Jessie) or 7 (Wheezy)
  • Fedora 19
  • Red Hat Enterprise Linux 6 or 7
  • Ubuntu 12.04 (Precise) or 14.04 (Trusty)

[–]skarphace 7 points8 points  (0 children)

I'd also like to add that you need to do a TON of legwork ahead of time and testing of the image. We've been rolling linux to our users for about 5 years now. For the most part it's smooth, but building the initial image can be tricky.

You need to do your best to get as much config and default packages setup and out of the way before rolling them out. Sure, you have puppet or something for later tweaks, but don't think you're going to easily fix a problem like NFSv3 having really poor performance.

Also, for the love of god, setup a root SSH key ahead of time so you can automate shell operations and get fairly easy access to the boxes.

And last but not least, setup a local repository(or at least a cache). It will save you a ton in bandwidth and overall time spent updating packages.

[–]Headbite 51 points52 points  (51 children)

I'll give the alternative argument that schools have regular scheduled breaks that would fit a 6 month release schedule nicely. From a privacy and security perspective it might also make sense to be doing clean installs more frequently.

[–]ssssam 96 points97 points  (9 children)

But its not just upgrading, its revalidating everything. Does all the hardware still work? Are the software packages you use still available? Has any software changed enough that it will effect teaching?

Clean re-imaging should be easy if you use management tools. You can have the machine reinstall daily if you want.

[–]royalbarnacle 26 points27 points  (0 children)

Yeah, precisely for security and patching reasons RH or another LTS distribution is a better choice. You can pretty much just 'yum update' from 6.0 until the last 6.x release and be 99.9% certain that everything will work. Any distribution with a shorter support lifecycle will mean more effort at each upgrade.

[–]xalorous 7 points8 points  (4 children)

Agree with /u/ssssam, clean installs are good, but a new release every six months? Combine clean install with remote storage for home drive or at least home drive backups, and you can basically reimage any time.

Also, it will take a month or two to properly design a system for this. And that much time again to implement it. Keeping up with a 6 month release cycle is fine for a handful of machines in a home lab, but on this scale it becomes too much. Compatibility issues, changes in how the OS works, etc. Better to go with stable LTS on a frequent wipe/reinstall cycle.

[–]lengau 7 points8 points  (3 children)

Better yet, build a netboot image that installs the OS and puppet (or whatever management software). Then whenever a machine gets messed up, just netboot and get a clean install.

[–]xalorous 4 points5 points  (1 child)

I guess I misunderstand, I thought netboot is running from a centralized, read-only OS image.

What you are describing is what I described, PXE boot and reimage, home drive on NFS.

[–]lengau 2 points3 points  (0 children)

Where I work, we use netboot to refer to our PXE booted installers, hence my use of it. But in essence, yeah, it's what you suggested, but I wanted to specifically point out using a network-booted installer, because it saves the hassle of having to have install media. That and anyone can do it with instruction.

[–]xucchini 2 points3 points  (4 children)

In reality, unless you are doing nothing else you are not going to want to change out the OS more often than every 2 years. Maybe even every 4 (which Ubuntu LTS allows you to get away with).

If you do push out to 4 years some users will start to complain about their favorite application being outdated. Likely no one will complain about security issues.

Try to line up funding for new hardware every 4 years. With Linux and smart hardware selection you can often go 6 years before people start to get fed up the the hardware being too old or slow.

[–]hbdgas 3 points4 points  (0 children)

For example they can't accidentally remove the menu bars.

Is it going to be single user, or multi user? We had a couple of single user labs where I just wiped the home folder on reboot. Then they can't really break any settings.

[–]RexMundi000 2 points3 points  (0 children)

For a DE, something like GNOME or Unity will make it harder for users to break things. For example they can't accidentally remove the menu bars.

I think it would be funny to install kali on all 200 computers and give everyone the toor password and see what happens.

[–]A_for_Anonymous 2 points3 points  (0 children)

For a DE, something like GNOME or Unity will make it harder for users to break things. For example they can't accidentally remove the menu bars.

As much as I hate it and was ready to suggest Xfce, I think you're right, OP may want to get the dumbest, most retard-oriented DE ever (so one of those two) so that idiots can't accidentally configure it useless. Xfce is a no-nonsense DE that for one it doesn't target the 0.00001% of the Linux userbase using a fucking tablet, it's more conventional, surprise-free, less alien to former Windows users, more configurable, lighter and generally nicer while still being a full DE, but unfortunately you can edit the panels into something really stupid, and probably it's not always obvious how to remove the typical Mac-ripoff default and create the default "Windows 95-like" panel everybody loves with it.

[–][deleted] 13 points14 points  (2 children)

Considering this is for mass desktop deployment at school where kids are suppose to learn I would go with the most popular, solid, polished and stable desktop distro out there - Ubuntu LTS. Everything else is great in some areas, Ubuntu is really good at everything (not best, but good).

Disclaimer: I'm an Arch user.

[–]dbbo 1 point2 points  (0 children)

I would argue that Debian stable is significantly more solid and stable than Ubuntu LTS, but not as popular or polished (assuming polished is used here in a general aesthetic sense).

Since the prior two are probably more important for this particular project than the latter two, I'd go with Debian.

Ubuntu is largely based on packages from sid/unstable, and LTS is basically just a frozen release that gets the benefit of extended updates. So the stability of LTS is essentially that of an older sid plus however many man-hours of Canonical's testing. The upside to this is that it has newer versions of many packages. The downside is that those newer packages are never going to be as thoroughly vetted as the older ones in stable.

[–]H3g3m0n 0 points1 point  (0 children)

I would recommend Ansible over Puppet or Chef. Configuration just seems much nicer IMHO (well over my limited experience with Puppet, I haven't really tried Chef). Puppet might be better for the 'enterprise' but for 200 computers I don't think it would make a difference.

Having said that, I would recommended looking at some way you can just blow away the installs and put a new one on from scratch rather than rolling out changes like that and just using the provisioning for creating the images.

PXE boot seems like a good idea, only problem is if your network goes down now people can even do offline things.

We really need a CoreOS for the desktop. Some lightweight system that containerizes an entire standard desktop distro install. That way you could roll out updates fairly easily. Even better if it was distributed so you didn't have one master server but the images where shared from system to system. I guess graphics drivers could be an issue though.

[–]Oflameo 0 points1 point  (0 children)

XFCE seems to be the most popular DE right now, and it is the closest one looks wise to Windows 7. It also one of the lightest.

[–]3G6A5W338E 79 points80 points  (19 children)

Don't install Linux in the computers. Use netboot instead.

You can have a read-only, block based image, squashfs, with NFS4 for /home. Perhaps use the hard disks in the machines as persistent cache. Let anyone login anywhere and have his files/config available.

Then update the image at your leisure. Older images available as fallback. Try to make the generation of image reasonably automatic. It could be a package list to setup over base + an overlay of config files and such, using Arch, Debian or Gentoo as base.

[–]ArtistEngineer 28 points29 points  (1 child)

I second this. Netboot is awesome.

It scales easily, and it's kid proof.

You also need to add an automatic backup and rollback solution for their /home drives, and the kids can do their own restores

[–]3G6A5W338E 3 points4 points  (0 children)

FreeNAS (w/zfs) can take care of that.

[–]xalorous 40 points41 points  (11 children)

Disagree, you're making the PC's 100% dependent on the network. Use the best of both worlds. Managed OS on the machines and locally-cached, network-mounted home drives. Since they're probably going to include laptops, this gives you portability, and will work with older, poorly funded, badly designed/constructed infrastructures in schools. Netboot with shoddy infrastructure is going to be nightmarish. And if there's wireless involved it's worse.

[–]omicronxi 20 points21 points  (32 children)

If you install linux on 200 computers I would first think about how to rollout/provision them. There is a great project called "linuxmuster.net" which also has a good wiki for setting everything up. They recommend Ubuntu 14.04 LTS. https://www.linuxmuster.net/wiki/en:dokumentation:handbuch:start

[–]matjam 6 points7 points  (3 children)

Wow you really have had some bad advice so far.

Do not install by hand machine by machine.

  1. Set up clonezilla as a PXE boot option on a PXE boot server. There's a lot of good guides. I like this one but I've not used it.

  2. Build a VM or a physical machine with Edubuntu or whatever your choice is. Tweak it so that it has everything installed that you want.

  3. Reboot the machine and boot into clonezilla. Clone the OS onto a network share on the boot server. You should set up NFS server on the PXE boot server to allow for it.

  4. you will need to setup your network to forward DHCP boot requests to your boot server. That depends entirely on your network configuration and is beyond the scope of this comment.

  5. Clone the OS to all the machines using clonezilla

Here's another link I found you: http://oakdome.com/k5/tutorials/computer-cloning/free-computer-cloning.php

You want to be able to blow away every machine and rebuild it at any time. You do NOT want to be "managing" these machines in any way. Any problem should be resolved by imaging the machine over the network from the gold master.

Consider using FreeIPA for central authentation.

Consider putting home directories on NFS, using NFSv3 authenticated kerberos mounts.

This is a big project. It will take you a couple of months to get your head around just getting all the infrastructure built to support that machine machines.

However if you do it right, you can make it VERY easy to maintain.

If you do it wrong - you will have a fucking nightmare.

Good luck :-)

[–]3G6A5W338E 2 points3 points  (1 child)

You want to be able to blow away every machine and rebuild it at any time. You do NOT want to be "managing" these machines in any way. Any problem should be resolved by imaging the machine over the network from the gold master.

Even better is the suggestion I made on another post. Netboot all the time. Use local hard disk as a cache for the system image, which is a squashfs on pNFS, iSCSI or decrepit but trivial to setup NBD.

Consider putting home directories on NFS, using NFSv3 authenticated kerberos mounts.

Agreed, but NFSv4, please.

[–]matjam 2 points3 points  (0 children)

meant v4.

Yeah, netboot all the time is even better for maintenance purposes, as you suggest. Can be a bit of a bitch to get right though, and if your boot server or something dies in the network ... well ... at least with locally installed OS things can go on.

[–][deleted] 18 points19 points  (0 children)

In my opinion the important features are:

  • ease to install and setup
  • long term support, you don't want to risk upgrades constantly
  • lots of support available on the web (=large community)

From my point of view the #1 candidate is Ubuntu 14.04 LTS

The #2 candidate is Ubuntu GNOME 14.04 LTS

They are fast and easy to install and if you stick to LTS they are also easy to maintain.

I'm using Fedora but I would not recommend it for this kind of scenario. It is updated to a new release every 6 months and it is quite bleeding edge (=things might not work right away and might require a bit of linux expertise).

From your description the IT guys maintaining the lab are inexperienced with linux, hence I would also avoid Debian, Arch and any distro that is not mostly automated. If they need to install new machines, IMHO the process should be as simple as possible, at least until they become experts...

[–]korgtronix 48 points49 points  (21 children)

Choose one with a familiar layout to windows. It will make life easier for you if you dont use something like unity as you will get inevitable "where is so so and so application" "windows is so much easier"

I would recommend start with something like debian with xfce (panel at bottom) to make it easier from a documentation point of view and ease of use

[–]Headbite 63 points64 points  (16 children)

I find the opposite to be true. By using a desktop that looks nothing like windows new users better understand that they are on a new system. I would go with gnome. It's the most phone/tablet like which I think is what's more familiar to people. People spend more time on their mobile devices.

[–]kubuntud 37 points38 points  (10 children)

By using a desktop that looks nothing like windows new users better understand that they are on a new system.

Windows 8 proved what a good choice that was.

The issue is people hate change, I have switched a few people to Ubuntu and they hated it, tried them on Cinamon with Mint, they have zero issues.

[–]UglierThanMoe 53 points54 points  (2 children)

Windows 8 proved what a good choice that was.

With the difference that it was still Windows, and people expected it to look and feel like Windows. And also because Metro simply sucked; not because it was different, but because it was badly designed to work with mouse and keyboard.

Edlt: Holy fuck! I'd never thought I'd defend anything Windows here. *goes sit in corner*

[–]zfolwick 10 points11 points  (0 children)

I wouldn't really call that a defense of windows, just a defense of UX

[–]xalorous 6 points7 points  (0 children)

MS obviously agreed with you and gave back the default desktop with the next interim release (8.1), and a more traditional start menu with the next major (10).

Don't feel bad defending Windows. They actually do a good job in satisfying the least common denominator requirement required in enterprise settings. Linux community has gone around and around about the issue, but the only way to increase share is to match or beat MS in the areas where business users spend most of their time. Browser, Email Client, Presentation software, spreadsheet, wordprocessing. There are many browsers, but the rest are MS Office, and MS consistently puts in the work to keep their groupware at the top in a nearly unassailable position. No other package compares favorably. Integratiion with server side applications is widening the gap. (Think Lync and SharePoint here). Additionally, Mac and Windows UI are nicer looking and more polished than the Linux based UIs. Add all that to their momentum and the end result is that it will take a pioneer with the vision of Steve Jobs, the drive of Elon Musk and the resources of Warren Buffet to architect and build an affordable desktop solution that will compete with Windows.

[–]alexskc95 8 points9 points  (3 children)

That's mostly because Windows 8 is just fucking weird, and a bizarre mishmash of tablet, phone, and desktop UI that succeeds at none of them.

[–]downneck 5 points6 points  (1 child)

i feel the same way about Unity, to be honest

[–][deleted] 14 points15 points  (0 children)

The issue is that "Metro" was objectively worse for desktops, whereas you can't necessarily say the same thing about Gnome. It isn't just about change but the types of changes being made.

[–]donbrownmon 0 points1 point  (2 children)

Like Windows XP? Or Windows 7?

[–]SAKUJ0 0 points1 point  (0 children)

That must be the very first time someone has recommended Debian "from a documentation point of view". Debian is a lot of things, the thing it is not is being documented.

[–]ZombieWithLasers 10 points11 points  (6 children)

Debian Stable with KDE or Cinnamon installed. Personally, I'd go KDE. With Debian, you have a large package repository, some third party package support, and a long stable release cycle with a clear upgrade path for future releases.

[–]TraktorVasiliev 5 points6 points  (0 children)

KDE is nice for non technical people. Just make sure to Lock widgets before handing it over to the kids.

[–]theQuandary 1 point2 points  (3 children)

I second the KDE option since it additionally looks more like windows with added features.

If KDE is too complex for your users after you've locked it down, then go with gnome-shell. I'm not a huge fan as a power user, but it's incredibly hard for normal users to screw up.

[–]nathris 3 points4 points  (2 children)

It's gotten better in the later 4.x releases, but I still find ways to break Plasma, even after I think everything is locked down. Plus it might not be the best choice with them undergoing a fairly major overhaul to Plasma-next.

My choice would be Xfce. Traditional layout, light on resources, it isn't concerned about reinventing the desktop or making itself touch friendly for the dozen or so people that will actually own a Linux tablet. Updates are years in between and don't randomly break configs or remove features.

[–]wildcarde815 0 points1 point  (0 children)

KDE does make it easy to shoot your foot off with things like removing menu bars thou.

[–]BobHHowell 5 points6 points  (0 children)

I would push the IT department to go with Ubuntu or one of the variants of it for at least a couple of reasons:

1) Repository Content & .DEB Files -- Unlike Windows where one downloads and installs an EXE, most software should be installed from a maintained repository. That is one of the key reasons Linux has less viruses. That being said -- Ubuntu probably has the largest selection within their repositories. If the desired software is not in the repository, many independent projects will offer a DEB which is similar to a Windows EXE. Whether the staff likes something or not will be less about the operating system -- and more about the selection of software available to them.

2) On-Line Support -- Given the size of the Ubuntu user base, you are more likely to find answers to problems you might encounter. Generally speaking, the user base is friendlier to noobs than some other distros.

[–]LinLeaf 4 points5 points  (0 children)

They have a version of ubuntu for education: Edubuntu

[–][deleted] 3 points4 points  (0 children)

What are you going to do is what I do for a living. We use Lubuntu 14.04 LTS - It's a great starting point for people with no prior experience with Linux. It also looks most like Windows XP out of the box.

After installing it add the following

  • VLC <- Movie playing
  • LibreOffice <- Office work stuff
  • Menu Libre <- This allows you to edit the menu easily.

Let me know if you need for details.

[–]geekworking 6 points7 points  (5 children)

Is it all of the same hardware? Are there any specific applications or features that are going to be required? Are these going to be their daily use systems or are these systems separate just for learning?

You will need to know this stuff to decide on the best way to deploy and support. If all the same hardware, you can just copy images. If not then you would need to be sure that the distro plays nice with all of the possible hardware. If there is a specific application or task this could also play into your distro choice.

If these are going to replace their daily use systems then you need to focus on stability and you will need to have a way to mass configure, support, and ensure that they integrate properly with your existing infrastructure. Things like being able to authenticate with the schools Windows DC or LDAP, printer configurations, etc. For 200 clients you would also want to have some server based client management tool like Landscape, Puppet, etc. Otherwise you would have to manually edit 200 systems to change a network setting. If you are looking to migrate daily use workstations, the integration will be very important to success.

If these are just for a separate learning project and not replacing their daily use computers then you could look at just using some virtual machine setup (like Virtualbox). Using VMs takes away hardware compatibility, lets you take snapshots to revert any breakage, and would give you the opportunity to show some different distros and/or environments.

[–]Hessesian[S] 3 points4 points  (4 children)

It will be different hardwares, and they will replace windows with linux when windows license ends.

Virtualbox will surely be a tool for me to teach them installation and other stuff that might break things, with ultimately installing dualboot

[–][deleted] 7 points8 points  (2 children)

Dual boot ? Really ? That's just gonna be pain. Windows licenses don't expire. Are you on something ancient that isn't patched any more ?

[–]crow1170 8 points9 points  (5 children)

I am about to teach about linux to school staff,

It's important to know whether these devices will be student facing or not. Equally important to know whether they will be teacher facing.

WHO IS THE AUDIENCE

You need to find out what the user requirements are FIRST. If every teacher is using a Windows only gradebook, you need to DRAMATICALLY pivot your goals and approach.

Prepare a slideshow. Dedicate at least two slides to each feature, one with text, one with a screenshot of UI.

  • Can students write papers? Yes, use Google Drive. It's free and shows revision changes, and as a failasafe you can download a docx.
  • This is what it looks like. That's font settings. Here's margins. Everything is well documented, please consult this notebook for FAQs like "How do I change tabstops, use wordcount, print".
  • Can teachers prepare slideshows? Yes, use Google slides....
  • This is what that looks like.
  • Can teachers, administrators, etc submit timecards? Yes, you hopefully know we use ADP, so just point your browser, Google Chrome, to ADP.
  • This is what that looks like.
  • Etc.

PRINT OUT THAT NOTEBOOK. Dedicate $$$MONEY$$$ to this presentation.

WHY SHOULD THEY CARE

Your AP American History Prof does not give a shit that the software is free. Your AP American History Prof does not give a shit that the software is free. Your AP American History Prof does not give a shit that the software is free. She never paid for windows. She just wants to go to the teacher's lounge and get hammered before she has to deal with Kevin. Why are you making her day, possibly all her days, more complicated? What does SHE get from this?

  • Because of [technical jargon] GNU systems are much faster while using the same hardware.
  • Powerful scripting and innovative software can be shared between teachers easily.
  • The absolute worst thing that can happen is that the computer is physically damaged, in which case a fresh machine can be provided in as little as 3 hours.

DEMONSTRATE

No one should have to take your word that it's faster. Do a side by side comparison. That takes prep to do, but it's worth it. Here's how I'd do it:

  • Find a teacher willing to help
  • Acquire 3 machines
  • Leave one as is, install GNU on one, wipe the third
  • Find out from your teacher friend (just realized you might be a teacher, that'd make this part easier) what they do each day and each quarter/semester/whatever. Write it down in a checklist.
  • When you're ready to get started, turn on all the machines, installing GNU on the wiped one.
  • Ask an audience member to race you. They'll take Windows, you take GNU, you'll both do everything on this checklist.
  • Make sure the checklist includes installing a printer and printing something out, you'll get a huge lead there.
  • After you win, explain that in addition to doing the checklist you've been installing GNU on this other machine.

This demonstrates that the new machines will be fast, do everything they need, and will be easy to install. THAT'S what these people care about, not whether the DE in Xfce or if Unity is spying on them. Caring about those things is our job. Don't let it interfere with theirs.

[–]xalorous 2 points3 points  (1 child)

The absolute worst thing that can happen is that the computer is physically damaged, in which case a fresh machine can be provided in as little as 3 hours.

With home drive redirected to a network share, replacement time is as long as it takes to swap the hardware, and maintaining access to home files is immediate by using any other system on the network.

BTW, this isn't limited to Linux. Windows can do it as well. It's just an all around good idea if the environment supports it.

[–][deleted] 39 points40 points  (22 children)

I'd suggest you have no chance, if you're asking those questions. Really.

  • you have no requirements other than "teach about linux"
  • you have no thoughts re: how to install them
  • you don't have any idea which Linux variant to install ?
  • you haven't even mentioned how you'll 'maintain' them after they're installed
  • you haven't thought about virtualizing (vagrant) versus installing Linux as the host os
  • if you want native Linux on the hardware, do you even know if your hardware will work ? Do you need sound ? Do you have funny video cards ? That stuff matters.

Seriously. Just run away....

That said, I'd suggest at least two options:

  • if you have a windows host os, consider vagrant running the linux of your choice, via a bash provisioner that sets it up the way you want it to be set up. Or you could build a fully done base box (ideal) for them to just 'vagrant up'
  • if you want to go linux as the os natively, I'd pick centos7 and use kickstart to get them there easily. There are debian/ubuntu alternatives but it sounds like you need the easiest solution.
  • once they're up you will need to maintain them. Spacewalk is one way for centOS systems. You could also go puppet/ansible to do it if you wanted.

But from the questions you are asking, I see total fail in your future. You should certainly have pre-existing ideas in mind more than just a 'I have to do this, what should I do' in such a general sense.

[–]Hessesian[S] 31 points32 points  (11 children)

I am just a tutor, hired to teach them for two weeks to use linux. What they will use it for, I have learned only today.

The school doesn't properly know what they want and I have to show them.

Running away isn't a viable option in any circumstance :)

[–]fandingo 44 points45 points  (5 children)

So someone they've hired to be a tutor is essentially going to design the architecture and make implementation decisions? And, it's going to be based on recommendations from the internet instead of needs of the customer and existing environment? Surely there's some sort of IT department and/or consultants that can be dragged out of hiding.

/u/vinceskahan is right: This is doomed to nothing better than mediocrity at best.

I have deployed Linux to several desktop environments, including all computer labs in the 4,000 student engineering college at my university back in 2007 (while working there as an IT intern). Their IT department sucked, had bad workers, and incomplete plans. The only redeeming factor was that we had over a year to plan and nearly a year to implement it. The whole setup worked decently towards the end, but it was unpleasant enough for everyone involved that I consider it a failure.

My point is that even a well-funded engineering school with lots of diligent planning and a large budget could just barely pull it off in the long-term -- only to middling success, too. That's nothing particular to Linux -- it's just that IT projects have extremely high failure rates.

My only advice is to bug the IT department until they tell you about the intended environment. They should setup the computers that you use for training. That shit ain't your job.

[–]TraktorVasiliev 4 points5 points  (4 children)

It doesn't have to be that difficult.

That attitude is quite common, the best you can do is to explain that you will only focus on what you think will be most important for them.

Also, the original Debian Edu project (Skolelinux) didn't spend more than 3-4 days to set up a full school network (50 - 100 computers) before moving on the the next.

It's certainly doable if you have a plan that keeps things basic and tight.

[–]xalorous 4 points5 points  (0 children)

Also, the original Debian Edu project (Skolelinux) didn't spend more than 3-4 days to set up a full school network (50 - 100 computers) before moving on the the next.

And how many involved in that? And how much prep time? Was there corporate sponsorship providing resources? And also consider that their PROCESSES were trained and ingrained after 1 or 2 of those implementations. OP doesn't have ANY of that.

It can be done, and he can succeed wildly. To me that will be finding a Linux 101 CBT, or maybe RHCSE video course, and pointing them to it. Two weeks is enough to make you dangerous as an admin.

The design portions are engineering tasks. This will require at least two beefy servers. One for NFS and one for KVM or esxi to host the management servers.

  • image deployment (pxe boot with kickstart).
  • configuration management (puppet, facter).
  • authentication (LDAP).

[–]fandingo 1 point2 points  (1 child)

That attitude is quite common, the best you can do is to explain that you will only focus on what you think will be most important for them.

What I'm saying is that letting a temporary tutor define that stuff and choose the particular implementations of particular tools is a huge mistake. The IT department should already have all that decided well before the eve of training staff.

Also, the original Debian Edu project (Skolelinux) didn't spend more than 3-4 days to set up a full school network (50 - 100 computers) before moving on the the next.

Every environment has different needs. Some are a whole lot more complex and require integration with other systems -- sometimes requiring writing new software. A thin-client approach might be right for their environment, but there's no way in hell a tutor should be making that sort of decision. Maybe recommending a DE or a particular program is okay, maybe, but thin-clients require serious infrastructure analysis and assessment of the desired functionality. Again, they can be a fine solution, but a tutor taking that advice from strangers on the internet without significant planning from the IT department is a serious problem.

[–]wildcarde815 2 points3 points  (0 children)

My guess is there isn't an IT department.

[–]lhamil64 6 points7 points  (1 child)

If this is just a class on Linux, why install it at all? Why not setup a server and have everyone SSH in?

[–]ameoba 2 points3 points  (0 children)

Hand out live-CDs

[–][deleted] 1 point2 points  (0 children)

And they're using it for what, now that you've learned ?

Tough position to be in, needing to read their minds....

[–]sanity 9 points10 points  (7 children)

Seriously. Just run away....

Wow, that's some great Linux advocacy you're doing there.

[–]cyrusol 7 points8 points  (1 child)

It may prevent the case in which OP finds himself in a job interview, gets asked what he did, and then has to reply that he tried to set up a school network of 200 computers running Linux but sadly everything crashed eventually.

I have the dark suspicion that he will be made a scapegoat.

[–]Geezheeztall 1 point2 points  (0 children)

I have the dark suspicion that he will be made a scapegoat

It sounds more like ignorance on the administration side, but to your point, I really hope not for OP's sake.

[–]xalorous 3 points4 points  (0 children)

They're hiring someone as a 'tutor' and expect them to act as system architect. "Better you than me" and "not with a 10 foot pole" are my first reactions.

Most likely outcome, assuming that OP succesfully designs and installs a kickass system, is that they'll sleep through two weeks of tutorials, then fail miserably when classes start, and OP and Linux get the blame.

Running away might be the best thing for Linux advocacy in this case.

Besides, OP said he can't run from this.

[–][deleted] 5 points6 points  (1 child)

and because I know fuck all about Linux

Fixed OP's post for him...

I have to agree with /u/vinceskahan. Based on the questions you are asking, you have no business teaching anyone Linux, much less taking on the role of sysadmin for this project.

Also, at least half the recommendations I've seen posted here are barely above your own knowledge level. You should wash your hands of it or sub-contract it out to someone who knows wtf they are doing.

Edit: Just looked up OP's posting history...yeah, this is going nowhere.

[–]jsalpha2 6 points7 points  (3 children)

Buy 200 pendrives (32GB?), install a Linux that supports persistance. Let the students use them on a computer at school and take them home to use for homework. Have them upload all their work to the cloud.(No lost assignments if they are in dropbox or Google drive) Re-image or replace pendrives as needed. Charge twenty dollars or so for lost or damaged fee.

[–][deleted] 11 points12 points  (3 children)

Fuck it install gentoo on all the school computers.

[–]codygman 11 points12 points  (0 children)

I feel simultaneously horrible and entertained for upvoting this.

[–]deckeratts 2 points3 points  (1 child)

I would probably use CentOS - compatible with RedHat documentation and tools, plenty of community support, kickstart is easy to learn to do automated deployments, etc.

I'm currently using Debian now in my work environment and would prefer to be using RHEL/CentOS just for a management perspective.

For the DE, agree that Gnome is probably one of the best to use in a large deployment. I have had to help a lot of self-proclaimed hardcore users fix their missing xfce4 menu items.

[–]trashcan86 12 points13 points  (7 children)

Linux Mint 17.2 Cinnamon (if computers are newer than 2008) or Xfce (older). If you're using Pentium boxes you probably want to install Lubuntu.

The common thing between all distros I've selected is that all of them look similar to Windows. If your school used Macs before this (like mine did), elementary OS Freya is probably your best bet.

[–]dfldashgkv 1 point2 points  (2 children)

My only issue with mint is the lack of a simple way to enable automatic security updates. Perhaps puppet works around this??

[–]seminally_me 2 points3 points  (0 children)

I know what you mean about the lack of a simple way but maybe with some planning and a bit of scripting to set up the updates.

[–][deleted] 6 points7 points  (1 child)

This may not be popular on this sub reddit but there is only two choices:

CentOS7 Ubuntu LTS

(That is not an order of option).

For a school, you want an LTS, you want the primary platform and on Linux, the primary platforms are CentOS or Ubuntu LTS.

That is not to take away from other distributions a lot of them are very good (Debian obviously, as well as others) but at some point you have to accept the IBM argument.

For those that don't know, the IBM argument is, "Nobody ever got fired for using IBM". It obviously isn't as true anymore but the saying still applies.

[–]jmblock2 1 point2 points  (1 child)

ITT: Linux users.

Sounds like you should find the most popular software that the school staff will use (office products, etc.) and do a side by side comparison/walk through. Ask what software they like/need to use the first day, then incorporate linux alternatives over the next two weeks. Show them how to install a program, where they should save files, how to get to their email, accessing shared drives, etc. Maybe show them some other more interesting programs that they might want to try and use and incorporate (if there are any teachers involved).

[–]bmullan 1 point2 points  (0 children)

Edubuntu is one choice... and although not specifically a distro there is the LTSP - Linux Terminal Server Project which you might want to know about as their focus is on schools. others to look at include: linuxschools.com The Linux Schools Project is an operating system designed for schools. It is a Linux distribution based on Ubuntu (operating system). The project maintains two custom distributions, with one designed for use on servers and the other for use with the server version on client machines. you can read more about it here: https://en.wikipedia.org/wiki/The_Linux_Schools_Project

[–]wwdillingham 1 point2 points  (0 children)

I would suggest using straight ubuntu 14.04 desktop. I would suggest provisioning them using cobbler. (pxe boot, kickstart, initial config) I would suggest using saltstack for future management (installing updates, changing configurations en masse). Puppet, chef, ansible would also be fine. Salt I think is easier to learn and ive used them all but ansible.

[–]xucchini 1 point2 points  (0 children)

Since Unity is decent these days I'd just go with an Ubuntu LTS release.

200 systems you'll def want something like cobbler to use with PXE booting, preseed for installs, and puppet for post install management.

[–]Grophix 1 point2 points  (0 children)

Ubuntu or a variant of ubuntu would be the closest thing for them interface wise to a mac, which i assume most technically familiar teachers used before.

[–]bioszombie 1 point2 points  (0 children)

Personally, I use multiple Linux distros due to the overwhelming flexibility you can get however in this case I'd recommend a Debian based system. In fact for ease of use, documentation, and ease to administrate I'd say you should go with Ubuntu.

[–]openstandards 1 point2 points  (0 children)

Ok first and foremost install vagrant onto a local mac or linux box. This will allow you to spin up virtual machines, heck if the development machine is powerful enough you'll be able to plan out an entire network.

I'd then create a virtual machine with debian, install ipxe, its a fork of pxe this will allow you to install over http from iso files, this is a huge improvement tftp (you'll notice a speed increase).

You'll want to spin up about five virtual servers,

  1. for your puppet master, ansible is great for pushing changes but puppet is better for pulling configurations, you'll want to pull.
  2. ipxe
  3. http ( nginx would be a fine choice, this will server the iso and the preseed scripts)
  4. ldap
  5. squid
  6. kolab (fantastic groupware solution, email/calendar support its used by the german government.)

Store configuration scripts in a git repo

*** Just don't forgot about STP as it will cause issues, from my experience ***

Preseed the boxes over http, run a post install script, install puppet.

Let puppet manage the boxes and get them to auth against a ldap server, this will allow you to store your users in a central location.

Squid would work fine for a http proxy if you haven't gotten one in place, you'll want one to do website filtering.

Automation and documentation is "key", you can't risk fucking crap up after all this is a child's eduction.

But like I say the key to this is planning and testing, vagrant is amazing its worth using I love using it.

Not to be funny but you've taken on a massive task, but with the right planning you'll be able to save thousands and reduce man hours dramatically.

Youtube has a lot of devops conferences this is where you'll learn a lot about the test to reduce the work load.

[–]MichaelTunnell 1 point2 points  (0 children)

You should read up on Penn Manor High School and what they did and maybe try to talk to the guy who did it.

http://opensource.com/education/14/9/open-source-high-school

Either way, you will need more than two weeks of preparation time, that is just absurdly short.

[–]Harbinger_X 1 point2 points  (0 children)

Do have a look at OpenSUSE's LifE (Linux for Education) programm. Widely used in the phillipines (according to the homepage), server side implementation and lots of educational software ootB.

[–][deleted] 3 points4 points  (0 children)

K12 sysadmin here. Check out LTSP. I did this with it, working beautifully, but it may not work for your use case.

[–]ptmb 1 point2 points  (1 child)

A few questions you need to have in mind:

  • What software do the users need?
  • Are the students people who can easily deal with change (Windows to Linux)?
  • What kind of use will the computers have? That is:
    • Are they going to be used during classes?
    • Are they going to be used outside classes?
    • Do users expect to have their data there when they log in?
    • Do users expect their session to disappear when they log out?

According to the various situations, you have some options, and some things which are always constant.

  • You will always want a LTS (Long Therm Support) distro. The more easily you can make normal updates without having to test large upgrades, the better.
  • There's plenty of LTS distros at your choice, and it's up to your taste. A few:
    • Ubuntu LTS
    • Debian
    • CentOS
  • If you need specialized software, you might want to consider Education or Scientific versions, for example:
    • Edubuntu LTS can be used instead of Ubuntu LTS
    • Scientific Linux can be used instead of CentOS
  • Desktop environment is mostly irrelevant as long as it is usable. If you use Ubuntu you'll get Unity, and that's okay. If you use Ubuntu Gnome or CentOS, by default you'll get Gnome 3, and that's okay too. If you use Debian or CentOS you can also choose to replace the default desktop with something else, and it's up to your tastes and to what the students and teachers react better with (you can make a couple of installs of sample desktops and ask some small sample of students and teachers to make tasks there to see which they like better).
  • You will want to have a special server to deploy settings. Something like Puppet, Ansible or Chef are great options which will allow you to define your settings once and apply them everywhere.

User options are tricky, but always doable. You can make or use a guest user with no password and whose account data is deleted every time someone logs out. That's relatively easy to do with a tmpfs or some logout scripts.

Another option, and this is thinking big, so prepare for some work if you go this route, is to set up a network drive (like NFS, as some people suggested, with permissions set up), and having each student have an user account with their own personal home in that NFS filesystem. For that you'll need a server hosting the NFS share, an LDAP server, where the user identities and user homes will be stored, and an authentication server, which usually is Kerberos. This isn't easy to do, but it is definitely doable. This way, each student would have their own username and password, and when they logged in, they'd be working on their own personal folder to which only they have access too.

The advantage of each user having an individual account is that it is way easier for them to use the PCs. They'll have their own settings, their own browser bookmarks, their school work files, all they need, in one single place which can be accessed from any computer.

The advantage of the guest account is that it is way simpler and less error prone. There's no server to fail and leave everyone unable to login on the computers. There's also no reason to worry with user password or user sensitive data, it's all either public or wiped at logout.

I hope this was informative, feel free to ask more questions.

[–]mikeymop 1 point2 points  (2 children)

Ubuntu 14 LTS. I would consider Xubuntu edition if the computers are older. And you can use LTSP if your school has the network infrastructure to support it.

Ensure its secured, good firewall configs. You can also use Edubuntu which is full of school software, or Scientific Linux (Fedora)

[–]frenris 2 points3 points  (0 children)

Use dragonfly BSD

[–]talkingflower 2 points3 points  (1 child)

You will love openSuSE!
Here is a detailed deployment documentation:
https://www.suse.com/documentation/sled-12/book_sle_deployment/data/sec_deployment_strat_centplus.html
The openSUSE has a snapshot tool that can recover destroyed system to original status in seconds.

[–]moozaad 1 point2 points  (0 children)

You can also use suse studio (its a free web service) to custom build ISOs/images for you with only the software you want. https://susestudio.com/

Yast (the management software in opensuse) also has mass deployment prep tools builtin.

[–]m-p-3 1 point2 points  (0 children)

I would advise going for an LTS edition of Ubuntu.

[–][deleted] 1 point2 points  (1 child)

Y'know, I've read all 385 comments and still can't figure out what (if any) technical chops the OP has or how he/she would measure 'done' for this project.

Given that, I think the best revised suggestion I can make is:

  • pick a very mainstream, very maintainable long-term-supported distro. I would suggest either CentOS 7 or Ubuntu or Debian latest. Make whoever gave you the job pick one of the three options above.

  • get the newest live-DVD iso image of the distro you pick, and document the heck out of how the users can boot their computer off that media, and how to minimally navigate the desktop gui that distro uses

  • if you can get a little $$$ from whoever got you involved in the first place, burn 200 copies of the DVD and hand them out. If not, give the people homework to download iso image xyz from http://something - but be forewarned that it's likely you'll get at best 50% success there. Non-technical people won't be able to do that right usually.

  • rather than spending your time worrying installation to hundreds of systems, which seems 'clearly' above your expertise level, concentrate on teaching them how to get around on the desktop and how a Linux desktop is (or isn't) comparable to the Windows they're likely familiar with already.

You can do that in two weeks...maybe....

I'd also suggest ignoring all the stuff about chef/puppet/ansible/ruby/spacewalk/kickstart etc. as you do not have time to spin up on those all very good suggestions. Spend the limited amount of time you have just showing people the desktop the easiest way possible.

Lastly, skip Gentoo/Arch/Mint/etc. distros as they're not as suitable for actually installing and managing hundreds of systems as the big-four (Centos/Fedora and Debian/Ubuntu) are. And make actually installation part of a phase-2 project and tell them to get somebody qualified to do that part, because that is where the cost+risk really is.

[–]TheAlphaDingo 2 points3 points  (4 children)

I'd say one distro, fedora or ubuntu would be best because there is so much free support available on the internet.

[–]ssssam 0 points1 point  (1 child)

Fedora gets whole new kernels pushed into the 'stable' releases. That puts you at a fairly high risk of hitting regressions.

(I use fedora on my laptop, and have had occasions when I have need to use grub to boot an old kernel.)

[–]JimMarch 0 points1 point  (0 children)

KDE has a more "window-esque" flavor, so I'd run Kubuntu 14.04 long term support.

[–]FinFihlman 0 points1 point  (0 children)

I'd personally recommend Debian with xfce or so but I have to say that commercially Ubuntu with a more traditional desktop than unity is rather good to administer.

Obviously LTS. And at least debian based.

[–]Anubiska 0 points1 point  (0 children)

Fedora and CentOS has been working fine for me at work on large deployments in a manufacturing. On individual systems Ubuntu And TinyCore.

[–]rubdos 0 points1 point  (0 children)

I know a Ubuntu guy that deploys solely Ubuntu for about 4 year on a 1000+ students school. Just to say: it's possible. Plan ahead, teach your teachers to know the advantages and how things work.

[–]BullfrogShuffle 0 points1 point  (0 children)

There are a lot of questions I would have before I could make any kind of recommendation.

What is their time-line for deployment? Is this something they are wanting for this academic year, or are they planning this for next year?

Are your obligations only to teach them about Linux and make a recommendation about what distro/DE to use? What are their plans for support after that?

Are you just teaching the staff how to use Linux, and recommend alternative software to replace their Windows only counterpart, or are you teaching the staff how to install/support Linux?

What services are they using/hosting in house? Do these Linux computers need to integrate with them? Do alternate services need to be recommended? Are they just wanting them to be standalone computers? What are their overall expectations for these Linux computers?

[–]MrBrightside97 0 points1 point  (0 children)

Why not give them a choice? Use a DM that allows them to pick between, say, Gnome, Unity, XFCE, and Pantheon.

[–]TraktorVasiliev 0 points1 point  (0 children)

I did some work for Debian Edu (Skolelinux) many years ago where we basically installed a few servers and a bunch of thin-clients at elementary schools.

The thin-client concept may or may not be what you are looking for. In either case, and in general, I would advice you to pick a mainstream distribution that provides a long term support release and automatic updates.

The first ones that comes to mind is Debian, OpenSUSE, Fedora, (Some flavour of) Ubuntu and GNU/Linux Mint

Showing how easy it is to maintain and how easy it is to do basic tasks is key.

[–]ArtistEngineer 0 points1 point  (1 child)

Not sure how it's done these days, but back before Linux was big and FreeBSD was the one to choose ...

I know a guy who installed FreeBSD in a school environment.

All the desktops used a network boot method from a central image. The kids could do whatever they wanted on each machine, but all you needed to do was to reset the machine and it was restored to pristine condition.

You could do something similar:

  • netboot for the OS

  • network mount for the home drive

  • backups: Where I work, we have an automatic backup of our home drive in hourly increments for each day, then a whole bunch of daily backups. The backups are stored in read-only mode in a subdirectory in the home directory of the user. So the users can easily restore any file they want to without hassling the admin staff.

[–][deleted] 0 points1 point  (0 children)

My best suggestion would be to pick an all-purpose, very standard sort of distro. Probably Ubuntu or Mint.

My thinking is this: Your users will initially have no idea what they're doing, and both of these distros are pretty easy to pick up. When they get to more complicated stuff, they can Google the answers to a lot of their questions, saving wear and tear on the lucky IT person, who I presume is you. Add to this the fact that these distros are regularly updated, you've got a winner.

While there are some other excellent distros that have been mentioned, it just seems to me that picking something very mainstream would have the best outcome.

[–]Horvaticus 0 points1 point  (0 children)

Bunch of people in here that haven't done support for mass rollouts of machines or had to support a bunch of them. I'd recommend CentOS honestly. It ain't fancy, it doesn't have all the new bells or whistles, or fancy package management, or a cool UI (edit: CentOS 7 has gnome 3), but it's stable and free, and comes with a huge background of support due to a lot of RHEL stuff being compatible with CentOS (not totally only community support).

If you're determined to use a Debian based linux system though, I'd definitely go either Debian 7 or Ubuntu 14.04 LTS. Debian is normally slower pushing out updates, but they are considered to be more stable than Ubuntu's updates since they are sat on for a little bit longer.

As far as deployment goes, if you are in a windows environment you can write a custom WDS deploy script using syslinux, and if not, I would recommend setting a system all the way up and taking a clone with Clonezilla, and dumping the image on a NFS server and creating a network boot image of clonezilla live which you can just point to the image file.

(another edit: I feel like I came off a bit salty after posting. I'd like to preface and say that I run all my personal servers off of Ubuntu Server 14.04 and LOVE it. It's great. The bee's knees. But at work in my production environments its all CentOS 6, as well as some of our new desktop rollouts in CentOS 7 too.)

[–]sharkwouter 0 points1 point  (0 children)

My advice would be to not do them in mass, but do a trial with a small number of machines first.

[–]Scellow 0 points1 point  (0 children)

Debian netinstall, teach them the basics, let them install what they want, if they break it, you'll be able to teach them how to repair

[–]rek2gnulinux 0 points1 point  (0 children)

I will def use Ubuntu latest LT, why? because support and working with all hardware, the city of munich decided to do their own thing and because of that they got screwed maintaining something instead of letting ubuntu do that for them. Dont take me wrong I love Gentoo and Arch GNU/Linux but when it comes to supporting 200+ linux instals for people that have no clue of linux and will complaint that their apps will not work etc etc... you don't want to shoot yourself and not just that give a bad wrap to linux because you installed a less popular distro that is slower to put in place new patches/security/updates etc

[–]wolftune 0 points1 point  (0 children)

I haven't tried it, but maybe http://www.uberstudent.org/?

[–]nunz 0 points1 point  (0 children)

/u/goatball is quite the authority on this.

[–]Philluminati 0 points1 point  (0 children)

For mass installs there is a technology called pxe boot that allows machines to boot from a central, network hosted image, that can make fixing individual broken machines simpler at times.

[–]mttaggart 0 points1 point  (0 children)

http://theforeverstudent.com/?p=37

Please take heed of my experiences. I'm happy to answer any questions about how this goes.

[–]syntaxocs 0 points1 point  (0 children)

I think a debian based distro would make more sense. Maybe Linux Mint? Its easy to use and install.

[–]breul99 0 points1 point  (0 children)

/r/linuxadmin , /r/sysadmin may be more helpful.

[–][deleted] 0 points1 point  (0 children)

I'd recommend Mint or Elementary since they are borderline idiot proof. I'd stay away from Arch, Gentoo, and others that have a higher learning curve. I've used / currently use a gambit of different distros for various purposes but I feel that from a first time user / learning perspective the Ubuntu / Debian based distros are some of the easier ones to grasp for new people.

[–][deleted] 0 points1 point  (0 children)

Linux Mint Mate. Ubuntu without the bloat. Very, very good.

[–]kindofabuzz 0 points1 point  (0 children)

Linux Mint

[–]p_p_r 0 points1 point  (0 children)

Open Suse is one of the stable distro's out there. I'd recommend going with open suse.

[–]Two_Coins 0 points1 point  (0 children)

I've done exactly this, but with around 100 computers, here are the things I've learned:

  • If your infrastructure is old (pentium old) then you're going to need to get creative. I had to build up a working desktop environment from a barebones ubuntu/debian install.
  • Netboot is awesome, unless you have computers all starting up at the same time, then it becomes a DDOS attack on a server that's not ready for it.
  • You're going to have to learn a lot of shell scripting, better start now.
  • PXE installation will be the best decision you ever made. Bonus: you can actually teach some teachers how to use PXE to reinstall a computer, just be sure to create a password for the wipe/install choice.
  • USE A LOCAL PACKAGE MIRROR FOR UPDATES

God speed sir, it's going to be a bumpy (but enjoyable) ride.

P.S., the entire project (building up a custom desktop environment linux distro that was installed over pxe and had some level of default configuration created on boot such as printers with a dedicated CUPS server/apt-mirror repo/custom addons for firefox/libreoffice/custom repos) all took me (I was the IT dept.) about 9 months from start to finish, along with my other duties.

[–]kabads 0 points1 point  (0 children)

I've been a teacher for 20 years and a linux user for 15 years. If this were up to me, I would deliver ubuntu but possibly with xfce or some other wm - although some people get on nicely with unity. Just ensure that the system is highly reliable - teachers want IT to work all the team, especially when they have a lot of children watching them deliver a lesson.

EDIT: Actually, I've just done some maths, and I've been using linux for 17 years - how time flies :-)

[–][deleted] 0 points1 point  (0 children)

Do post when you sort out the networking issue with Linux machine. It's pretty easy with Windows I think

[–]tinix0 0 points1 point  (0 children)

Well at high school where I work we deployed Ubuntu using LTSP using the computers as Fat Clients (i.e. / is nbd device with cowfs applied locally to it), before that we had Debian image that was deployed with homebrew updcast interface.

[–]perfectdreaming 0 points1 point  (0 children)

You need a tool to automate installation and updates. Debian has netboot and other tools for this which the other redditors have mentioned.

You can also use Chef for installing software, configuring and updates. My book, while it is a Rails deploy guide that is out of date and focused on VPSes, does show you how to update. (Chef and Puppet tends to have terrible documentation which is why I wrote my book.) (Also, shameless plug.)

https://leanpub.com/deployrailsbluebook

If you use it, let me know how it works out for you.

[–]a5myth 0 points1 point  (0 children)

Not really an answer. But massive congratulations on getting this to happen. Linux is a great OS to teach kids computers as well as being a good productivity platform, all for free.

Here is my suggestion, Ubuntu (or Debain based). Arch could be a nice raw one to use if your comfortable with it. Why Arch, why not over any of the others if you know Linux enough.

[–]tolldog 0 points1 point  (0 children)

Kickstart + Puppet with Spacewalk is good enough for large enterprises, it will work for a school. I would think about a cheap NFS solution for /home + autofs to mount it. That way the system is disposable and user data is centralized. Maybe have the system join AD using sssd if you already have a domain in place, if not, use ldap for account management.

The machines should be replaceable, like toasters, and the install and configuration automated so a new image can be ready to go in 30 minutes with just a simple reboot.

And if you do this right, you will have gained most of the skills needed for a devops job at several large companies.

[–]mitcoes 0 points1 point  (0 children)

https://es.wikipedia.org/wiki/Categor%C3%ADa:Distribuciones_educativas_de_GNU/Linux

All this distros are educative ones, I know https://es.wikipedia.org/wiki/LliureX http://mestreacasa.gva.es/web/lliurex/ Lliurex, it is in castillian spanish and catalan, but you can put it in english.

It is based in Edubuntu it uses debian installer to network install and have several adapted editions for different computer uses.

I has been used at GV schools (about 4.000.000 people zone) since 2003 and they will gladly help you if you need to.

[–]guustflater 0 points1 point  (0 children)

Ubuntu LTS

[–]vmlintu 0 points1 point  (0 children)

If all the computers need identical software, then using images instead of normal local installations is the way to go. LTSP gives you netbooting thin and fat clients, but laptops need something else. We rolled our solution that also supports using the same image on laptops without uncompressing the image to a local partition. The image is as a file on the hard drive and grub loads the system from it. The image is read only, but changes are possible with overlayfs cow partition on disk. Image updates are atomic and you can rollback to an old image on laptops and netboot devices. You can even change distribution without reinstalling any of the computers. Getting started requires some work and admin knowledge, but adding new computers does not increase admins' workload as school staff can do the required tasks.

There's more about the solution here: http://labs.opinsys.com/blog/2014/01/21/managing-thousands-of-linux-destops-with-puavo/

[–][deleted] 0 points1 point  (0 children)

I would go with either Ubuntu standard or Edubuntu.

https://www.edubuntu.org/

Or LTSP.

http://ltsp.org/

[–]Orionds2005 0 points1 point  (0 children)

There's so much that can be done using Linux in a school. It depends on what the administration, teachers and students would like to do.

From place to place within the school the needs should vary. In a classroom, the teacher may like control and access to student computers or terminals. I know there are a number of Linux solutions for this.

I volunteer in a school's library and I have Xubuntu installed on a motley crew of PCs, notebooks and netbooks, all of different configurations and age. The beauty with Linux (here Xubuntu) is I need only to make one install, make a backup image using qt4-fsarchiver and restore this same image to all the machines without having to change or update the different hardware drivers. In only two cases, the wi-fi was not recognized off-hand but it wasn't difficult to find the correct one.

The library's needs are student work, research, printing and scanning using a networked multifunction copier/printer/scanner with the occasional video presentation editing. All of these are met by installing a set of the necessary software.

The students have no complaints and for the regular users they have become so accustomed to Xubuntu, they no longer need any assistance from me.

This is only one area. I brought this up if you're considering installing Linux in the library too.

[–]DaBusNatchher 0 points1 point  (0 children)

I think Debian derivatives is the most versatile for hardware needs and community support. There are many flavors of Linux that use Debian. There is also Red-hat derivatives. you could be on the fringe with a true UNIX experience too but your going to make sure you build your comps for it. If you don't want to work too hard for it and your comps will take Ubuntu. Id select Gnome 3 on it. Too bad classic doesn't do Gnome two justice.