Stránka 1 z 1

Klonování (a instalace) debianu wheezy

Napsal: ned 07. črc 2013 23:20:12
od xsouku04
Pořídil jsem novou základní desku Gigabyte GA-H61M-S2PV, líbí se mi, že spolu s procesorem má zabodovanou pro kancelářské použití kvalitní grafiku (využívá přímo procesor) a dva sloty PCI.

První problém, na který jsem narazil je, že tahle deska odmítá bootovat netinstall iso image debian z USB klíčenky.
Update: Vypadá to, že v tom má možná prsty vadná usb klíčenka, projevoalo se to tak, že "bios" v okamžiku zatuhnutí usb klíčenky zatuhnul a nechtěl bootovat.
Debian usb klíčenku jsem jako obvykle vyrobil pomocí dd příkazu.
Má totiž jakýsi UEFI dual BIOS, který zjevně bootuje jen z usb klíčenek, které jsou formátovány povoleným Windows způsobem. Článek na téma UEFI paskvil a debian

Cituji příspěvek pod článkem : "The UEFI specification itself is complicated, inspired by systems such as DOS which should have been forgotten rather than taken as models, it allows for evil stuff such as vendor locking, implementations are often quite buggy, but it is already replacing BIOS in new motherboards and there may be a time when we no longer have BIOS compatibility.
And for the boot process, I think it is far more clean and flexible than BIOS: instead of simply executing a hard-coded sector of the disk (which only allows to boot a single loader), it has a configured boot manager which can offer a choice between several operating systems and load regular files from a file system."

Totiž usb klíčenku se SystemRescueCD bootuje bez potíží, zjevně proto, že je formátována na FAT32.

Instalaci jsem tedy provedl z CD mechaniky.

Další potíž byla, že kvůli "modernímu" způsobu bootovaní (u)EFI cca 500 MB velkou oblast s fat32 hned na začátku, aby by onen UEFI bios byl schopen vůbec nabootovat.

Nainstaloval jsem základní debin wheezy aby sloužil jako rescue systém a instalátor zavaděče GRUB s tím, že hlavní systém zkopíruji (naklonuji) z jiného počítače, kde už je více vyladěné nastavení pro konkrétního uživatele.

Systém linux, lze totiž bez potíží klonovat z počítače na počítač obyčejným příkazem cp -a.

Na počítači, který jsem chtěl klonovat, jsem si spustil rescuecd z USB klíčenky. Namountoval příslušnou partition, kterou jsem chtěl klonovat z celým systémem.
No a na rescue debian wheezy s novým počítačem jsem si tento disk namountoval pomocí

sshfs root@192.168.0.194:/ /mnt/ke_klonovani

Namountoval jsem oblast, do které jsem chtěl provést klonování do /mnt/sda4 pomocí

mount /dev/sda4 /mnt/sda4

Kde /mnt/sda4 byl obyčejný předem vytvořený adresář.

A klonování jsem provedl pomocí

Kód: Vybrat vše

cd /mnt
cp -a ke_klonovani/. sda4
Příkaz cp je nutné spustit na novém systému jako root, protože jinak nemá dostatečná práva na zapisování všech speciálních typů souborů.

Jako další věc bylo nutné upravit /mnt/sda4/etc/fstab tak, aby se v naklonovaném systému používaly správné oddíly. Určitě došlo ke změně UUID používaných oddílů a to kdyby název oblasti jako /dev/sda1 zůstal stejný.

Bohužel debian wheezy defaultně používá nyní grub2, který má konfiguraci poněkud složitější. Grub2 si zjevně lépe poradí s moderním výmyslem typu EUFI, takže jsem v tomto případě nebyl proti.
Grub2 nemá jediný konfigurační soubor jako starší grub (/boot/grub/menu.lst), kterému se nyní říká legacy.
V novém grubu je konfigurace rozházena v adresáři /etc/grub.d/ a souboru /etc/default/grub . Samotný konfigurační soubor se generuje pomocí příkazu upgrade-grub. Velká výhoda nového grubu tedy spočívá ve snadnější automatizaci změn nastavení. Pro přidání další bootovací možnosti stačí přidat soubor do adresáře /etc/grub.d/ a spoustit update-grub.
Skript /etc/grub.d/30_os-prober dělá automatickou detekci dalších nainstalovaných systémů, takže položku pro nově naklonovaný debian sám přidal. Bohužel chybně nastavil bootovací parametr kernelu root=UUID=3f479e85-fb5f-40d8-a833-ab435cab37aa na neexistující disk, jehož ID nevím kde získal. Je proto nutné tento záznam opravit a vepsat to do scriptu custom.

Podle archlinux wiki je údajně možné klonovat i běžící systém. V tomto případě doporučují vynechat kopírování adresářů /dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found. Jako v hodnější nástroj doporučují rsync.
Cituje "allows greater control over file permissions, attributes, Access Control Lists (ACLs) and extended attributes." Mě ale přijde použití příkazu cp -a přímočařejší a o tom, že by to poškodilo nějaké běžně používané atributy nevím.

Rsync může být ale mnohem vhodnější na pravidelné zálohy běžícího systému, protože v tom případě se přenáší jen změny.

Kód: Vybrat vše

rsync -Hazx -v --numeric-ids --delete  root@ip_adresa_meho_serveru:/  /mnt/lokalni_kopie_meho serveru   --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found}
Tento skript spustíte jako root na systému, na který chcete udělat lokální kopii. Jedině lokální root může totiž provádět zápis všech i pro něj neznámých atributů bez omezení.

Pokud nechceme, aby se změnilo mapování síťových zařízení (tedy aby se internet stále připojoval přes eth0), přečtěte si předešlí příspěvek na našem fóru.http://forum.odorik.cz/viewtopic.php?f=12&t=1530