Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Software Ubuntu IT Linux News

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

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."
This discussion has been archived. No new comments can be posted.

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

Comments Filter:
  • Puppet (Score:5, Informative)

    by BHearsum ( 325814 ) on Sunday February 26, 2012 @12:35PM (#39164907) Homepage

    http://puppetlabs.com/ [puppetlabs.com]

    • Re:Puppet (Score:4, Informative)

      by vlm ( 69642 ) on Sunday February 26, 2012 @12:42PM (#39164985)

      http://puppetlabs.com/ [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.

    • Re:Puppet (Score:5, Interesting)

      by realityimpaired ( 1668397 ) on Sunday February 26, 2012 @01:10PM (#39165217)

      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

      • Re:Puppet (Score:5, Informative)

        by nahdude812 ( 88157 ) * on Sunday February 26, 2012 @03:09PM (#39166087) Homepage

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

    • Except 30 nodes is going to cost several thousand dollars for the licensing. It'd be cheaper to hire the local neighborhood kid to sit there for an afternoon and do them individually. For that you could buy and image a new set of drives. Would 32-gig USB thumb drives be big enough for your install, allowing you to usb boot the machines? Or perhaps create a custom Live-CD, which has the advantage that you simply reboot the machine if the user dorks it up?

      • Say what? [puppetlabs.com]

        • Either I'm missing something obvious, or it's free for 10-nodes and you start paying quite a bit for anything beyond that.
          http://puppetlabs.com/puppet/how-to-buy/ [puppetlabs.com]

          Node Packs
          10 FREE
          25 $1,995
          100 $6,995
          250 $16,995
          500 $29,995
          1,000 $55,995
          More than 1,000 Contact sales@puppetlabs.com

          • I use puppetmaster on more than 10 machines. I guess these prices are for the "enterprise* Version which offers VMWare management, GUI and many more features. All unneeded for me.

            Cheers,
            -S

            PS: try # apt-get install puppetmaster

          • Either I'm missing something obvious, or it's free for 10-nodes and you start paying quite a bit for anything beyond that. http://puppetlabs.com/puppet/how-to-buy/ [puppetlabs.com]

            Node Packs Puppet Enterprise with Standard Support and Maintenance
            10 FREE
            25 $1,995
            100 $6,995
            250 $16,995
            500 $29,995
            1,000 $55,995
            More than 1,000 Contact sales@puppetlabs.com

            You DID miss something. You pay those prices if you want SUPPORT for the licenses. If you can support yourself, just use the Open Source version. Sort of like RHEL vs Fedora

            • by jon3k ( 691256 )
              You mean RHEL vs CentOS. Fedora is a bleeding-edge desktop distro, not a replacement for RHEL.
            • by Kjella ( 173770 )

              You DID miss something. You pay those prices if you want SUPPORT for the licenses. If you can support yourself, just use the Open Source version. Sort of like RHEL vs Fedora

              No. There's plenty functionality [puppetlabs.com] you get in the Enterprise version that you don't get in the open source version, so nothing like RHEL vs CentOS (which I assume is what you meant). If you want those features you'll be paying whether you want support or not.

          • by Vanders ( 110092 )

            Either I'm missing something obvious

            You're missing something really, really obvious. The prices you quote are for PuppetLabs support (Enterprise Puppet). Open Source Puppet is free. Tree it: "apt-get install puppetmaster". I've had ~400 servers running from a single Puppetmaster instance (~4800 divergences per. hour).

            Having said all of that, I'd recommend Chef over Puppet these days. Again, Open Source Chef will work perfectly well for free, or you can pay Opscode for support.

            • by Trahloc ( 842734 )
              As someone who keeps wanting to play with puppet 'someday' ... what are your top two reasons for liking chef over puppet?
    • If you've got a month to learn puppet and master it, and a test bed of one each of the different designated configurations of the laptops, puppet can be very useful. If the laptops need to be _identical_ in configuration, you want a nightly imaging tool such as is used in public computer labs, not a highly context sensitive configuration management tool. This is especially true if people will be manipulating the configurations locally: the ability to ruin a configuration managed file service or website depl

    • No installation, no futzing around with resizing partitions or restoring afterward, no time wasted,, and if people like it you can just give them the DVD to take home. If the machines have enough ram, you can load the entire DVD into memory. If not, just use the LiveCD and load that into memory - the performance will be great.
      • And a horrible delay when anything is started. And no security updates. And no way to install anything. And no support for proprietary video drivers. And unlikely to have working power management, combined with horrendous boot time.

  • by halfnerd ( 553515 ) on Sunday February 26, 2012 @12:38PM (#39164945) Homepage

    Puppet [puppetlabs.com] combined with either Foreman [theforeman.org] or Cobbler [fedorahosted.org]

  • Take a look at debian-installer and preseed, rather simular to kickstart for anaconda based installers, or sysprep for Windows. You can probably push the images out over the network via FTP or NFS.

    Then you will want to look at making a local apt mirror or cache depending on your needs, to manage updates and such.

    This is at a minimum. NIS or LDAP might also be required if you intend to grow the network.http://linux.slashdot.org/story/12/02/26/1730239/ask-slashdot-how-do-you-install-ubuntu-on-30-laptops-and-k

  • Live CD/DVD? (Score:5, Interesting)

    by Keruo ( 771880 ) on Sunday February 26, 2012 @12:40PM (#39164965)
    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)
  • by Call Me Black Cloud ( 616282 ) on Sunday February 26, 2012 @12:43PM (#39164989)
    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/ [serverfault.com] or even http://askubuntu.com/ [askubuntu.com].
    • Re: (Score:2, Informative)

      by Anonymous Coward

      This isn't rocket science and a ton of sysadmins read slashdot (still). There's 2 parts to this: deployment (foreman or cobbler to handle the pxe and kickstart configs) and then configuration management (stuff like puppet, chef or cfenine).

  • by Joe_Dragon ( 2206452 ) on Sunday February 26, 2012 @12:46PM (#39165007)

    use Clonezilla to make a image and just deploy the image to all systems. To make going back easier make a image of the windows install or pull the hdd and just use different HDD's for the event.

  • by pllewis ( 634741 ) on Sunday February 26, 2012 @12:46PM (#39165009)
    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 [ubuntu.com]
  • by Junta ( 36770 ) on Sunday February 26, 2012 @12:48PM (#39165021)

    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...

    • I'd say a 16GB flash drive is large enough to not only boot but run Ubunta. Simply build a custom installation and install it to the flash drives. Pull the drives from the laptops though you need to record what machine they came from for reinstall and configure them to boot from usb. Problem solved and if someone borks the system, simply swap a good stick and reimage. Keep in mind that you can probably get 50+ 16GB flash drives for pretty cheap. This gives you several spares for those who decide to take it

      • Yes, but then along comes dickhead attendee #6969, sees the flash drive in the system and goes "woah, cool, free flash drive! score!" and you're left with a hung system...
        • by Trahloc ( 842734 )
          Some mobos have usb ports on the motherboard inside. It's very handy for exactly the scenario your talking about. Supermicro's workstation boards come to mind.
  • by Anonymous Coward on Sunday February 26, 2012 @12:48PM (#39165027)

    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)

    • Yes. This. LTSP is great. However, you need ethernet (hard wire) for it to work. You won't be able to wifi it across. For a no brainer starter system, go to Edubuntu.org and download their DVD. Install that on the master node. And launch LTSP from it. Change the desktop background default if you've got some serious folks and not kids using it. It has the latest LibreOffice installed plus a lot of other good stuff.

      The other option is to just load Ubuntu OS's on a fist full of USB drives (4GB are fine)
      • Well, you can PXE boot LTSP over wifi if you have a wireless bridge. It's not exactly reliable though, at least it wasn't when I tried it last year.

        Where I work we have 300 remote locations running LTSP on lucid. One server at each location, perhaps as many as a dozen thin clients using PXE boot. We built our own update mechanism, where the LTSP servers rsync a directory tree that contains the updates. Anything new, they run the update. If an update fails for whatever reason they send an email back to hq. I

  • FAI (Score:4, Informative)

    by marcosdumay ( 620877 ) <(marcosdumay) (at) (gmail.com)> on Sunday February 26, 2012 @12:52PM (#39165065) Homepage Journal

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

    • by jedidiah ( 1196 )

      The whole thing seems like a rather silly question for a platform that already has a very mature automated installer.

      • 'spect you're right, but reading down, yours was the first condescending answer that also offered no help.

        In the engineering fields I'm experienced in, I find newbie questions produce alternative answers from other people that I've not come across before...

        • by jedidiah ( 1196 )

          It can be quite helpful to mention the obvious when people seem hell bent on ignoring it for no good reason.

        • 'spect you're right, but reading down, yours was the first condescending answer that also offered no help.

          In the engineering fields I'm experienced in, I find newbie questions produce alternative answers from other people that I've not come across before...

          In the engineering fields I am experienced in (software and embedded systems), I usually find newbie questions gathering answers from people working in the fields I would rather prefer never being involved (Windows GUI development, marketing, being a high school dropout, etc.)

  • Simplest solution (Score:5, Informative)

    by RedLeg ( 22564 ) on Sunday February 26, 2012 @12:57PM (#39165105) Journal
    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
    • 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

      Honestly, for the situation OP's in (obviously a relative noob to true sysadmin if he has to ask) this is the easiest and best solution. Only issues he might have are dhcp and dns, given we know nothing about his network environment. This and similar posts should be modded up. Ye ole Keep It Simple Stupid Rule applies here for sure! Oh, and be explicit as LiveCD also applies to DVD, i.e., a DVD has more space (dual layer at 8.5 GB) and can hold a larger live image.

  • http://cfengine.com/ [cfengine.com] The community edition is open source and available from the Ubuntu repository.
  • How to (Score:5, Funny)

    by Anonymous Coward on Sunday February 26, 2012 @01:02PM (#39165143)

    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

  • Ask Canonical. If they can't give a good solution, they deserve to fail.
    • by kcbnac ( 854015 )

      They'll say Landscape. http://www.canonical.com/enterprise-services/ubuntu-advantage/landscape [canonical.com]

      $105/year Desktop
      $320/year Server

      For 'bulk' (more than 5) contact them for "special" pricing.

      I wish they didn't do this, I'd love to try it and use it myself, locally hosted.

      But I'm NOT paying them for the feature.

      They proclaim the wonders of Open Source and Ubuntu - then go and drop in closed-source crap that there is no replacement for. Hack something yourself, or pay them stupid amounts of money to use what cam

  • by Anonymous Coward on Sunday February 26, 2012 @01:05PM (#39165167)

    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.

    • On the sever what is taking up 4 TB2 hdd's? I hope it is in some kind of raid setup.

      15-20 gigs seems small for a dual boot OS I take it is basic install lacking lot's of added software on each os.

      Are there more then 1 image say with differnt software loads?

      How often are the images updated?

      • WHy do you hope they are in a RAID setup? RAID is for speed. Speed in access or speed in recovery, nothing more.
        • " RAID is for speed. Speed in access or speed in recovery, nothing more."

          Actually, RAID [wikipedia.org] does quite a bit more than for which you credit it.

  • Chef (Score:4, Informative)

    by bigattichouse ( 527527 ) on Sunday February 26, 2012 @01:09PM (#39165209) Homepage

    simple - chef:

    http://www.opscode.com/chef/ [opscode.com]

  • Although primarily aimed at doing Windows imaging, you can also use it for Linux only or side by side rollouts. That said, I'm going to be looking at some of the other links posted in this thread myself.

    FOG Project [fogproject.org]

    FOG is a Linux-based, free and open source computer imaging solution for Windows XP, Vista and 7 that ties together a few open-source tools with a php-based web interface. FOG doesn't use any boot disks, or CDs; everything is done via TFTP and PXE. Also with fog many drivers are built into the k

  • by Mullen ( 14656 )

    PXE + Kickstart (Ubuntu Equivalent) + CFengine + mrepo + Handfull of simple scripts = Cloned machines environment.

    I have this setup at work and new users pick their Red Hat choice (They are given a short list) and kickstart, some scripts and CFengine takes care of the rest. Need to make a changes to 300+ Linux Desktops? Update CFengine and wait until it's hourly run happens and you're done. Need to force certain packages on? Update CFengine and wait until it's hourly run happens and you're done.

    • by Skapare ( 16644 )

      Half way through that I branch off to rsync to populate the system. Then I SSH in via the IPv6 pre-configure link-local address and custom tweak. Reboot. Done.

      Oh, and there are alternatives to PXE, like USB memory sticks.

  • Why not VMs? (Score:5, Informative)

    by dugjohnson ( 920519 ) on Sunday February 26, 2012 @01:21PM (#39165285) Homepage
    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.
    • Exactly! I may not understand the problem, but if they have working copies of XP, why not set up a VM for VMWare Player, install it on the clients, then copy the VM over.

      Seems like a hell of a lot easier than trying to automate changes to hard drive partitions. (Which is an interesting thing to do, though.)

  • One no nonsense way is with parallel SSH.
  • 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.

    For cloning, use partimage, clonezilla, or ghost. BUT, if you need to keep the windows partitions (each one is likely licensed differently), only copy the Linux partition and boot sector, not the whole disk.
    • by vlm ( 69642 ) on Sunday February 26, 2012 @02:14PM (#39165691)

      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.

      • 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.

        The submitter wants max 30 machines, and only for a limited time. Telling him to learn how to use puppet would waste his time. If he just wants to install a piece of forgotten software after the event has started, a quick (bash runonallmachines.sh apt-get install foobar) could print out the info to stdout, and reading through 30 such messages isn't that big of a deal. Sure, if this were a long term project, or if he had more machines, puppet would make sense, but why not stick with something easier to us

    • by Antique Geekmeister ( 740220 ) on Sunday February 26, 2012 @02:42PM (#39165909)

      > 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.

      • Throwing such unprotected keys around

        You did notice I said NOT to have the private keys on the laptops themselves? The submitter wants something easy to use for a limited period of time (an event). Chances are, submitter won't even encrypt the drives, so there's not much preventing a bad apple from throwing their own passwordless ssh public key on the laptop. But once that happens, all they have access to is 30 laptops which can all be reimaged in no time, and they would be at the end of the event. Whoopie.

        Doing this is as bad, if not worse, than putting a post-it note with the rude password on your desktop monitor.

        Did you mean root password? Anyw

      • by jon3k ( 691256 )

        Doing this is as bad, if not worse, than putting a post-it note with the rude password on your desktop monitor.

        Not if you have a reasonably sane method of securing the private keys. I'm not advocating password-less keys, but that comparison is WAY overboard.

    • by jon3k ( 691256 )
      Sounds like the perfect job for ClusterSSH [sourceforge.net]!
  • What if you install a virtual machine once, and then copy it over to the other machines?

    Also, if everything else fails (my apologies for saying this but somehow you don't give out a vibe that you are on top of the situation) is it the question for people to be able to use laptops, but not being able to mess around on them? Then I guess your final -and easy- option is to just open accounts for them in the existing OSes, and tell them to act civilized. Is that an option?

    • open accounts for them in the existing OSes

      Sorry, I just saw that it has to be Ubuntu- how about wubi [ubuntu.com]? It is a windows-based Ubuntu installer, it installs an Ubuntu system without partitioning that stands as a cluster of files in the host windows, it is not virtualised (both systems don't run at the same time) and if you carefully set up the boot loaders on the other machines, you only need to copy over one (huge) file -the "image"- into the other machines. In addition, you will have to remove the option of booting to Windows, and then go in via a b

    • Why bother with virtual machines? He can just tar the partitions of one machine, and copy them into the other machines. Then, copy /dev/null and /dev/console, run grub-install /dev/sda (or whatever is it), and you are done.

      But still, that is more work than it should take.

  • I ran a small, 25 seat lab with Ubuntu. I installed Webmin on each workstation and took advantage of the cluster features. Combine that with ClusterSSH for other tasks and the lab was remarkably easy to manage. This isn't suitable for a largish network but worked well for me.
  • I'd used a network backup server in a virtual machine previously and first backed up the default image. What was nice about the backup server was it had an iso image of a boot disk you'd use to boot and backup a machine so no worries what OS was on there. After the initial backup, do you disk partitioning, installation of Ubuntu and then create a Ubuntu repository image and set that new client to use that repository for updates. Now back that disk up and use it as your base image for all your laptops.

    Now yo

Keep up the good work! But please don't ask me to help.

Working...