HTML

Bagoj úr blogja

Kíváncsi Bagoj befigyel a Linux belsejébe, illetve különféle Linux terjesztéseket próbál ki. Ha jó napja van, scriptet ír Neked.

Friss topikok

Linux boot 5 másodpercen belül?!

2008.10.13. 09:04 bagoj ur

Végre megcsinálták. A Linux Plumbers Conference-en az Intel két mérnöke bemutatott egy öt másodpercen belül bootoló EEE PC-t. Nem hiszem, hogy lehetne gyorsabbat azzal a technológiával, amelyet ma használnak a PC-k. Természetesen a memória lecserélése nemfelejtősre lecsökkentené ezt is majdnem azonnali használatbavételre, illetve célgépeknél ez évtizedek óta működik, gondoljunk csak az autónkra - ha a gyújtáskulcs elfordításakor elkezdene egy Ubuntus bitkolbászt húzni, a fejem már rég felrobbant volna az idegtől. Szerencsére az autó azonnal indul. :-)

"Háhogy'"?

És hogyan sikerült elérni mindezt? Nem azt a módszert alkalmazták, amit sokan előttük, azaz itt is nyernek fél másodpercet, ott is két tizedet és végül elmondhatják, hogy kicsit sikerült javítani a boot időn, hanem megválasztottak egy szerintük reális felállást:

  • SSD drive-ról (azaz flash-alapú merevlemezről) bootolnak
  • A kernel egy másodpercen belül el kell induljon, minden modullal együtt
  • A boot közben lefutó szkriptek és programok: egy másodperc
  • X indítása: egy másodperc
  • A teljes grafikus környezet elindítása: két másodperc

Ebből talán kiderülhetett, hogy a gdm indítása helyett egyből a grafikus környezetbe bootolnak be. Splash screent természetesen nem alkalmaznak, ahogyan az egyik mérnök fogalmazott: "Utáljuk a splash screent. Az alatt az idő alatt, amíg megjelenik, már végezni is akarunk."

Az eredményhez behatóan elemezték a Fedora és Ubuntu terjesztések boot chart-jait, és kiderült, hogy rengeteg idő megy el olyan feladatokra, amik az emberek 5%-ának igényeit hivatottak kielégíteni. Pl. Ubuntun 12 másodpercig tart egy modprobe által indított shell script ami egy modprobe-ot indít el, hogy egyetlen kernel modult betöltsön. A bináris meghajtók (pl. bizonyos wifi meghajtók) betöltése 2,5 másodperc, de szerencsére a Linux jó hardvertámogatása miatt sok embernek nem kell azt használnia.

  1. Kernel módosítások: initrd elvetése, hardver inicializációk párhuzamosítása (AHCI és UHCI), és a readahead kernel-szintű támogatása (a readahead előre beolvassa a memóriába azokat a függvénykönyvtárakat és programokat, amelyeket sokszor vagy gyorsan kell használni később. A memóriából ezek sokkal gyorsabban elindulnak, hiszen nem kell a lassú diszkről felolvasni. A támogatás abból áll, hogy a kernel nyilvántartja, hogy mely blokkokat kell felolvasni a diszkről, így még keresgélnie sem kell).
  2. Init módosítások: Az upstart, amelyet a Fedora és Ubuntu is használ, az ősöreg init felváltására készült, és nagy gyorsulást vártak tőle. Ez a mai napig nem nagyon következett be (főleg mert félnek a kompatibilitási problémáktól). Az Intel mérnökei inkább visszaléptek az init-re, mert azt jobban tudták faragni. Ez egyrészt elindítja az általuk használt, módosított readahead-et, amely a memóriába cache-eli a szükséges programokat. Párhuzamosan megy a diszk ellenőrzés, a D-Bus indítása (amely a különféle processzek egymás közötti kommunikációjául szolgál, a Freedesktop.org szabványban rögzítettek szerint), majd az X indítása. Párhuzamosan, a harmadik szálon pedig a HAL daemon és az udev indul, amelyek a hotplug hardverek (pl. usb-s kütyük) felismerését teszik lehetővé. Ez a párhuzamosítás lehetővé teszi, hogy a CPU és a diszk I/O is maximalizálva legyen: mire az X elindul, addig a memóriában lesz minden, amire szüksége van, nem kell várnia. Az X további finomításokra szorult: például fél másodpercet tölt a videokártya detektálására, pedig azt a HAL megteszi már előtte (ez más hardver-detektálásra is igaz; reméljük az X-et abba az irányba fejlesztik tovább, hogy a kernelre hagyja a detektálást). Ugyanígy kicsit durva, hogy az X induláskor a különféle billentyűkiosztás-fájlok generálásához a C fordító precompilerét használja (!!!), tehát minden X indításakor elindul a C előfordító.

Érdekes ötlet, hogy a hibernáció utáni felálláshoz hasonlóan a legutolsó felhasználó session-jét állítanák vissza, bekapcsolt képernyővédővel, amely lehetővé teszi a felhasználóváltást, tehát helyettesítené a jövőben a GDM-et és egyéb bejelentkeztető programokat.

Én még annyit tennék hozzá, hogy a kernel és init módosítások még rendben vannak, de az X-et más szabad operációs rendszerek is használják, úgyhogy nem lehet azok figyelembevétele nélkül átírni. Persze fordítási paraméterekkel sok minden elérhető, de a gyökeresen eltérő működés nonszensz. Végfelhasználóként engem mindenesetre csak az érdekel, hogy gyors legyen a boot. :-)

Amit ez alapján mindenki meg tud tenni, az initrd és a bináris driverek betöltésének kikapcsolása, ha nem szükséges. Az előbbihez talán segít ez a post. Végül pedig annak, aki nem hisz a dologban, itt a bootchart az öt másodpercen belül induló linuxról (XFCE4 grafikus környezetet indít el):

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Szólj hozzá!

Címkék: linux x boot hibernálás

Ha a Vörös Panda lusta, használjon Vízkeresztet!

2008.10.09. 07:28 bagoj ur

Már jó régen (Gnome <= 2.0 ) használtam az Epiphany böngészőcskét, amit akkor rendkívül használhatatlannak tartottam. :-) Mostanában viszont jókat hallok róla, hiszen C-ben írták, azóta sem sikerült elhíznia, ellenben a Gecko és a Webkit webolda-renderelő motort is tudja használni. A Gecko azért jó, mert akkor biztosan Firefox-kompatíbilis, a Webkit meg gyors (az egyéb véleményemet a Webkitről meg megtartom magamnak). Gondoltam, megnézegetem má'. Van jópár pozitívum, meg egy kis érdekesség, ami miatt nyomom ezt a postot.

Pozitív:

  • Tényleg iszonyat gyors. Saját grafikus felületet használ, nem XUL-alapút, mint a Firefox, ezért tényleg egy nagyságrenddel fürgébb.
  • Van adBlock, mouse gesture (ezt nem használom de sokan igen), popup blocker, képes megjegyezni jelszavakat (és elfelejteni is), a személyes adatok kezelésére külön kis menüje van
  • Kezeli a tanúsítványokat, tud könyvjelzőket netes oldalakkal szinkronizálni, van flash, greasemonkey, oldalsáv támogatás
  • Csoportosítani tudja a tabokat
  • Támogatja a beágyazott filmek/zenék továbbítását kedvenc médialejátszónknak.
  • Átveszi a Gnome aktuális témáját, tehát ehhez már nem kell külön letöltögetni
  • Támogatja a "Smart bookmark" (okos könyvjelző) dolgot; azaz egy könyvjelző képes paraméterként szöveget átvenni. Ezzel lényegében bármilyen kereső bar-t tudunk pillanatok alatt varázsolni. És persze az URL rész egyben Google kereső is.

Ami nem alapértelmezett, de beszerezhető extension:

  • Tabok kezelése hasonlóan a Firefoxhoz (csak egy becsukó gomb jelenjen meg az aktuális fülön)
  • Weboldal forrásának megtekintése hasonlóan, mint FF-ban (de nincs "view selection source")
  • Elméletben van youtube video letöltő, de nekem nem sikerült beizzítanom
  • Van session-kezelő (elmenthető és visszaállítható a tabok állapota), ezt nem próbáltam ki

Amit nélkülözni kell:

  • Image zoom (én ezt a kiterjesztést úgy szeretem! :-)
  • Nincs sztaki szótár kiegészítő, nincs web developer (ez utóbbi fájó)
  • Nincs önálló témázási lehetőség (pl. a kulcs-alakú előre-hátra gomb nekem nagyon tetszik, hát olyanom nem nagyon lesz)

Ami a jó hír, hogy ha nincs meg egy extension, simán meg lehet írni Pythonban, ugyanis a úgy oldották meg, hogy tetszés szerint bővíthető legyen. Sajnos hiányzik egy olyan jó és összeszedett oldal, mint a Firefoxhoz a Mozilla oldalán megtalálható kereshető gyűjtemény a kiterjesztésekből.

Ami problémákba belefutottam:

K: Hogyan kell telepíteni egy extension-t?
V: A home alatti .gnome/epiphany/extensions könyvtárba kell egyszerűen csak bemásolni az ephy-extension és .py/.pyc kiterjesztésű fájlokat. Ezután a Tools/Extensions alatt be lehet kapcsolni, újraindítás után.

K: Hogyan lehet beállítani a proxyt? A felületén nincs ilyen lehetőség.
V: Önállóan nem lehet beállítani, a Gnome-ban kell megadni és onnan veszi át. Ha nem használunk Gnome-ot (mint esetünkben én), akkor a gconftool-2 alkalmazással kell okoskodni:

gconftool-2 --set /system/http_proxy/host --type string "proxyszerver"
gconftool-2 --set /system/http_proxy/port --type string "proxyport"
gconftool-2 --set /system/http_proxy/use_http_proxy --type bool true
gconftool-2 --set /system/proxy/mode --type string "manual"

Ha szükség van olyan domainek megadására, amit nem kell proxyzni:

gconftool-2 --set /system/http_proxy/ignore_hosts --type string "localhost, .alma.hu, 192.168.1.0/24"

Vagy ha ehhez nincs kedv, akkor fel kell telepíteni a gconf-editor nevű csodaproggit, ami a Wnidows registry-editorához hasonló. Ott minden értelemszerű, szintén megkeressük a System/http_proxy tészt a fában, és átírjuk a kívánt értékeket.

K: Hogyan tudja átvenni más böngésző (pl. FF) könyvjelzőit?
V: Halvány fogalmam sincs. Fordítva működik a dolog, azt tudom, arra van leírás is az Epiphany oldalán.

K: Miért nem fókuszál új fül megnyitása után az URL-sávra?
V: Ez állítólag valami Gecko bug; csak akkor működik ha blank page-et állítok be kezdőoldalnak. Valamilyen szinten jogos...

K: Nem szúrja be középső egérgombbal az X vágólapjáról az URL-t!
V: Ismét a gconftool-2 a barátunk:

gconftool-2 --set /apps/epiphany/general/middle_click_open_url --type bool trueJa, és elfelejtettem egy óriási pozitívumot: a könyvjelzők nem hierarchikusan vannak felépítve, hanem címkék alapján több irányból is lehet keresni! Végre!

Verdikt:

+ Kicsi, gyors, és jó (a Firefox motorját használja jelenleg, de a Webkitre akarnak váltani, és az utóbbi is elérhető)

- Nagyon kötődik a Gnome-hoz, de szerencsére megvan nélküle is

Egyszerűbb felhasználóknak, akik amúgy sem használják a kismillió FF kiterjesztést, jó böngésző. Még pár tipp (angolul) a kezesebbé tételéhez:

http://linuxtidbits.wordpress.com/2008/01/10/epiphany-a-couple-of-tips/
http://linuxtidbits.wordpress.com/2008/03/12/quick-tip/
http://linuxtidbits.wordpress.com/2008/01/17/yahoo-as-default-email-client/ (itt No-Gnome-osok ismét a gconf-editort tudják segítségül hívni az alapértelmezett alkalmazás beállításához)

3 komment

Címkék: gnome internet egyszerű alkalmazások

Mentsünk végre egyszerűen! Sbackup

2008.10.06. 22:16 bagoj ur

Írtam már elég sokat ([1] [2] [3]) a mentésekről mostanában, és még minimum egy post lesz is. De most valami könnyedebbet írok, hogy nehogy valaki azt gondolja, hogy a Linux rendszerünket csak iszonyat bonyolult módon, konzolból, külön cd-ről bebootolba tudjuk menteni. Ha egyszerű desktop rendszerünk van, és csak a Linux partíciót mentjük, igen jó szolgálatot tesz az sbackup nevű programocska. Telepítsük:

apt-get install sbackup

Ezután a Rendszer / Adminisztráció alatt találunk egy "Simple Backup config" és egy "Simple Backup Restore" menüpontot - az elsővel a beállításokat és a mentéseket végezhetjük, a másodikkal értelemszerűen a visszaállítást. Indítsuk el az elsőt:

Mivel angolul van (egyelőre nincs fordítás), kicsit magyarázok. Az első fülecskén beállítható, hogy alapértelmezett mentést készítsen (ebben heti teljes és a teljes mentések között napi inkrementális mentés, a /home, /etc, /usr/local, és /var könyvtárak másolása a /var/backup alá, a multimédiás és 100Mb-nál nagyobb fájlokat nem menti), használja a többi fülön lévő beállítást, vagy csak egy sima manuális mentést csináljon (ekkor nem érvényesülnek a később megadandó időpontok).

Második fülecskén megadhatjuk a mentendő könyvtárakat (ezt akkor fogja használni, ha az első fülön a középső pontot választjuk), a harmadik fülön kivételeket adhatunk meg. Ez utóbbiakat megadhatjuk elérési úttal, fájltípussal, a nevét reguláris kifejezéssel vagy maximum mérettel. A negyedik fülön megadhatjuk a mentés helyét, ami lehet lokális könyvtár vagy távoli SSH/FTP szerver. Ez utóbbi értelemszerűen azért nagyon jó, mert a mentéseket célszerű nem a készítés helyén tartani, hiszen ha elesik a diszk, akkor elbukik a mentésünk is.

Elég egyértelmű a "Time" fülecske, ahol megadható hogy egyszerűen óránkénti/napi/heti/havi vagy saját időzítés (az utolsóhoz nem árt, ha a crontab-bal tisztában vagyunk, a man crontab sokat segít). Illetve készíthetünk mentést pontosan megadott óra:perckor is.

A legjobb az egészben a "Purging": ennek segítségével csökkenthetjük a foglalt méretet a régi mentések "ritkításával". Tegyük fel, hogy hetente teljes, naponta inkrementális mentést készítünk! Ekkor ha elértük a hét végét és újra készül egy teljes mentés, az inkrementálisokra már nem lesz szükségünk, úgyhogy azok törölhetők is. Hát ilyesmit csinál a "Purging". Beállíthatjuk, hogy egyszerűen az X napnál régebbieket törölje, vagy lehet progresszív (ugyan a "logaritmikus" kifejezést használja de szerintem a progresszív itt jobb szó, hiszen éppen azt a ritkítást végzi, amit az előbb vázoltam.

Az alsó gombokkal elmenthető a beállítás, és elindítható egy azonnali mentés. Egyszerű, grafikus, jól érthető, könnyen kezelhető. Én ezt fogom ajánlani azoknak az ismerősöknek, akiket különösebben nem köt le a parancssor, ehelyett inkább grafikus felületet használnának. Természetesen ez csak adatainkat menti, ezért a helyreállításkor érdemes együtt alkalmazni egy új (Ubuntu) telepítővel (itt olvasható részletesebben a módszer, csak az a parancssort használja. Ehelyett jól használható az sbackup), majd az alkalmazások felrakása után szépen helyreállíthatók az adatok. Ugyan a helyreállítás kicsit lassú, de a mentés és a helyreállítás is elég egyszerű, ezért bárki számára megtanítható.

3 komment

Címkék: gnome backup ubuntu alkalmazások biztonsági mentés bolondbiztos

Adatok mentése Partimage segítségével

2008.10.06. 14:33 bagoj ur

2. Teljes partíciók tartalmának mentése (első rész)

1. Első lépésként szedjük le a system rescue cd-t és írjuk ki egy korongra. Az első jó hír most fog érni bennünket: Az ezen található Partimage verzió le fogja tudni menteni az MBR-ünket is, így vissza tudja állítani majd a Grub rendszerbetöltőt.

2. Mentsük el a partíciós táblánk szöveges formáját! Ebből vissza fogjuk tudni majd állítani úgy körülbelülre a partíciókat.

Egy mount parancs kiírja, hogy is hívják a merevlemezünket ezen a héten:

/dev/sda1 on / type ext3 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda2 on /var type ext3 (rw,noatime)
securityfs on /sys/kernel/security type securityfs (rw)
Nagyszerű, ami a lényeg itt, hogy /dev/sda a vinyó, ezen a /dev/sda1 a "/", és /dev/sda2 a "/var". Nézzük a partíciós táblát:

bagoj@mycogen:~$ sudo fdisk -l /dev/sda
/dev/sda lemez: 250.0 GB, 250059350016 bájt
255 fej, 63 szektor, 30401 cilinder
Egység: cilinderek 16065 * 512 = 8225280 bájt
Lemezazonosító: 0x3954d97b

  Eszköz Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        3659    29390886   83  Linux
/dev/sda2            3660       30284   213865312+  83  Linux
/dev/sda3           30285       30401      939802+  82  Linux swap / Solaris
Ezt tegyük el fájlba és ne felejtsük el elmenteni! :-) sudo fdisk -l /dev/sda > particiok.txt

Megjegyzés: Itt majd páran javasolják, hogy lehet alkalmazni a dd if=/dev/sda of=particiok.dump bs=512 count=1 parancsot, de nekem valahogy nem sikerült ebből a partíciós tábla visszaállítása. Mellesleg ez az extended partíciókat nem is menti, ahhoz az sfdisk -d /dev/sda > extended_particiok.dump parancs kéne. Így hát inkább bízom a szöveges fájlban...

Ennek ellenére, ha valaki a vázolt két paranccsal mentette a partíciós tábláját, álljon itt a visszaállítás módszere is:

 dd if=particiok.dump of=/dev/hda
 sfdisk /dev/hda < extended_particiok.dump

3. Ezek után bootoljunk be a System Rescure CD-vel!

Amint az látható, ez egy testreszabott Gentoo Linux live cd. Az indulás után röviddel (sima enter a legelső menün, a billentyűkiosztásnál 18 és enter (azaz magyar kiosztás)) root parancssort kapunk, egy oldalnyi szöveges súgóval. Pont ez a kedvencem! Igazi férfimunka! :-)

Gyorsan kalapáljunk egy hálózatot: az ifconfig eth0 up; dhclient3 parancsok futtatásával DHCP-n máris kaptunk egy IP-címet. Ha esetleg nincs DHCP szerver kéznél, az ifconfig eth0 <IP-cím> netmask <netmask> parancs, illetve a route add default gw <gateway> parancs segít (a hálózati paramétereit nyilván mindenki tudja, aki nem az ne hálózatra mentsen!). Ezek után parancssorból fellőttem a mentőszoftvert: partimage. A karaktergrafikus felületen a szokásos le-fel, tab gombokkal tudunk közlekedni.

A képernyő tetején mindenféle fura nevű ram1, ram2, ... ram15 nevű partíciókat látunk, ezzel nem kell törődni. Ott vannak viszont alatta a mieink! Nekem sda1 (ntfs), sda2 (swap) és sda3 (ext3fs). Az ugye világos, hogy ha nem hálózatra és nem egyből DVD-re mentünk (azaz egy saját partícióra), akkor legalább egy partíciót nem tudunk elmenteni, valamint azon a partíción kell lennie elég helynek a mentéshez. Egyszerre csak egy partíciót tudunk kijelölni (amin a "fénygerenda" áll), illetve meg tudjuk adni, hogy mi legyen annak az image fájlnak a neve, amire mentjük a partíciót. Első okosság: Hogyan adjuk meg azt a partíciót, amire menteni akarunk? Hát, azt úgy hogy előbb fel kell csatolni, persze kézzel. Nem egy nagy buktató, ALT+F2-vel kérünk egy terminált, készítünk egy helyet a felcsatolásnak, majd fel is csatoljuk. Nekem van még egy partícióm, a /dev/sda5, én erre fogok menteni. Tehát most ezt gépelem be az ALT+F2 után:

mkdir /mnt/mentesek; mount /dev/sda5 /mnt/mentesek

A felcsatolásnak simán kell mennie, utána visszaváltok ALT+F1-gyel a partimage felületére és begépelem az "Image file to create/use" részbe teljes elérési úttal az image fájl nevét. Például ez nekem /mnt/mentesek/linugz.image lesz ha az sda3-at mentem, és /mnt/mentesek/windows.image, hogyha a /dev/sda1-en lévő ntfs partíciót menteném.

Megjegyzés: Ha van egy Windows gép a hálózatban megosztással, és oda mentenénk, akkor az előbb vázolt módszert kell szintén alkalmazni, az alábbi különbséggel:

mkdir /mnt/samba; mount -t smbfs //192.168.0.1/Temp /mnt/samba

Az "Action to be done" álljon a "Save partition into a new image file" álláson, szerver nevet pedig nem adok meg, tehát F5-tel mehetünk is tovább a második képernyőre.

A következő képernyőn választható a tömörítés módja (hagyjuk Gzip-en! Ennek oka az, hogy a 0.6.7-es verzióban egy hiba miatt a Bzip2-vel tömörített image-be nem tudja elmenteni az MBR-t). A "Check partition before saving" mindig egy hasznos dolog, hiszen ha hibás a partíciónk, itt az idő hogy meg tudjuk, ezért csak ellenőrizze bátran. Az "Image split mode" mindig jó, ha az "Into files whose size is....2037"-en áll, ekkor 2Gb-os darabokat fog gyártani ami DVD-re kiírható és minden oprendszer alatt lehet másolni is. Más szóval a második képernyőn én mindent úgy hagytam, ahogy volt. :-)

A harmadik képernyőn egy leírást adhatunk meg, én ide mindig beírom a dátumot és a partíció azonosítóját (esetünkben /dev/sda3), így mindig tudom, hol volt. Akinek több gépe van, itt megadhatja azt is, hogy ez most melyik gépe.

Az OK után elkezd dolgozni a kicsike, úgyhogy én épp nekiláttam egy krémtúró elfogyasztásának, amikor még egy ablakot feldobott, annak a partíciónak az adataival, amelyre a mentés készül. Simán nyomtam egy OK-t és foglalkoztam tovább a krémtúróval... "sajnos" sok időm nem volt, 5:35 alatt lementette az 1,1Gb-os partíciómat, majd visszalépett parancssorba. Az előbb elmondottakat lehet alkalmazni a többi partícióra is.

Kérdés: Na és hol lehet egyből DVD-re írni a partíció adatait?
Válasz: A Partimage önmagában nem képes CD-t vagy DVD-t írni, ehhez picit hegeszteni kell. Semmi nagy kaland, itt leírtam: DVD+RW packet writing.

Adatok visszaállításának menete

1. Bootoljunk be a SystemRescueCD-nkkel.

3. Csatoljuk fel azt a partíciót (esetleg DVD-t), amin az elmentett image fájl van.

3. Indítsuk el a partimage parancsot. Válasszuk ki felül azt a partíciót, amit vissza akarunk állítani. Válasszuk az "Action to be done" részen a "Restore partition from an image file" lehetőséget. Írjuk be az "Image file to create/use" részen az image fájl nevét teljes elérési úttal. (A mentéskor a split miatt egy ".000", ".001" kerül a fájl végére. A ".000"-t is be kell írni.) Választható opciók, hogy csak szimulálja a visszaállítást, illetve hogy nullákkal töltse fel a nem használt helyeket (a partíción, amire visszaállítunk, nyilván minden törölve lesz).

A visszaállítás 5:04 alatt sikerült is. Ne felejtsük el az MBR (azaz az abban lévő rendszerbetöltő és az elsődleges partíciós tábla) visszaállítását sem! Indítsuk el még egyszer a partimage-et, és a "Restore an MBR from the imagefile"-t válasszuk, majd újra ugyanazt az image-et. Az F5 után válasszuk ki, hogy hova akarjuk az MBR-t visszaállítani és kész is. FONTOS, hogy ha az MBR visszaállításakor valami hiba történik, akkor a szívás dedikált esete forog fenn: mindent elveszthetünk a merevlemezről! Én szóltam.

Mivel az MBR csesztetése mindig kockázatos, én azt szoktam csinálni, hogy a mentés 2-es lépésében elmentett fájlt odarakom az image mellé, és szépen megcsinálom kézzel a partíciókat, illetve a grubot kézzel telepítem az MBR-be. Erről is fogok írni nemsoká'.

Remélem, senki nem szontyolodott el, hogy ez bonyolult lenne. Nem az, de sok minden apróságot kell hozzá megtanulni. Ha egyszer sikerült bejáratni, akkor viszont nagyon gyorsan menni fog, egyszerűnek fog tűnni, plusz arcoskodhatunk is a UNIX tudásunkkal. :-)

3 komment

Címkék: gentoo parancssor livecd

Ötletek adatok mentésére Linux-szal

2008.10.05. 16:25 bagoj ur

Alcím: miért jó mégis a PartImage? :-)

 

Ördöngős operációs rendszer ez a Linugz, mert lehetővé teszi más operációs rendszerek mentését is - ezt nevezem igazi demokráciának! :-) Pár ötletet szeretnék megosztani azokkal, akik még nálam is kezdőbbek a témában. Mire végzünk, menni fog Linux és Windows partíciók mentése is.

Mentési stratégia

Először is azt kellene körbeírni, hogy mit is szeretnénk menteni? Menthetjük csak a dokumentumokat, beállításainkat; menthetjük a partíciók adattartalmát, vagy készíthetünk bitről bitre pontos másolatot akár egy partícióról, akár egy teljes merevlemezről.

Én előre szóltam: Ha valakinek nem tiszta a partíció, partícionálás, partíció típus, grub, boot loader bűvszavak és -kifejezések valamelyike, az nézzen utána, mert én nem szeretném az ennyire alap dolgokat kifejteni. A postjaim már így is egyre hosszabbak... :-) Esetleg ha valakinek kell ilyen, írja le a hozzászólásban és akkor írok egy bevezetőt is.
További feltételezésem, hogy a Linux is egyetlen partíció, a Windows is egyetlen partíció; és nem kell többel foglalkoznunk.

Miért jó az egyik, miért jó a másik? Ez a kis mágikus táblázatom választ ad:

Mentési módszer
Előnyök
Hátrányok
Csak adatok, beállítások mentése

+ Kis helyigény
+ Viszonylag gyors, lehet inkrementális
+ Részek helyreállítása is lehetséges

- A helyreállításhoz nem elég
- Könnyű kifelejteni lényeges dolgokat
Partíciók mentése+ Jól tömöríthető
+ Részek helyreállítása is lehetséges
+ Lehet inkrementális (de jó nehéz megoldani)
- Hosszadalmas
- A helyreállításhoz még mindig nem elég (partíciós tábla, MBR hiányzik) - szerencsére azt külön el lehet menteni.
Bitazonos másolat+ Egy az egyes másolat, tökéletes visszaállítás
+ Teljes merevlemez mentésnél minden információt tartalmaz
- Nagyon lassú
- Helyigényes, csak utólag tömöríthető
- Ha nem ugyanoda állítjuk vissza, trükközni kell

 

Egy kicsit részletesebben is mindegyikről:

  1. Ha csak adatokat mentünk, akkor lényegében letömörítjük azt a pár könyvtárat, ahol az adataink vannak. Ez persze lehet akár sokszáz giga is, de még mindig kevesebb, mintha a full partíciót mentenénk el (pl. bitazonos másolat esetén ez megegyezik a partíció méretével, mert azokat a részeket is lementjük ahol nincs is adat). Ami rákfene lehet, az az, hogy valamit esetleg kifelejtünk; állandóan észben kell tartanunk hogy hol változtattunk a rendszeren. Optimális esetben semmit nem változtattunk, és csak a home könyvtárat kell menteni, esetleg pluszban a naplófájlokat. De sajnos én már felejtettem ki a fejlesztéshez használt mysql táblákat, amik a /var/lib/mysql alatt vannak... További hátulütő (és ez független az operációs rendszertől), hogy ha vissza akarjuk állítani egy elromlott vinyó miatt a rendszert, akkor előbb újat kell telepítenünk, belőni a programokat stb. ami rengeteg időt elvesz, és az adatokat ill. beállításokat csak ezután tudjuk visszamásolni. Tehát a visszaállítás egy teljesen új telepítés, majd beállítgatás után tud megtörténni.
  2. Egy teljes partíció elmentése jobbnak tűnik, hiszen ott megvannak a programjaink is, illetve maga a rendszer és ennek visszaállításával nem kell gempózni. Remek, nem is volt olyan rossz ötlet a Norton Ghost, igaz? :-) Ráadásul tudunk tömöríteni a mentés közben, ami így nem lesz olyan gyors, de még mindig elég kicsi helyen elfér. Viszont egy partíció adattartalma nem tartalmazza magát a partíciós táblát és a Master Boot Recordot sem, ahol a GRUB szokott általában fészkelni - enélkül pedig hiába állítjuk helyre a dolgot, bootolni nem fogunk. Nade ez a partíció mentés annyira jól hangzik egyébként, hogy inkább megoldjuk. :-)
  3. A bitazonos másolatra akkor van szükségünk, ha egy operációs rendszer mindenféle hülye helyekre befészkeli magát, és nem hajlandó elindulni ha nem pontosan ugyanazt a környezetet találja maga körül. Akkor is alkalmazhatjuk ezt a mentést, amikor nem ismert vagy nem támogatott a fájlrendszer. Szóval, ha muszáj, akkor muszáj ezt alkalmazni. És ha ügyesek vagyunk, ez is tömöríthető mentés közben. A visszaállítás csak ugyanakkora partícióméretre történhet (ellenkező esetben a partíciós tábla és a partíció mérete inkonzisztens lesz, és javítani kell - szerencsére javítható, bár a gyakorlat néha ezt cáfolja); esetleg még nagyobb partícióra is vissza tudunk állítani. Ha a teljes lemezt mentjük, akkor pedig csakis ugyanarra, vagy ugyanolyan geometriájú merevlemezre tudunk visszaállítani. Ráadásul a mentéshez szükségünk van egy másik partícióra legalább annyi szabad hellyel, mint amekkora partíciót mentünk. Hát, ez van.

Mire lesz szükség?

Az első két módszerhez mindenképp kell egy Ubuntu (vagy más szabad operációs rendszer) telepítő cd-re. A második és harmadik módszerhez egy System Rescue CD is fog kelleni, amit szintén ki kell írni.

1. Csak adatok mentése

Nagyon egyszerű módszer majdnem a teljes partíció mentésére. Én ezt nem alkalmaznám, mindjárt leírom, miért:

bagoj@mycogen:~$ sudo tar -cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys --exclude=/dev /

Kis magyarázat: A tar egy fájlba képes több fájlt csomagolni, szóval kicsit olyan, mint a ZIP. A kapcsolói:

  • c=új csomag készítés,
  • v=kiírja, hogy épp melyik fájlnál tart,
  • p=megőrzi a fájlok tulajdonosát és a jogosultságokat (nagyon fontos!)
  • z=a gzip segítségével tömörítse a fájlokat (ha ide z helyett j-t írunk, akkor a bzip2-t fogja használni, ami általában jobb hatásfokú, de még mindig nem mindenütt támogatott. Ha a j kapcsolót használod, a fájlt <név>.tar.bz2-nek nevezd el
  • f=ezután kell megadni a fájlnevet, ami most backup.tgz
  • --exclude paraméterek=ezeket a könyvtárakat hagyja ki. Ezek mindegyike olyan, hogy az új rendszer automatikusan létre fogja hozni; nem kell az.

Ahogyan a visszaállítás mószeréből lehet majd látni, kiderül hogy ez nem feltétlenül jó módszer, hiszen elmentjük a telejs rendszert, tehát ha mondjuk egy újabb verziót fogunk majd telepíteni (esetleg újabb csomagok lesznek már akkor, mikor visszaállítunk) és arra rámásoljuk a régebbi állapotot, annak eléggé megjósolhatatlanok a következményei. Javaslom inkább azt, hogy szemezgessünk a beállításokból. Ami fontos lehet (aztán ennek fontosságát majd mindenki eldönti):

KönyvtárMiért kell?
/etc/alternativesLinkek vannak a feltelepített alkalmazásokra, általános nevekkel. Pl. a www-browser mutathat a lynx-re, vagy a firefox-ra. Egy csomó más alkalmazás az egységesség miatt innen indítja el a böngészőt (vagy egyebet).
/etc/apt/sources.list.d/Én ebbe a könyvtárba szoktam belerakni a fájlokat azokkal a repókkal, amik nem részei az alap Ubuntunak. Ezt javaslom nektek is.
/etc/fstab, /etc/hostname, /etc/login.defs, /etc/network/, /etc/networks, /etc/passwd, /etc/resolv.conf, /etc/security/, /etc/shadow, /etc/sudoers, /etc/wpa_supplicant/, /etc/X11/xorg.conf, /etc/gdmKülönféle rendszerdolgok. A passwd, sudoers és a shadow csak akkor kell, ha meg akarjuk őrizni a felhasználóinkat, a wpa_supplicant csak akkor ha van wifi, a login.defs, a security könyvtár és a xorg.conf csak akkor ha belenyúltunk kézzel.
/var/logNaplófájljaink
/homeA felhasználók könyvtárai

Ha úgy járunk el, ahogyan a nagy könyvben meg van írva, akkor nem nagyon van keresnivalónk más rendszerfájlokban (ha meg valamit kihagytam, szóljatok). A testreszabást úgyis mindig a saját home-unkban végezzük (.themes, .fonts nevű rejtett könyvtárak stb.), az pedig mentésre kerül. Én még egy dolgot szoktam megtenni, elrakom hogy milyen csomagok voltak feltelepítve. Így majd az új rendszernél látni fogom, mit hagytam ki:

dpkg-query -W --showformat='${Package}\n' > /csomagok.txtRakjuk össze tehát a dolgot:

bagoj@mycogen:~$ dpkg-query -W --showformat='${Package}\n' > /csomagok.txt
bagoj@mycogen:~$ sudo tar -cvpzf backup_system.tgz /etc/alternatives /etc/apt/sources.list.d/ /etc/fstab /etc/hostname /etc/login.defs /etc/network/ /etc/networks /etc/passwd /etc/resolv.conf /etc/security/ /etc/shadow /etc/sudoers /etc/wpa_supplicant/ /etc/X11/xorg.conf /etc/gdm/ /var/log/ /csomagok.txt --exclude=/home/bagoj/backup_system.tgz
bagoj@mycogen:~$ sudo tar -cvpzf backup_homes.tgz /home/ --exclude=/home/bagoj/backup_system.tgz --exclude=/home/bagoj/backup_homes.tgz
Mint látható, a /home alatti dolgokat külön tettem, mert a home könyvtárak elég nagyok is lehetnek. Ha a 2Gb-ot túllépjük, akkor azt nehéz lesz majd DVD-re írni! Mivel a tar (tudtommal) nem képes a fájlok darabolására; ezt megtehetjük a split paranccsal.

Az adatok visszaállításának menete

1. Feltelepítjük a kedvenc operációs rendszerünket

2. Ellenőrizzük az alap telepítésen, hogy mi hiányzik:

bagoj@kajszi:~$ tar -xvpfz backup_homes.tgz csomagok.txt
bagoj@kajszi:~$ dpkg-query -W --showformat='${Package}\n' > uj_csomagok.txt
bagoj@kajszi:~$ diff csomagok.txt uj_csomagok.txt > feltelepitendo_csomagok.txt
3. Ezek után feltelepítjük az összes szükséges programot a szokott módon (esetleg a feltelepitendo_csomagok.txt-t egy kis parancssoros okosságba irányítva automatikusan is fel tudjuk rakni őket).

4. Visszaállítjuk az adatainkat:

bagoj@kajszi:~$ sudo tar -xvpfz backup_system.tgz -C / && sudo tar -xvpfz backup_homes.tgz -C /

Ezután indítsuk újra a gépet! Ha jól vettük az akadályt, még a Gnome beállítások is a helyükön vannak.

Mivel kicsit hosszúra nyúlna a post, külön fogom leírni a Partimage használatát.

2 komment

Címkék: windows linux backup biztonsági mentés

süti beállítások módosítása