Slashdot Mirror


Ask Slashdot: How Do You Install Ubuntu On 30 Laptops and Keep Them In Sync?

New submitter spadadot writes "I am setting up a new event in France (Open du Web), where between 15 and 30 laptops running Ubuntu Linux will be available. They came with Windows preinstalled and it must stay for other purposes. I'd like to take care of only one of them (resize the hard drive, install Ubuntu, add additional software and apply custom settings) and effortlessly replicate everything to the others including hard drive resizing (unattended installation). After replicating, what should I do if I need to install new software or change some settings without manually repeating the same task on each one of them? Should I look into FAI, iPXE, Clonezilla, OCS Inventory NG? Other configuration management software? I would also like to reset the laptops to the original environment after the event."

19 of 202 comments (clear)

  1. Puppet by BHearsum · · Score: 4, Informative
    1. Re:Puppet by vlm · · Score: 3, Informative

      http://puppetlabs.com/

      LOL this is the weekly ask /. where the questioner describes the perfect application for Puppet and then asks what to use.

      My only other addition is install and set up torque and dish.

      Torque is a decent queuing system. Everybody queue up a job to do "something" as quickly as possible, but strictly one at a time.

      The DISH distributed shell lets you run a single command line (which could be a script...) on all machines right now. Simultaneously or whatever.

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    2. Re:Puppet by realityimpaired · · Score: 5, Interesting

      Puppet would be the perfect tool for the job, but there may be a reason he can't use Puppet.

      If that's the case, set up your own repo. Mirror Ubuntu's repo, and configure all of the systems to only connect to your repo. Set them to automatically update nightly, and bob's your uncle. If you want to push something to the computers, then push it to your repo and they will update during the overnight push

    3. Re:Puppet by nahdude812 · · Score: 4, Informative

      Here is the link to Ubuntu's custom install CD article: https://help.ubuntu.com/community/InstallCDCustomization. Create your own custom installer, and use that to image all the laptops.

  2. Configuration management + install server by halfnerd · · Score: 5, Informative

    Puppet combined with either Foreman or Cobbler

  3. Live CD/DVD? by Keruo · · Score: 4, Interesting

    Place the stuff you need on a livecd and give usb sticks to the users if they need storage, remove the hdds entirely during the event, then place hdd back afterwards to reset situation?
    Samba/nfs share for storage could work also.

    Other solution would be to use G4L to ghost all the laptop hard drives, first to backup them, then to image it with your preinstalled linux stuff.
    Then repeat after event to restore original system image, but that would take ~10 days to do, both ways, and you'd need ~5-10Tb space to hold copies of the laptop images.(depending on the size of the original hdds)

    --
    There are no atheists when recovering from tape backup.
  4. There are better sites for this question by Call+Me+Black+Cloud · · Score: 4, Informative

    One of the Stack Exchange sites would give you better answers, or at least a set of answers without "frist psot". Take a look at http://serverfault.com/ or even http://askubuntu.com/.

  5. Ubuntu Software center sync option by pllewis · · Score: 5, Informative

    I've not used it, but Ubuntu 11.10 software center now has a sync option to sync software between computers. https://wiki.ubuntu.com/SoftwareCenter#Comparing_and_syncing_installed_software_between_computers

  6. Are they going to be fixed in place? by Junta · · Score: 4, Informative

    If so, you may want to consider yanking the drives and iSCSI booting them. I know at least with Fedora and RHEL/CentOS you can do this, I presume Ubuntu can as well. Set root-path in dhcp in accordance with rfc4173 and boot iPXE. From there take any PXE-capable deployment mechanism and you can proceed without removing or resizing the partitions.

    If only 30 and you lack the experience in this area, you may elect to hand tweak an autoinstall situation. I'm not sure if you need to be particularly picky about 'cloning'. In MS it's almost mandatory as so much of the value of an install is in third-party applications. In the ubuntu case all the packages you want are likely already in the distro and debian-installer is really all you need.

    All this said, Live usb key is probably the easiest thing. Stock Ubuntu probably suffices...

    --
    XML is like violence. If it doesn't solve the problem, use more.
  7. ltsp with fat clients by Anonymous Coward · · Score: 3, Interesting

    Use ltsp https://help.ubuntu.com/community/UbuntuLTSP
    Supports fat clients (all aplications run at each laptop).
    You only need to install ubuntu in one laptop and let all others boot from the first one with ipxe.
    All laptops (apart from the first) are left unchanged.
    Very good implementation (solving some minor issues that may arise) used at many greek schools:
    https://launchpad.net/sch-scripts (all documentation is in greek)

  8. FAI by marcosdumay · · Score: 3, Informative

    Debian (and thus Ubuntu) comes with a Fully Automated Installer (shortened as FAI). Take a look at synaptic, and at its manual.

  9. Re:There is an open source solution by Smallpond · · Score: 4, Insightful

    It's called take a fucking CS course at your community college or ask on the Ubuntu forums full of dimbulbs who think "ls -a" is a lifehack.

    Why would you take a CS course for an Admin problem? I think you don't know the first thing about computers.

  10. Simplest solution by RedLeg · · Score: 4, Informative

    Remove the HDs

    Boot from a CD (live CD distro), allow user-owned USB drives for persistent storage.

    Optionally, customize the live CD to your needs, installing and removing packages to suit the task.

    Red

  11. How to by Anonymous Coward · · Score: 5, Funny

    Step 1: Ignore StackOverflow, Ubuntu forums, or other sites that will give more accurate info. Instead ask on a site with people of questionable talent and experience with what you're using.
    Step 2: Implement poorly researched solution and fck up the entire project

  12. RE: Laptop Management by Anonymous Coward · · Score: 4, Interesting

    I recently was in the same bind, with a bunch of desktops instead. I was given the task of backup and restoration of 50 desktops in a Computer Science student lab at the uni I work for. I decided to go the route of a Clonezilla server for backup and restoration. All the machines are Dell Optiplex 755's stock, with Windows 7 and Linux Mint Debian Edition dual boot. They all have 120 gb harddrives. I used an unused 1u server and bought 4 2tb Seagate harddrives off Newegg. The lab is wired with cat 6 and is a gigabit network. On average with the server setup it takes about 10 minutes to image all the machines and about 5 or so to restore them all. The server can do this by taking advantage of multicasting. It's easy to setup and the best thing is it only images the used parts of the harddrives. This means in my case each machine's image with both OS is only around 15-20 gigs. Hope this helps.

  13. Chef by bigattichouse · · Score: 3, Informative
    --
    meh
  14. Why not VMs? by dugjohnson · · Score: 4, Informative

    I run VMs (different versions of Linux and Windows) on top of a Windows host all the time. Ubuntu won't have much of a performance hit. You can run them using VMPlayer (I did that for months until I finally upgraded to VMWorkstation) and installing is a two step...install VMPlayer, then copy the VM. Just an idea.

    --
    My brain is overly lubricated
  15. Re:Partimage and just SSH by vlm · · Score: 3, Insightful

    If you only have 30 machines for one event, puppet/cfengine is overboard. Just set up a passwordless SSH key for root (remember NOT to put the private key on the laptops), and just use a simple script to send the same commands to every laptop.

    You forgot error recovery and logging. So PC #25 was rebooting while your script ran... does that make the script fail, perhaps silently? Does that mean all the PCs except #25 are OK, or #25-(end of list) fail? How do you know to rerun the script later? How many times do you have to run it by hand to "make sure" it ran on all machines? You can add logging and some sort of retry mechanism... Just remember that those who try not to use puppet, end up rewriting puppet, just takes a long time and painful bugs. apt-get install puppetmaster on the main and apt-get install puppet on the remotes is just too easy to bother writing a clone of puppet out of shell scripts.

    Puppet is much like AFS or LDAP or well, practically any service, the first time you set it up you're all "WTF?" and the second time its no big deal. Google for some tutorials, screencasts... Doing a really halfway job writing it yourself is terrifyingly harder than just using puppet.

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  16. Re:Partimage and just SSH by Antique+Geekmeister · · Score: 3, Informative

    > Just set up a passwordless SSH key for root

    No. If you worked for me and I caught you doing this, I would first write you up for a direct security violation, and if I caught you doing it again I would fire you. Passphrase free keys leave your deployed network vulnerable to anyone who can steal the key from the hacked server, backup, or anyone who manages to walk off with that key by other means. Doing this is as bad, if not worse, than putting a post-it note with the rude password on your desktop monitor.

    Setting up an ssh-agent to passphrase wrap such a remote root access key is a basic step. Restricting remote access to the designated management server is another basic step in protecting such a network from root key theft. Throwing such unprotected keys around is unfortunately, a very common practice among systems people who believe that "if they're inside our network, we have much bigger problems". Since these machines are laptops, they will be walking into and out of the network, and it's reasonable to assume that the network will be attacked from a machine inside. Basic security practices, such as system updates, password expiration, and access key handling should all get some attention to protect the network.