Co to je a kde se to hodí
SystemRescueCD (SRC) je linuxová distribuce založená na Gentoo, která umožňuje rychlé vyřešení nejrůznějších problémů. Obsahuje řadu nástrojů, které umí zpříjemnit práci s daty, s celými systémy nebo jen otestovat funkčnost daného hardwaru. Tak jako tak, vždycky se hodí mít SRC u sebe.
Otázkou tedy zůstává, do jakých situací se můžeme dostat a z jakých nám SRC pomůže. Navíc i když žádný problém nemáme, stejně nám SRC dokáže pomoci s jinými věcmi. Uživatelé Gentoo ho mohou využívat při instalaci ze stage3. Krátký seznam napoví, k čemu je SRC dobré a co umí opravit:
- Poškození souborového systému
- Poškození LVM metadat
- Chyba při aktualizaci jádra
- Chyba v init skriptech
- Poškození některých důležitých souborů díky výpadku
- Absence ovladačů řadiče disku v jádře/initrd
- Absence našeho souborového systému v jádře/initrd
- Instalace nejrůznějších distribucí
- Sestavování vlastního systému
Jak to nainstalovat
Podporované architektury jsou x86 32bit a 64bit, SPARC a PowerPC. Pokud svoji architekturu známe, přejdeme na stránky projektu, kde najdeme odkazy na stažení. Stáhnout můžeme i starší verze. Po stáhnutí relativně malého iso souboru (245 MB) se můžeme dát do instalace.
Na výběr máme několik možností. Buď iso soubor vypálíme na CD a tím pro nás práce s instalací končí, a nebo použijeme univerzálnější způsob ve formě instalace na USB flash disk.
CD
První varianta je jednoduchá a iso můžeme předhodit většině vypalovacích programů v Linuxu. Po vypálení je CD připraveno k nabootování, stačí v BIOSu toto chování nastavit
USB Flash a disk
Instalace na USB Flash disk není o moc složitější. Začneme tím, že vložíme USB disk do našeho stroje.
Najdeme si označení v dmesg.
Spustíme fdisk a smažeme všechny oblasti na něm.
Vytvoříme novou oblast. A uložíme tabulku pomocí w.
Vytvoříme souborový systém. Když používáme jako zavaděč Grub nebo LILO, můžeme vybrat prakticky kterýkoli souborový systém, ale když zůstaneme u původního syslinuxu, jsme omezeni pouze na FAT.
Vytvoříme si dva adresáře v /mnt a připojíme iso soubor a naší novou oblast.
Zkopírujeme obsah iso souboru na USB flash disk a odpojíme ho.
cp -a src/* usbflash
umount src
Teď přichází chvíle, kdy se musíme rozhodnout, jak budeme jádro SRC zavádět. Nejdříve trochu teorie zavádění systému. Přeskočíme část kolem BIOSu a dejme tomu, že zavaděč již zavedl jádro a předal mu potřebné parametry. Mezi nimi najdeme i tzv. initrd, který obsahuje jednoduchý linuxový systém, většinou založený na busyboxu. Ten se nakopíruje do ramdisku a připraví hardware k činnosti (nadetekuje ho a zavede moduly), případně nastaví ještě další parametry, připojí originální root a boot pokračuje spuštěním procesu init z připojeného rootu. Takhle bootuje většina velkých distribucí. SRC není výjimkou, pouze originální root tu je ztvárněn dvousetmegovým obrazem systému. Díky tomu lze se SRC dále pracovat, pod pokličkou je to pořád Gentoo.
S USB diskem můžeme pracovat jako s obyčejným diskem. To znamená, že se nemusíme omezovat pouze na zavaděč syslinux, jenž se při podobných situacích hodí, ale můžeme použít třeba i Grub nebo LILO. Osobně preferuji Grub, a to z důvodu pohodlnějšího řešení problémů.
Vývojáři SRC na svých stránkách uvádějí postup pro syslinux. Ten spočívá ve zkopírování obsahu adresáře isolinux do kořenového adresáře USB disku a přejmenování souboru isolinux.cfg na syslinux.cfg.
Po zavolání:
syslinux /dev/sdXY
Se zavaděč nainstaluje a SRC by měl jít z USB disku nabootovat.
Tento postup nemůžeme aplikovat na disk, na kterém již je nějaký zavadeč nainstalovaný. Vyzkoušíme si proto také instalaci Grubu a jeho konfiguraci tak, aby se SRC dokázal spustit. Můžeme si potom nakopírovat SRC vedle našeho hlavního operačního systému a řešit s ním nastalé problémy.
Instalace Grubu není o moc složitější než u Syslinuxu. Komplikace spočívá ve vytvoření menu.lst, ze kterého čte Grub.
Začneme tím, že vytvoříme adresář /mnt/[flash]/boot/grub a z našeho originálního systému do něj překopírujeme všechny soubory z adresáře /boot/grub.
Vlezeme do adresáře /mnt/[flash]/boot/grub a upravíme soubor device.map, tak aby souhlasil s naší konfigurací. Např.:
(hd0) /dev/sda
(hd1) /dev/sdb
(hd2) /dev/sdc
(hd3) /dev/sdd
Poté si otevřeme v textovém editoru soubor menu.lst a na základě konfiguračních souborů isolinux.cfg (syslinux.cfg) si vytvoříme záznamy o jednotlivých jádrech a parametrech. Výsledek bude vypadat takto:
default 0
timeout 10
title 32 bit
root (hd0,0)
kernel /rescuecd
initrd /initram.igz
title 64 bit
root (hd0,0)
kernel /rescue64
initrd /initram.igz
title 32 bit - alternative
root (hd0,0)
kernel /altker32 video=ofonly
initrd /initram.igz
title 64 bit - alternative
root (hd0,0)
kernel /altker64 video=ofonly
initrd /initram.igz
title 32 bit - vesa
root (hd0,0)
kernel /rescuecd forcevesa
initrd /initram.igz
title Freedos
root (hd0,0)
kernel /memdisk
initrd /bootdisk/freedos.img
title Memtest
root (hd0,0)
kernel /memdisk
initrd /bootdisk/memtestp.img
Nakonec nainstalujeme Grub na USB flash disk.
grub-install --root-directory=. /dev/sdXY
Než odpojíme USB flash disk, tak nastavíme prvnímu oddílu bootovací příznak pomocí fdisku (písmenko a) a jsme připraveni bootovat.
Postup lze obdobně použít i při instalaci SRC jako vedlejšího systému. Tam pouze upravíme menu.lst a nastavíme správně číslo disku a oddílu.
Co to obsahuje
Používat SRC lze jak z grafického tak z textového prostředí. Pokud jde o to textové, tak k dispozici má uživatel zsh shell, editory vim,nano,qemacs a joe, webový prohlížeč lynx nebo souborový manager Midnight Commander. Programy jako fdisk nebo cfdisk jsou samozřejmostí. SRC podporuje víceméně všechny linuxové i nelinuxové souborové systémy včetně btrfs, ext4 a NTFS. Starost nám nemusí dělat ani LVM nebo softwarový raid. Na všechny takové disky se se SRC dostaneme.
Po spuštění Xorgu se nám objeví nakonfigurovaný WindowMaker, který obsahuje ikonky pro práci s GParted, Firefoxem, terminálem a editorem geany. Xorg se nemusí dlouze konfigurovat. Když ho spustíme přes nástroj wizard, dostaneme na výběr několik možností, z nichž alespoň jedna by měla fungovat.
Závěr
Již mnohokrát se mi stalo, že jsem svůj systém nenabootoval. Není to ani tak dlouho, co jsem zapomněl na vytvořený LVM snapshot mého roota, který se po týdnu naplnil a já už nenabootoval. Tenkrát jsem musel shánět CD a nechat si vypálit nějakou live distribuci, ve které jsem mohl snapshot odstranit. Řešení se SystemRescueCD je ale mnohem pohodlnější, a takového překlepy se pak řešení několikanásobně kratší čas. Když se nám to stane v době, kdy nás zrovna tlačí nějaký termín, tak kromě času ušetříme i spoustu nervů a peněz.