Jak naklonovat počítač? Asi jediná možnost je nainstalovat na něj systém, nastavit si ho podle svých potřeb (mám na mysli nastavení systému, ne takové věci, jako je pozadí na ploše ;), potom udělat jeho kopie na ostatní počítače, a na nich už změnit jenom takové věci, jako je jméno počítače, ip adresa atd. A jak na to?
No v zásadě existují tři cesty. Buďto použijete standardní unixové nastroje a zkopírujete soubory, nebo použijete tytéž (no dobrá, ne _úplně_ tytéž ;) nástroje a zkopírujete celé partišny, a nebo použijete přímo k tomuhle určené programy (je tady ještě jedna cesta, a to opakovaná instalace podle šablony, kterou popisoval na ROOTovi Vac, ale ta tohle neřeší, protože jenom nainstaluje systém a konfiguraci nechá na správci).
Takže tady je první cesta. Jmenuje se tarová, podle hlavního (takříkajíc nosného) programu. Budete potřebovat nějakou minidistribuci obsahující tar, podporu sítě, ssh, a to je asi tak všechno. Ještě podotknu, že tuhle metodu můžete použít jenom na Linux nebo na Unix, s jehož souborovým systémem umí Linux pracovat. Takže tady je postup.
Napřed si na zdrojový počítač nainstalujte nějakou distribuci a nastavte si ji, jak uznáte za vhodné. Až bude vypadat podle vašich představ, nastartujte minidistribuci, nahoďte síť (klony se budou ukládat na serveru), připojte partišnu se systémem, který chcete klonovat, a přejděte do ní. A teď samotná akce – spusťte
# tar -cp ./ | ssh uzivatel@server "cat > /tmp/cil.tar"
kde nahraďte uzivatel, server a /tmp/cil skutečnými hodnotami (silně doporučuji vytvořit si na schraňování klonů zvláštní účet). Pokud budete chtít data zkomprimovat, přidejte taru odpovídající parametr (tj. -z pro gzip, -j pro b2zip) Pokud budete chtít vědět, jak je tar daleko, přidejte parametr -v. Tím je práce na zdrojovém počítači u konce.
Na cílovém počítači nastartujte minidistribuci, vytvořte odpovídající partišny, naformátujte je, připojte a přejděte do místa, kde jsou připojeny. Potom spusťte
# ssh uzivatel@server "cat /tmp/zdroj.tar" | tar -xp
(to xp je tam skutečně jenom náhodou ;). Až bude tohle hotovo, chrootněte se do už naklonovaného systému, upravte věci, ve kterých se má tenhle systém od toho původního lišit (ip adresa, hostname, fstab), a nezapomeňte obnovit bootloader, jinak systém nenastartujete. Až tohle všechno bude hotovo, můžete se jenom těšit z nově naklonovaného systému.
Bohužel tahle cesta má jednu nevýhodu: Nelze ji použít na jiný systém než na Linux. K tomu je tady ta druhá cesta.
Ta spočívá v používání programu cat, proto se jí dá říkat třeba catová, nebo česky kočičí. Jediný rozdíl oproti té předcházející je v tom, že se partišny nemontují, ale kopírují celé. Má to svoje výhody i nevýhody. Výhodou je, že můžete klonovat jakýkoliv OS, nevýhodou je, že se partišny skutečně kopírují _celé_, tedy i s volným místem. Z toho vyplývá, že 5 GB partišna bude na serveru zkutečně zabírat 5 GB, i když bude zabraná jenom z poloviny. Postup je skoro totožný.
Opět si nainstalujte a nakonfigurujte distribuci, opět si nastartujte minidistribuci a opět si spusťte síť. Tentokrát ale už nebudete nic nikam mountovat a rovnou spustíte
# cat /dev/hda1 | ssh uzivatel@server "cat > /tmp/cil"
Pokud toužíte po kompresi (jako že asi ano), přiřaďte do řetězce mezi cat a ssh bzip2. Nějak takhle
# cat /dev/hda1 | bzip2 -s | ssh uzivatel@server "cat > /tmp/cil.bz2"
Postup pro cílový stroj je opět velmi podobný. Nastartujte minidistribuci, rozdělte disk (POZOR, cílová partišna musí být stejně velká jako zdrojová, a to na sektor) a spusťte
ssh uzivatel@server "cat /tmp/zdroj" > /dev/hda1
S (de)kompresí tohle
ssh uzivatel@server "cat /tmp/zdroj.bz2" | bunzip -c > /dev/hda1
Teď připojte čerstvě naklonovanou partišnu, chrootněte se do ní, upravte rozdíly a spusťte bootloader. A opět se můžete těšit z nově naklonovaného systému.
Ale občas je ale potřeba skloubit obě možnosti do jedné, tedy klonovat jiný OS než Linux a přitom nepřenášet celou 40 GB partišnu. K tomu je tady třetí cesta, založená na používaní programu Partimage.
Partimage je projekt, o kterém každý klonér snil. Přetahuje jenom obsazené místo, a to na reiserfs, ext2/3, fat12/16/32, ntfs, jfs, xfs, hpfs, hfs a ufs a má vestavěnou podporu sítě. Způsob použití je skutečně jednoduchý a navíc se od těch předcházejících liší jen velmi málo. Tady je.
Napřed si budete muset připravit minidistribuci. Buďto do nějaké stávajcí nakopírujete binárku partimage (na stránkách projektu jsou i staticky linkované), nebo použijte už připravenou, která je také k nalezení na stránkách projektu.
Opět si nainstalujte váš oblíbený systém, opět si spusťte minisistribuci, opět si nahoďte síť. Potom na serveru spusťte program partimaged a na klientovi partimage. Vyberte partišnu ke klonování, soubor, kam se image uloží, zaškrtněte zaškrtávátko Connect to server a do kolonky IP of server napište adresu serveru. V další obrazovce potom vyberte druh komprese a v další napište nějaký popisek (jesti nechcete, tak nemusíte).
Až partimage skončí, přesuňte se k cílovému stroji, kde proveďte totéž (tj. spustit minidistribuci, nastavit síť, rozdělit disk, spustit partimage), až na to, že místo Save partition into a new image file zaškrtněte Restore partition from an image file. Stiskem <F5> se presuňte dál a potom jestě dál a potom už se data (konečně) zkopírují. Potom připojte partišnu, proveďte změny a nezapomeňte na boot loader. A můžete si užívat s nově naklonovaným počítačem.
A to je vše. Doufám, že vám tyhle informace byly nějak užitečné. Ať už přímo, či jenom na rozšíření obzorů.