Hlavní navigace

SystemRescueCD: když je třeba pomáhat a chránit

23. 1. 2009
Doba čtení: 5 minut

Sdílet

Dřív nebo později se v každém systému objeví problém. Špatně se aktualizuje jádro, vývojáři vyhodí z initrd ovladač pro náš oblíbený řadič nebo se souborový systém ocitne v takovém stavu, že není možné z něj nabootovat. Na tyhle stavy existuje jednoduché řešení v podobně záchranné distribuce SystemRescueCD.

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.

usb-inst1.png

Spustíme fdisk a smažeme všechny oblasti na něm.

usb-inst3.png

Vytvoříme novou oblast. A uložíme tabulku pomocí w.

usb-inst5.png

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.

usb-inst8.png

Vytvoříme si dva adresáře v /mnt a připojíme iso soubor a naší novou oblast.

usb-inst9.png

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.

sysres-prew1.png

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.

CS24_early

sysres-prew2.png

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.

sysres-prew3.png
sysres-prew4.png

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.

Odkazy

Byl pro vás článek přínosný?

Autor článku

Adam Štrauch je redaktorem serveru Root.cz a svobodný software nasazuje jak na desktopech tak i na routerech a serverech. Ve svém volném čase se stará o komunitní síť, ve které je již přes 100 členů.