On Tue, Sep 20, 2005 at 11:49:25AM -0400, Gregory Seidman wrote: > On Tue, Sep 20, 2005 at 09:20:33AM -0400, Matt Price wrote: > } Hi, > } > } I have to install ubuntu or something similar on about 20 aging > } workstations without cd drives. THese are donated boxes with small hard > } drives (as small as 2.1 gig, but not all identical) all wiped clean. > } > } my thought is: do a workstation install of ubuntu on one drive and get > } it all cleaned up the way I want it; shrink the partition down to a > } minimum size to avoid copying lots of empty sectors; make a disk image > } with dd; shutdown, install a second drive;and then: > } > } fdisk /dev/hdb, and set up / and swap partitions > } mkswap /dev/hdb5 # do I need to do this? > } # Do I need to create an e2fs fs on /dev/hdb1? > } dd if=/path/to/image of=/dev/hdb1 # will this work if the partitions > } # are not of exactly equal size? > } dd if=/dev/hda of=/dev/hdb bs=448 count=1 # does this install GRUB? > } > } so, my question is: is this the right way to go about this? am I > } missing any steps? is there a better way to do it? > > First off, if you're asking on a Debian list you should be talking about > Debian rather than Ubuntu. Based on the following assumptions: > > 1) You can find the smallest disk you will have to install on. > > 2) You will have some partition (/home? something else?) that should grow > to fill the remaining disk space on larger disks. > > 3) You will be using a filesystem that supports growing, such as ext3. > > 4) You can put all of these machines on a network together. > > 5) You have a spare machine to use as "machine B" below. > > 6) The various machines' disks are /dev/hda and they can all boot from CD.
But see OP message above. They don't have CD. > > ...here's what I'd do: > > 1) Do a full install and configuration on the machine (A) with the smallest > disk. Configure everything, including partitions and swap, the way you > want it. Make sure the partition that will be grown to fill the larger > disks is the last partition. > > 2) On each filesystem (not swap) dd if=/dev/zero of=zeroes until it runs > out of room, then remove the file of zeroes. This is important for > compression, which comes later. > > 3) Set up a machine (B) with a network connection to your newly installed > box so that it is listening on some TCP port, say 2000, for a network > connection and will take any data from a connection and put it in a > file. It should also be listening on another TCP port, say 3000, to > which it will respond with the contents of the same file. I recommend > using socket or netcat (nc) for this. I prefer socket, so my examples use > socket: > > socket -r -q -p 'dd of=/tmp/diskimg.gz' -s 2000 & > socket -w -q -p 'dd if=/tmp/diskimg.gz' -s -l 3000 & > > 4) Reboot machine A with Knoppix or your favorite LiveCD. Tell it not to > find any swap partitions. > > 5) dd if=/dev/hda | gzip -c | socket -w -q MachineB 2000 > > 6) Boot each of the other machines, in turn, with a LiveCD. > > 7) socket -r -q MachineB 3000 | gzip -d | dd of=/dev/hda > > 8) use parted to grow the last partition (or fdisk to delete it and create > it again to fill the disk), then use resize2fs (or the command > appropriate to your chosen growable filesystem) to fill the now larger > partition > > Note that the gzip in step 5 compresses all those nice zeroes you put on > the disk in step 2 so that the data that goes over the network is > minimized. This won't be incredibly speedy, but you should be able to > perform step 7 on all of your machines in parallel. You may also want to > set the bs parameter on the various dd commands. > > } thanks much, > } matt > --Greg > > > -- > To UNSUBSCRIBE, email to [EMAIL PROTECTED] > with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED] > -- Paul E Condon [EMAIL PROTECTED] -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]