[Nem sikerült] Linux költöztetése más méretű merevlemezre

 ( Turion | 2013. december 4., szerda - 9:39 )

Szervusztok!

Egy korábbi topicban valaki elhintette nekem, hogy ha megjön az új merevlemezem, akkor nem feltétlen szükséges újratelepíteni az Ubuntu 13.10-et, mert elég ha átmásolom a fájlokat és feltelepítem a GRUB-ot. Ez nagyon felkeltette az érdeklődésem és mivel a futár ma hozzá a diszket, elég aktuális is.

Én azért nem igazán vagyok biztos magamban, meg néhány változtatást is eszközölni fogok, ezért némi segítséget szeretnék kérni, azaz tanácsot.

Jelenleg így néz ki a 160.0 GB méretű SAMSUNG IDE diszk, amin a rendszerem van:

1.0 GiB   - /boot - ext2
4.0 GiB   - swap  - linux-swap
64.0 GiB  - /     - btrfs
80.05 GiB - /home - btrfs (de alig van rajta valami, pár Steames játékot kivéve)

Most azonban másként szeretném majd, az új lemezre telepíteni a rendszert. A kérdés, hogy ezt megváltoztathatom-e így, anélkül, hogy kibelezném a jelenlegi rendszert.
Így tervezem most:

4.0 GiB   - swap          - linux-swap
64.0 GiB  - /             - ext4 (mivel ext4-ről lehet bootolni, nem akarok /bootot)
100.0 GiB - /media/Roms   - NTFS (Emulátor romok, hogy láthatóak legyenek Windows alol)
<a tobbi> - /home         - ext4 (1TB-os diszk amúgy)

Na már most... mi minden teendőm van?
Van kéznél egy Ubuntu 13.10-es telepítő DVD, hibaellenőrizve, szóval jó.
Ezt akarom használni a művelethez majd, mert úgy hallottam, hogy futó linuxon nem megoldható.

Én így képzelem el:
MC-vel átmásolni a / tartalmát a régi diszkről az új diszk /-be, továbbá a régi /boot-ból a fájlokat az új diszk /boot-jába, ami ezúttal nem külön partíció persze. Aztán sudo grub-install /dev/sdx. Eztán kéne szerkeszteni a /etc/fstab fájlt, gondolom. Legalább is amennyire már kiismerem magam pingvinen, így gondolom.
Itt viszont oda kell figyelni, hogy átírjam az UUID-ket, meg a fájlrendszereket, stb. Ide tudtok valamit tanácsolni?
Esetleg kihagytam valami lépést?

Persze ha nem működik a dolog, vagy elrontom, még mindig ott az install DVD, csak már úgy belaktam a rendszert, hogy kár lenne újrahúzni...


Szerk.: Végül újrahúztam inkább a rendszert, mert az rsync nem úgy sikerült, ahogy akartam. De nem baj, legalább gyors, tiszta rendszerem van. Ezt nem fogom úgy teleszemetelni. Mindenesetre köszönöm a válaszokat!

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Csináltam linuxos gépterem klónozását néhányszor. A leghatékonyabb eddig a filerendszer másolása volt, kb. 2-3 perc/gép tempóval. Picit bővebben:

Adott a (minta)telepítés egy valamilyen partíción (ide értve a méretet és a filerendszert). Ezt kellene átvinni nem szükségképpen ugyanolyan méretű és filerendszerű másik partícióra a lehető legkevesebb munkával.

A kiindulási partíción csinálj nagytakarítást (pl. /tmp), majd nézd meg, mennyi helyet foglal. Tömörítve ennél (lényegesen) kevesebbet igényel. Kell mindenesetre egy olyan eszköz/partíció, amelyen el fog férni, és ez különbözik a kiindulási (minta)telepítés partíciójától.

Mivel egy futó rendszerben vannak olyan dolgok, amelyekkel nem akarunk bajlódni, indítsd a gépet egy cd-ről vagy egy usb-ről. Csatold a kiindulási partíciót (sda1), meg azt, amelyiket üres hely van elegendő (sda2), értelemszerűen.

tar -C /mnt/sda1 -czf /mnt/sda2/sda1files.tgz ./*

Elindítod a másik gépet (cd/usb), a vinyót persze partícionálni (boot flag!) és formázni kell, majd csatolni valahová. Utána csatolni kell az sda1files.tgz-t tartalmazó eszközt is, és jön a lényeg, a kicsomagolás az új partíció csatolási pontjából:

tar -xzps --same-owner -f /mnt/sda2/sda1files.tgz

Fontos a -p és a --same-owner. Utána beállítod a gépnevet (/etc/HOSTNAME) és az IP-címet (átjárót stb.), szükség esetén a lilo.conf (grub) szerkesztendő és persze:

lilo

Ezután lehet újraindítani a gépet, indul az új rendszer. Nyilván a kiindulási helyen a kernelnek tartalmaznia kell mindazon opciókat, amelyekre az új helyen szükség lesz. A grafikus cuccok beállítása és esetleges egyebek utána már megy helyben vagy ssh-n távolról. Felhasználói cuccok nyilván problémamentesen másolhatók, a már működő rendszerben.

Üdvrivalgással:
KEA.

Csináltam párszor ilyesmit, az mc nem jó mert nem tartja meg a jogosultságokat.

Live CD-röl vagy rescue CD-röl szoktam bootolni (lehetöleg ugyanaz a verzió mint amit másolni szoktam, a másolásnál nem gond, csak amikor a boot-ot meg az fstab-ot kell piszkálni az UUID-ek miatt jobb ha közel azonos a kernel+disztrib)

létrehozok egy /target könyvtárat a root-ba, felmountolgatom a /target alá az új lemez particióit ahogy majd szeretném.
létrehozok egy /source könytárat a root-ba ha a rescue nem tette meg még máshová, felmountolom a /source alá a régi lemez particiót.

(tar cp --xattrs /source) | (tar x /target)

UUID-ek átnézése az /target/etc/fstab-ban.

/target/dev, /target/proc, /target/sys ellenörzés.

mount --bind /dev /target/dev
mount --bind /proc /target/proc
mount --bind /sys /target/sys

ha ez megvan akkor chroot /target /bin/bash, grub telepítés, nagylevegö, reboot, esetleg többször livecd boot és további finomitások mig el nem indul a rendszer.

ennek elöfeltétele hogy mind a két lemez ugyanabban a gépben van, a régi lemezt biztonság kedvéért hátrább szoktam rakni a sorban hogy az új (s|h)da legyen.

UI: nekem soha nem sikerül elsöre :D

Üdv: Tom

"mert nem tartja meg a jogosultságokat." dehogynem. Miért ne tartaná? Gondja a hardlinkeknél lesz maximum. Mindenképp az rsync et javaslom, de az mc sem rontja el a jogokat.

Amennyire emlékszem minden root:root lett copy-nál, move-nál nem, de lehet rosszul emlékszem.

Hamarosan úgyis eljön az ideje egy költözésnek, majd kipróbálom.

Van egy pipa a preserve attributes. Az default be van kapcsolva. Olyankor szoktam kikapcsolni, ha ntfsre vagy samba ra másolok, mert akkor egyenként panaszkodik arra, hogy nem sikerült a megfelelő attributumokat beállítani. De defaultban tuti, hogy másolja a dátummal együtt a jogokat.

A témához pedig:

rsync -av --progress --inplace /mnt/temp1/ /mnt/temp2/ minden kívánt filerendszerre páronként (kivéve a swap ami ugye elég egy mkswap), javaslom az lvmet, és akkor nem kell az fstabba uuidket meg fix partíció számokat írni, hanem elnevezett partíciókat. A boot meg marad lvm en kívül. Utána sysresc cd ről boot: mount minden a megfelelő struktúrába /mnt/gentoo mappa alá. Utána:

mount -o bind /sys /mnt/gentoo/sys
mount -o bind /dev /mnt/gentoo/dev
mount -o bind /dev/pts /sys /mnt/gentoo/dev/pts
mount -t proc none /mnt/gentoo/proc

chroot /mnt/gentoo /bin/bash
grub-install /dev/sda

nagyvonalakban. Egyúttal nemcsak particionálni, költöztetni lehet, hanem filerendszert váltani is. lvmre áttérés előtt a megfelelő csomagok (lvm2) telepítendő stb.

Nem is a jogokkal, inkább a tulajdonossal lehet gond.
Pl ha olyan rendszerrel másolsz ahol mondjuk a mysql user id más.
akkor az új id-vel megy át ahol pl 25 id a games useré, igy a másolt
rendszeren games user a mysql, ami gond lesz.
ezért jobb az "rsync". :)

............
Nem ígérek semmit, de azt betartom!

rsync , ez alapján
https://wiki.archlinux.org/index.php/Full_System_Backup_with_rsync

fstabot frissíted , telepítel egy grubot és kész

===============================================================================
// Hocus Pocus, grab the focus
winSetFocus(...)

http://c2.com/cgi/wiki?FunnyThingsSeenInSourceCodeAndDocumentation

Meg fogom nézni, köszi!


Ubuntu 13.10 amd64

Ja. Vagy egy "dd", bar akkor nem tudta valtoztatni a particiok meretet (es kell vmi particio buheralo eszkoz is).
De en leginkabb dd-vel szoktam, lilo eseten (ha jol remlik), a vegen egy chrootolt lilo segitett. grub eseten talan az sem kell.

--
http://www.micros~1

es kell vmi particio buheralo eszkoz is

Például fdisk. Az ext4 képes akár online, felmountolva megnövelődni. Btrfs és ext4 között úgy tudom, létezik konverzió.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Lehet, en asszem gparted-et vagy valami hasonlo nevu cuccot hasznaltam, amit direkt a letezo particiok buheralasara talaltak ki.

ext3 eseten meg asszem volt direkt program, amivel at lehetett meretezni.
ext4 - ezt nem is tudtam, jo hir.

--
http://www.micros~1

btrfs-convert


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

dd-re +1, én így csináltam már többször is, sikeresen:

sda - forás winyó
sdb - cél winyó (nálam mindig csont üres volt)

trk boot cd-ről rendszer indít
semmi mountolás
dd if =/dev/sda of=/dev/sdb

Ez átmásol mindent mbr-estül-bootflagestül meg minden.

Ha a cél winyó nagyobb, mint a forrás, akkor félbeszakad a művelet az input elfogyásával, de akkor is sikeres lesz a költöztetés.
Kipróbált, bizonyított módszer (azon kívül, hogy egyszerű).

Az üres szemetet is, meg mindent... Ha a cél diszk kisebb, akkor cumi, ha partíciókat/lvm-et szeretnél módosítani, akkor dettó. LVM esetén pvmove, nem lvm esetén rsync a standard bevett gyakorlat - az előbbinél mehet teljesen normál üzemben a rendszer, az utóbbinál viszont single módban (vagy init=/bin/bash paraméterrel) bootolva kényelmes.

Igen, válogatás nélkül, a szemetet is, úgyhogy érdemes valóban előtte gyomlálgatni egy kicsit.
Sima egyszerű otthoni gépre gondoltam, LVM nélkül, természetesen. Ezt a megoldást nem profi környezetben képzelem el én sem.

Akkor is fölöslegesen mozgatsz meg mindent, strukturálatlanul. Az, hogy nincs lvm, az meg szerintem otthon is inkább hiba, mint előny.

1. Rendszert költöztetni akarunk, nem újjávarázsolni. :) Takarítani előtte vagy utána is van mód.
2.Otthonra miért jó az LVM? (Mi a vitathatatlan előnye a "sima mezei" ext3, ext4 filerendszerekhez képest? )

Például, hogy futás közben költöztetheted a rendszeredet másik diszkre, mint amit itt is akar a delikvens?

A rendszert akarom költöztetni, nem az üres/most épp nem használt helyet. Ha a diszkek kiosztását is át akarod variálni, szintén értelmesebb szinten kell az adatokat mozgatni, mint ahogy akkor is, ha szelektálni szeretnél az átlapátolandó adatok között, vagy épp egy diszkről költöznél többre vagy fordítva... ezekre is lehet egészen kellemes módszereket találni LVM-mel. Vagy pl. egy adott fájlrendszer növelésére plusz diszkkel csak az LVM-et tudod használni (a bemountolom alá a plusz diszk partícióit nem játszik, mert abból csak a káosz lesz - pláne, ha jellemzően egy-két nagy helyfoglalású könyvtár viszi el a tárterület döntő hányadát (próbáltunk más megoldást találni, és nem igazán sikerült)

Ja igaz, futás közben, azért az egy kicsit más történet. Eddig nem volt sejtésem róla, hogy az LVM otthoni környezetben is hasznos lehet. Amúgy hálózati op.rendszerek tantárgy keretén belül épp most ismerkedek vele. (Eddig azt gondoltam róla, hogy nagyobb rendszereknél jó főleg.) Köszi az infókat.

Az NTFS-t a végére tenném, tehát a /home-mal megcserélném, hogy ne kelljen seek-elnie állandóan a (/,swap) <---> /home között.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Igazad van, köszönöm!


Ubuntu 13.10 amd64

fsarchiver

Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn

Sub. Hasonlót tervezek magam is. Gyüjtöm a hasznos infókat.

+1 csak mert érdekes :)
--
A legértékesebb idő a pillanat amelyben élsz.
http://phoenix_art.webmuvek.hu/
https://sites.google.com/site/jupiter2005ster/

+ meg hasznos is:)

rsyncelni tömörített fájlba is lehet? mondjuk ha menteni szeretnék

Nem hiszem. En mondjuk mindig rsyncelem a cuccot mashova es azt tomoritem le. 25 DVD iso lesz a dar-ral. Ezt eleg huzos lenne direktbe rsync segitsegevel.

--
http://www.micros~1

mksquashfs - és a tömörítvényt mountolhatod is. :)

Miert nem siman tarolod le?? :)

---------------------------------------------------
Hell is empty and all the devils are here.
-- Wm. Shakespeare, "The Tempest"

clonezilla?
ha jól emlékszem, tud olyat, hogy gépen belül egyik winyóról a másikra cuccol át

+1

+1

OFF

Ugye ugye mennyivel jobb az LVM, hogy csak szépen át pvmove-olsz mindent online/működés közben és kész is? :D

/OFF

Tapasztalattal megcsinálható manuálisan, de ha nem akarsz ezzel foglalkozni, sok rendszert kell így csinálnod stb. stb., akkor vannak erre kereskedelmi megoldások is.

Ilyen például az Acronis True Image terméke, amely egyrészt nem drága, másrészt pl. SSD-k mellé gyakran bundle-ben adják. Aki nem szégyell pénzt adni szoftverért, annak ez is opció lehet. Grafikus felületen lehet elvégezni a klónozást, miközben meghatározható, hogy az új layout milyen legyen. A legtöbb népszerű, gyakori linuxos fájlrendszerrel elboldogul.

--
trey @ gépház

+1

Hálás jószág, sokféle vékonykliens visszaállító image-eit készítettem már vele.
Olcsó és megbízható, most 5GB felhő tárhely is jár hozzá egy évre. Megéri az árát.

pl: tarral és egy darabig van mentésed róla :)

új lemez particionálása
live cd boot

öreg rendszer
tar -cvpjf /home/root_backup-root.tar.bz2 /
tar -cvpjf /home/home_backup-home.tar.bz2 /home

aztán új helyen kicsomagolod update-grub - ennyi

nézz utána a tar kapcsolóinak is /cvpjf az :)jó lesz/

up:

látom van /boot partició azokat se felejtsd el bemásolni az új partíció /boot könyvtárba az uj partíción /vagyis mentsd a bootot de már ne uj partición csomagold ki, hanem a z új / particiódon..

és persze az fstabot is át kell szerkeszteni és az update grub előtt grub recheck is kell a más particiók miatt.

"mert az rsync nem úgy sikerült, ahogy akartam."
Gyakorolj!
Pl: a szűz rendszert lemented egy másik lemezre.

............
Nem ígérek semmit, de azt betartom!

+1. És mi a probléma? A céldiszken katyvasz lett? Lehet gyalulni, aztán újra próbálkozni. Ha ennél súlyosabb a probléma, akkor az nagyon gáz...

Azóta a diszket lenulláztam dd-vel és beraktam egy régi gépbe, XP-t rá és ajándékba adom valakinek.
Egyébként az Rsync maga sikerült, Live rendszer alól tökéletesen látszódott. De a GRUB-ot sehogy sem tudtam megoldani. Egyébként nem is baj, mert az új rendszerem sokkal tisztább, sokkal gyorsabb lett.


Ubuntu 13.10 amd64

Aha. Csak azért kérdeztem, mert azt írtad, hogy "az rsync nem úgy sikerült, ahogy akartam"... Onnantól kezdve, hogy minden fájl a helyén van a céldiszken, a grub felpakolása némi utánaolvasással (procfs, devfs bindmount, chroot, grub telepít, örül) nem szokott gondot okozni.

Na igen, csak itt még volt annyi "nehezítés", hogy a BOOT partíció megszűnt így aztán a grub.conf-ban a (hd0,0) helyett mindent át kellett volna írni úgy, hogy a (hd0,0)/boot-ban keresse.

Azaz mondjuk "kernel /boot/vmlinuz-...." a sima "kernel /vmlinuz-..." helyett, ami akkor van, ha külön partíción van. Meg hasonló kis apróságok. Bár azt sem nagyon szereti a grub, ha a stage másfelek nem külön partíción vannak. Meg aztán szerintem egy initrd-t is kellett volna gyártani újat, stb. stb.

Ebből azt veszem le, hogy nem csoda, hogy a sima grub-install nem volt elég, így jól döntöttem a reinstallkor.


Ubuntu 13.10 amd64

Nem, akkor döntöttél rosszul, amikor nem LVM-et használtál :D .... bocsi (nem bírtam megállni :D )