- Szerkesztve
Fórumtársam kérdése késztetett gondolkodásra. A módszer előnye, csakúgy, mint ahogy a GParteddel partíciót másolunk, ahol nem a partíció teljes mérete, hanem a partíción adatok által elfoglalt hely mérete számít, itt is a rendszerről készült mentés mérete csak rendszerpartíción lévő állományokat takarja szemben például azzal, amikor a teljes rendszerpartíciót mentjük le egy képfájlba.
Szóval van valahol (akár egy külső adathordozón) egy könyvtárunk, amibe ott a systemback.sh (ezt természetesen futtathatóvá tettük) és a
sudo ./systemback.sh -n
segítségével ide készítünk egy visszaállítási pontot.
Innen szükség esetén vissza tudjuk állítani a rendszerünk, de arra is használhatjuk, hogy ezt a rendszert átmásoljuk innen egy másik lemezre illetve partícióra. Hogyan? Erre a célra jó bármilyen futó linux rendszer, lehet ez akár a telepített rendszerünk, de megteszi egy live rendszer is, így máris kiszabadultunk a kiindulási rendszert tartalmazó gép fogságából. Készítettem a virtuális gépen egy új üres lemezt, indítottam egy live rendszert.A GParteddel elkészítettem a partíciós táblát (GPT) és a szükséges partíciókat (1 MB formázatlan , bios_grub zászlóval; 512 MB FAT32; a többi Ext4 [ez lesz a rendszerpartíció]). Egy setxkbmap hu
paranccsal magyarra állítottam a live billentyűkiosztását. Ahhoz hogy a (live) rendszerünkön futtatni tudjuk a systemback.sh
-t telepítve kell lennie az attr psmisc rsync csomagoknak, adjuk ki a:
sudo apt install attr psmisc rsync
parancsot, nehogy valamelyik hiányozzon!
A sudo parted -l
következett, hogy lássam melyik partíció kell nekem. Nagyjából a README.md szerint
Broken system files can be repaired from a Live system. Just manually mount the system partition(s) under the /mnt directory, and use the -m option.
jártam el:
sudo bash -c "$(wget -O- goo.gl/SXWYn7)" . -m
A sudo mount /dev/sdb3 /mnt
paranccsal felcsatoltam a leendő rendszer rendszerpartícióját. A sudo apt install mc
következett. A sudo mc
után könnyedén a mentési könyvtáramba navigáltam és ott kiadtam a sudo ./systemback.sh -m
parancsot.
Itt azért jött egy figyelmeztetés:
Ezt persze figyelmen kívül hagytam és szépen el is kezdődött a rendszerpartíció mentésének másolása. Aztán hozzájárultam a felhasználói adatok másolásához is. A végén azonban még nem nyomhattam entert, bármely más gombot kellett válasszak, hiszen egy ilyen másolás után van még azért egy-két teendő.
Kezdjük az /etc/fstab
-bal. Ebben a kiindulási rendszer bejegyzései szerepelnek. A sudo blkid
kimenetéből kiindulva írjuk át a célrendszer /etc/fstab
fájljában az aktuális helyzethez igazodóan minimum az UUID értékeket. Ha a kiindulási rendszeren volt swapfájl vagy partíció, akkor annak bejegyzése szintén ott van az fstab-ban, ám a swapfájl a systemback.sh a mentésbe nem veszi bele, így az nincs ott a célrendszer rendszerpartícióján. Ha hibás bejegyzés van az fstab-ban, akkor a bootolás el fog akadni, ezért én azt javaslom, hogy a swapfájlra vonatkozó esetleges bejegyzést egyelőre kommenteljük ki.
És akkor természetesen egy frissen formázott lemez így még nem fog bootolni, telepítenünk kell rá rendszerbetöltőt, nyilván a konkrét értékeket behelyettesítve (illetve előbb legyen a grub-install
és utána az update-grub
). Most ugrott a majom a vízbe, izgalommal vártam, hogy a másolt rendszer egyáltalán elindul-e? Elindult, de lett más meglepetés. A bejelentkezési képernyőről a felhasználói fiókba nem jutottam be, a jelszó beírása után visszadobott, úgyhogy át tty-re és sudo chown -R $USER:$USER /home/$USER
utána már be tudtam lépni.
Persze nincs a felhasználónak Dokumentumok, Letöltések, Képek, Zenék, Sablonok könyvtára, de én ezzel nem is foglalkoznék, ezen a ponton létrehoznék egy új felhasználót az ügyfél által választott jelszóval, majd rendszergazdává tenném, átlépnék a fiókjába és a kiindulási rendszertől örökölt felhasználót törölném. Most már lábon van a rendszer, lehet még pótolni esetleg a swapfájlt és az fstab-ban „visszakapcsolni”. Nem mondom, hogy gyermekien egyszerűen, de sikerült egy systemback.sh-t és az általa készített mentési pontot, valamint egy live rendszert használva átköltöztetni egy rendszert.