Tento text vznikl pro vnitřní potřebu VOŠ a SPŠE Olomouc. Pokud bude užitečný i někomu jinému, je to jen dobře. Program Partimage i skripty, které jsem napsal já, jsou šířeny pod licencí GNU GPL. Dokumentace -- tedy i tento text -- pod licencí GNU FDL.
Nedočkavci si můžou vše stáhnout si v jednom balíčku. Případně si můžete stáhnout makefile a vše by se mělo provést automaticky. Stačí jen:
# aptitude install make # wget tlapicka.net/data/klonovani/Makefile
Pro instalaci clienta:
# make client
Pro instalaci serveru:
# make server
Toť vše. Můžete restartovat a klonovat. Pokud jste tedy provedli vše, co je napsáno níže.
Znalci se jistě rádi pokochají i samotnými skripty. Jsou celkem tři:
Předpokládám, že chceme hromadně nainstalovat školní PC, na kterém bude nainstalován vedle M$ Windows i Linux. Potřebujeme tedy 4 diskové oddíly.
Také předpokládám, že všechna klonovaná PC mají stejný HW.
Stačí tedy 4 oddíly. To je dobře protože si vystačíme s primárními oddíly. Tabulka rozdělení disků je pak uložena přímo v MBR a značně nám to zjednodušuje práci. MBR lze totiž snadno kopírovat a přenášet na jiné počítače.
Záleží samozřejmě na tom, jak velký je disk. Předpokládám, že mám 60 GB disk.
Asi si říkáte proč jen 26 GB. Je důležité aby na konci disku zbylo nějaké volné místo. Každý disk -- přestože stejný -- je maličko jinak velký. Mohlo by se proto stát, že si takto vytvořenou tabulku oddílů přenesete na jiný disk a poslední oddíl bude končit až za posledním sektorem disku.
Mám prázdný disk a chci instalovat. Napřed se pustím do M$ Windows. Proč?
Při instalaci nedělím disk tak, jak jsem uvedl výše, ale udělám pouze jeden jediný oddíl potřebný pro instalaci Windows (15 GB). Bude samozřejmě na začátky disku.
Nyní se pustím do instalace GNU/Linuxu. Já používám Debian GNU/Linux V prostředí VOŠ a SPŠE stačí nabootovat ze sítě. Nebo si můžete stáhnout obraz CD. Jako archytekturu vyberte i386. Doporučuju stáhnu CD označené jako kde-CD-1. Vše ostatní potřebné si instalátor stáhne automaticky z internetu. Instalační příručka popisuje také instalaci z USB zařízení
Druhý oddíl (/dev/hda2) vyhradím pro kořenový adresář (/ 15 GB)
a třetí oddíl (/dev/hda3) pro odkládací prostor -- swap (1 GB).
Důležité je, že to všechno to musí být oddíly primární.
Po instalaci základního systému budete vyzvání k výběru tzv. instalačních úloh. Vyberte "Stolní počítač" a "Standardní nástroje".
Zavaděč nechám nainstalovat NE do MBR, ale na kořenový oddíl.
Sice do tohoto systému zatím nebudu moci nabootovat, ale to přijde později.
Instaluji ho tedy na druhý oddíl.
To je na zařízení /dev/hda2.
(Pokud máte SCSI nebo SATA disky, tak je to /dev/sda2.)
Zde postačí jakákoli minimální instalace GNU/Linuxu. Já používám minimální instalaci Debianu. Pokud se vám nepodaří nabootovat ze sítě, stáhněte si obraz CD označený jako netinst. Obraz je veliký jen asi 160 MB a obsahuje základní nástroje.
Klonovací systém budeme instalovat na čtvrtý oddíl. To je /dev/hda4.
Je důležité na tomto oddílu zapnou příznak zavádění. Tzv. "Boot flag".
Po instalaci základního systému budete opět vyzvání k výběru instalačních úloh. Nic nevybírejte a to, co je předvybráno zrušte. Vše potřebné je již nainstalováno a pokud nám bude něco chybět hravě si to doinstalujeme.
Zavaděč nainstalujeme opět na kořenový oddíl, tedy ne do MBR, ale na /dev/hda4.
Pokud bude vše v pořádku, instalátor by měl rozpoznat předchozí dva, již nainstalované, systémy a pokud byl dobře nastaven příznaku zavádění už by mělo jít bootovat.
Windows se tu zabývat nebudu. To mají na starosti jiní.
Jen připomenu, že je potřeba dbát na to, aby před vytvořením klonu bylo PC vytaženo z domény. Po obnovení klonu je potřeba změnit hostname a PC opět do domény přidat.
Po instalaci je systém plně funkční!
Pokud jste instalovali z CD, je myslím dobré upravit zdroje software a ze
seznamu zdrojů smazat CD. (V Lennym už se to děje automaticky.)
Nebude ho potom po vás při instalaci chtít, ale vše si stáhne ze sítě.
Dělá se to v souboru /etc/apt/sources.list.
Řádek s CDROMem se zakomentuje # nebo smaže.
V každém případě je systém dobré aktualizovat:
# aptitude update #aktualizuje databázi balíčků # aptitude full-upgrade #povýší všechny balíčky na nejnovější verzy
K instalaci a odinstalaci balíčků slouží např. konzolový program aptitude. Pokud chcete program s GUI tak doporučuju synaptic nebo kpackage
No -- je toho hodně. Naštěstí nejsme v M$ Windows, takže to bude trvat jen chvilku:
# aptitude install anacron htop tree less ssh-client mc lftp gkrellm rxvt-unicode \
scree kde gnome-core xfce vim-gtk emacs kate quanta \
inkscape gimp gqview openclipart yakuake krusader \
kpdf xpdf msttcorefonts ttf-freefont ttf-opensymbol xfonts-terminus
Stačí označit tento text myší a pomocí prostředního tlačítka myši ho přenést do konzoly superuživatele root.
Uživatele root ze sebe uděláte pomocí příkazu su:
$ su Password:>tocosemnapisunenividet< #
Pak je také dobré nastavit jako výchozí prostředí KDE:
# update-alternatives --config x-session-manager #vyberte /usr/bin/startkde
Pro hromadnou zprávu více počítačů ke své naprosté spokojenosti používám multissh ve spojení s ssh klíči.
Nastavení zavaděče se provádí v konfiguračním souboru /boot/grub/menu.lst.
chmod 600 /boot/grub/menu.lst
timeout na řádku asi 19. Doporučuji hodnotu 1.
password na řádku asi 30. Musí se to odkomentovat --
zrušit hash(#) a napsat tam vlastní heslo.
vga= v parametrech jádra při bootování.
Řádek 81 změňte na:
# defoptions=vga=788Ten hash je třeba tam nechat! Potom pustit
update-grub.
Nastavení přípojných bodů se provádí v souboru /etc/fstab
Řádek, který se stará o usbdisk vypadá např. na mém PC takto:
/dev/sda1 /media/usb vfat rw,user,users,noauto,iocharset=utf8,codepage=852,umask=111,dmask=000 0 0
Samozřejmě přípojný bod /media/usb musí existovat.
# mkdir /media/usb
Připojování diskových oddílů se provádí příkazem mount.
$ mount /media/usb #připojení disku $ umount /media/usb #odpojení disku
Pokud by přípojný bod v /etc/fstab nebyl nastaven, musel bych příkazu mount říct,
jaké zařízení chci připojit:
# mount /dev/sda1 /media/usb
a musel bych tento příkaz provést jako superuživatel root.
/etc/fstab přidat řádku:
172.16.0.100:/home/users /home/users nfs defaults 0 0To provedu příkazem:
# echo >>/etc/fstab "172.16.0.100:/home/users /home/users nfs defaults 0 0"Samozřejmě přípojný bod
/home/users musí existovat:
# mkdir /home/users.
Po naklonování na ostatní stroje je potřeba změnit hostname v soubotu /etc/hosname a mailname v souboru /etc/mailname.
Pokud ale vše funguje jak mám, měl by to automaticky provést skript firststart.
Pokud bude soubor /etc/hostname prázdný, bude se hostname sosat z DHCP.
Pokud zaznamenáte problémy s odezvou startu aplikací je nejspíš špatně nastaven soubor /etc/hosts.
Soubory /etc/{hostname,mailname,hosts} spolu musí ladit.
Jinak jsou problémy.
Další problémy jsem zaznamenal se síťovým zařízením.
Jeho jméno je v souboru /etc/udev/rules.d/z25_persistent-net.rules.
(Nebo tak nějak.)
Problém je, že toto jméno je přiřazeno k HW adrese.
Po naklonování je HW adresa jiná, a proto se zařízení nejmenuje stejně jako na mateřském PC.-(
V klonovacích skriptech je vše směřováno na zařízení eth0.
Proto je potřeba po naklonování příslušné zařízení správně pojmenovat.
Stejný efekt by mělo mít i smazání příslušného řádku těsně před vytvořením image
-- po restartu by se toto zařízení mělo přejmenovat správně.
aptitude -y update aptitude -y upgrade aptitude -y install mc htop less vim socket
Klonovací skripty stačí stáhnout a rozbalit do systému:
# wget -P /tmp tlapicka.net/data/klonovani/klonovani.tar.gz # tar -C / -xzf /tmp/klonovani.tar.gz
Pak vytvořit adresář pro image disků a přípojný bod:
# mkdir /var/partimage /mnt/debian
a udělat symlinky do startovacích skriptů:
# ln -s /sbin/klon.client /etc/rc2.d/S97klonovani
# ln -s /sbin/klon.vyber /etc/rc2.d/S97klonovani
Práci se vším výše uvedeným si můžete ušetřit stažením Makefile pro nedočkavce. Doporuču ovšem Makefile stáhnout, ale pustit ho až potom, co tento klonovací systém rozklonuji. :-D To už totiž vím, co je client a co server.
Aby klonováni fungovalo správně je ještě potřeba upravit IP adresu v souboru
/etc/klonovani.conf
Nastavení zavaděče se provádí v konfiguračním souboru /boot/grub/menu.lst.
chmod 600 /boot/grub/menu.lst
timeout na řádku asi 19. Doporučuji hodnotu 20. Jako 20 sekund.
password na řádku asi 30. Musí se to odkomentovat -- zrušit hash(#) a napsat tam vlastní heslo.
vga= v parametrech jádra při bootování.
Řádek 81 změňte na:
# defoptions=vga=788Ten hash je třeba tam nechat! Potom pustit
update-grub.
... ... ... ### END DEBIAN AUTOMAGIC KERNELS LIST # This is a divider, added to separate the menu items below from the Debian # ones. #title Other operating systems: #root # This entry automatically added by the Debian installer for a non-linux OS # on /dev/hda1 title Microsoft Windows XP Professional root (hd0,0) savedefault chainloader +1 title Debian GNU/Linux root (hd0,1) savedefault chainloader +1 title Image lock root (hd0,3) kernel /boot/vmlinuz-2.X.XX-X-XXX root=/dev/hda4 vga=788 ro initrd /boot/initrd.img-2.X.XX-X-XXX savedefault bootŘádek
lock u položku Image zakazuje boot klonovacího systému pokud nezadáte heslo.
Mám kompletně nainstalované a nastavené jedno PC. Napřed musím na ostatní počítače přenést rozdělení disku a klonovací systém. Ostatní už by pak mělo jít samo. Postup bude následující:
/dev/hda4) a MBR.
Obojí umí partimage.
/dev/hda4)
# mkswap /dev/hda3Napsal jsem to i do Makefile, takže pokud pustíte
make client až po klonovani, tak se to udělá samo.
Pozor na problémy se síťovým rozhraním popsané výše.
Mě se pro tyto účely osvědčila distribuce Damn small Linux. Lze ji jednoduše vypálit nebo dostat na flash disk. Oficiální dokumentace uvádí postup instalace na usb flash disk. Já jsem to dělal následovně:
# dd if=bootfloppy-usb.img of=/dev/fd0 bs=512Takle je to asi správně. Niméně
# cat bootfloppy-usb.img >/dev/fd0mi taky vždycky fungobvalo. :-)
/cdrom.
Bootovat doporučuji jako dsl 2.
Naběhne to jen do textového režimu -- a to úplně stačí.
Pokud v DSL potřebujete superuživatele použijte příkaz sudo
$ sudo <příkaz>
nebo:
$ sudo bash # <příkazy>
Další dobrou zkušenost jsem udělal s SystemRescueCd. To lze také nainstalovat na USB flash disk a obsahuje program Partimage.
KONEC šmitec