Üdvözöljük az ubuntu.hu oldalán

Itt megtalálhatja a rendszerrel, illetve a nyílt forráskódú alkalmazásokkal kapcsolatos információkat, érdekességeket. Csatlakozzon a beszélgetésekhez, blogoljon, segítse Ön is a közösséget. Jó fórumozást kívánunk!
Blogok

A home könyvtár tartalmának költöztetése partícióra

A probléma általában úgy jelentkezik, hogy van egy rendszer, melynek nincs külön home partíciója, tehát a home-on belül lévő adatok is a rendszerpartícióra kerülnek, aztán egyszercsak (el)fogy a hely a rendszerpartíción.
Ilyenkor lehet különböző dolgokat törölni. Ha vannak, akkor a felszaporodott régi és már nem használt kerneleket, vagy például a szintén felesleges rendszermentési ponto(ka)t, illetve a home könyvtárból a nélkülözhető adatokat (természetesen a kuka megkerülésével egyből végleg, hiszen, ha valamit a kukába teszünk, attól több helyünk nem lesz az adott partíción, csak máshol lesznek az állományok). Ha van rá lehetőség, akkor lehet próbálkozni a rendszerpartíció megnövelésével is, ez is egy jó megoldás lehet.

De az is előfordul, hogy a felhasználó ilyenkor eszmél, ha egy másik partícióra költöztetné a home könyvtár tartalmát, akkor lenne bőven helye a rendszerpartíción és nem is kellene semmit eltávolítania.
A home költöztetésére kiszemelt partíció lehet (valamelyik) a gépben már benne lévő lemezen, de az is egy jó elképzelés, amikor valaki bedob egy lemezt a gépbe és arra igyekszik valahová átpaterolni a home-ot.
Most ismét egy ilyen esettel találkoztam a https://forums.linuxmint.com/viewtopic.php?t=418434 témát olvasva. A dolog elsőnek nem hangzik nehéznek, de valójában nem a legkönnyebb folyamat, mert van benne néhány csavar.
A home könyvtár tartalmát át kellene másolni egy partícióra, de amikor én a /home/USER alatti tartalmat próbáltam egyszerűbb módon másolni valahová, sokszor jött olyan hibaüzenet, hogy egyes fájlok nem másolhatóak és így volt ez akkor is, amikor rootként kíséreltem meg ugyanezt. Másodszor van az adatbiztonság kérdése is, jó volna a home könyvtár tartalmát legalább addig megőrizni, amíg le nem ellenőrizzük, hogy az átköltözés sikeres volt. Harmadszor, ahhoz, hogy egy home könyvtárba csatolni tudjunk egy partíciót, annak üresnek kell lennie.

Én így modelleztem le a dolgot:
A rendszer az sda-n van. Bebootoltam egy live rendszer alól, én most a Debian 12 Xfce-t választottam.
A billentyűzetkiosztást magamnak magyarra állítottam a setxkbmap hu paranccsal.
sudo apt install gparted-del feldobtam a GPartedet, azzal megformáztam az új nyers lemezt (ez lett az sdb), GPT tábla és egyetlen Ext4 partíció.
sudo parted -l
Ebből megtudtam, az sda3 a rendszerpartícióm és az sdb1 a leendő home.

sudo mount /dev/sda3 /mnt
sudo mkdir /new-home
sudo mount /dev/sdb1 /new-home

Az rsync az én live rendszeremen eleve rajta volt, de hogy biztos ne hiányozzék, nyugodtan kiadhatjuk a
sudo apt install rsync parancsot.
Tulajdonképp talán ez a piciny parancs itt a nagy varázslat, az rsync-kel másolunk.
sudo rsync -a /mnt/home/ /new-home
Szépen kivártam, hogy visszakapjam a promtot, ez tudtommal így átmásol mindent és megtartja a jogosultságokat, de még a symlinkeket is.
Most nevezzük át az eredeti home könyvtárat:
sudo mv /mnt/home /mnt/old-home
(Ezzel még nem töröltük, nem vesztettük el az adatokat, igaz hely sem szabadult fel.)
És hozzunk létre egy új (üres) home könyvtárat:
sudo mkdir /mnt/home
Készítsünk egy biztonsági másolatot a telepített rendszer fstab fáljából.
sudo cp /mnt/etc/fstab /mnt/etc/fstab-orig
Most a sudo blkid paranccsal nézzük meg, hogy mi a home partíciónk UUID értéke.
Én most ebből dolgoztam:

/dev/sr0: BLOCK_SIZE="2048" UUID="2023-12-10-17-43-24-00" LABEL="d-live 12.4.0 xf amd64" TYPE="iso9660" PTUUID="2d331e75" PTTYPE="dos"
/dev/loop0: TYPE="squashfs"
/dev/sda2: UUID="3C2E-4653" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="c0b5aa65-7f63-4f6c-a26b-6075e6a6da27"
/dev/sda3: UUID="fb3c4889-9985-4463-adfe-a8183bf1cf22" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8965cc05-61bb-4ec2-9253-f39d39ba0227"
/dev/sdb1: UUID="a7beaf39-4103-45a4-8ab9-9a3d63170454" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="home" PARTUUID="31614700-b4f0-456c-8e42-d77d35470f82"
/dev/sda1: PARTUUID="88e962f6-cbde-4ad1-8859-80f1ac3a0779"

Ez alapján szerkesszük a kiindulási rendszer /etc/fstab fájlját.
sudo nano /mnt/etc/fstab
Nálam eredetileg ez volt a fájl tartalma:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda3 during installation
UUID=fb3c4889-9985-4463-adfe-a8183bf1cf22 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda2 during installation
UUID=3C2E-4653  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0

Ehhez tettem hozzá a következő sorokat:

# /home
UUID=a7beaf39-4103-45a4-8ab9-9a3d63170454 /home               ext4    errors=remount-ro 0       1

Aztán mentettem a fájlt (Ctrl+O, enter) és kiléptem a Nanoból (Ctrl+X).
Leállítottam a live rendszert.
Következett az éles rendszer indításának próbája.
(Ha valamit elrontottunk, akkor a live alól újra bebootolva ki tudjuk javítani.)
Az én rendszerem rendben bebootolt.
Akár egy sima df -h-val meg tudjuk nézni a rendszerpartíció jelenlegi foglaltságát és egyből látjuk azt is a kimenetben, hogy a partíciónk /home-ként fel van-e csatolva. Ha így van, az jó jel, de szintén annak számít, ha a /home foglaltság oszlopában lévő érték megegyezik az /old-home könyvtárunk méretével. Ekkor már majdnem biztos, hogy a munka javával megvagyunk.
Ha leellenőriztünk mindent, megvan az új home-ként használt partíciónkon minden adat, minden rendben működik, akkor a sudo rm -rf /old-home paranccsal véglegesen törölhetjük a régi home könyvtárunkat, a hely csak ekkor fog felszabadulni a rendszerpartíciónkon. Figyelem! Ez a művelet nem visszavonható!
Egy ismételt df -h-val vissza is tudjuk ellenőrizni, hogyan változott a rendszerpartíciónk helyfoglaltsága.
Most már az fstab biztonsági másolatát is törölhetjük:
sudo rm /etc/fstab-orig
Sok sikert!
Szerk: Írtam egy másik bejegyzést is, szimbolikus link használata is egy jó megoldást eredményezhet.

Hozzászólások (0)

A probléma általában úgy jelentkezik, hogy van egy rendszer, melynek nincs külön home partíciója, tehát a home-on belül lévő adatok is a rendszerpartícióra kerülnek, aztán egyszercsak (el)fogy a hely a rendszerpartíción.
Ilyenkor lehet különböző dolgokat törölni. Ha vannak, akkor a felszaporodott régi és már nem használt kerneleket, vagy például a szintén felesleges rendszermentési ponto(ka)t, illetve a home könyvtárból a nélkülözhető adatokat (természetesen a kuka megkerülésével egyből végleg, hiszen, ha valamit a kukába teszünk, attól több helyünk nem lesz az adott partíción, csak máshol lesznek az állományok). Ha van rá lehetőség, akkor lehet próbálkozni a rendszerpartíció megnövelésével is, ez is egy jó megoldás lehet.

De az is előfordul, hogy a felhasználó ilyenkor eszmél, ha egy másik partícióra költöztetné a home könyvtár tartalmát, akkor lenne bőven helye a rendszerpartíción és nem is kellene semmit eltávolítania.
A home költöztetésére kiszemelt partíció lehet (valamelyik) a gépben már benne lévő lemezen, de az is egy jó elképzelés, amikor valaki bedob egy lemezt a gépbe és arra igyekszik valahová átpaterolni a home-ot.
Most ismét egy ilyen esettel találkoztam a https://forums.linuxmint.com/viewtopic.php?t=418434 témát olvasva. A dolog elsőnek nem hangzik nehéznek, de valójában nem a legkönnyebb folyamat, mert van benne néhány csavar.
A home könyvtár tartalmát át kellene másolni egy partícióra, de amikor én a /home/USER alatti tartalmat próbáltam egyszerűbb módon másolni valahová, sokszor jött olyan hibaüzenet, hogy egyes fájlok nem másolhatóak és így volt ez akkor is, amikor rootként kíséreltem meg ugyanezt. Másodszor van az adatbiztonság kérdése is, jó volna a home könyvtár tartalmát legalább addig megőrizni, amíg le nem ellenőrizzük, hogy az átköltözés sikeres volt. Harmadszor, ahhoz, hogy egy home könyvtárba csatolni tudjunk egy partíciót, annak üresnek kell lennie.

Én így modelleztem le a dolgot:
A rendszer az sda-n van. Bebootoltam egy live rendszer alól, én most a Debian 12 Xfce-t választottam.
A billentyűzetkiosztást magamnak magyarra állítottam a setxkbmap hu paranccsal.
sudo apt install gparted-del feldobtam a GPartedet, azzal megformáztam az új nyers lemezt (ez lett az sdb), GPT tábla és egyetlen Ext4 partíció.
sudo parted -l
Ebből megtudtam, az sda3 a rendszerpartícióm és az sdb1 a leendő home.

sudo mount /dev/sda3 /mnt
sudo mkdir /new-home
sudo mount /dev/sdb1 /new-home

Az rsync az én live rendszeremen eleve rajta volt, de hogy biztos ne hiányozzék, nyugodtan kiadhatjuk a
sudo apt install rsync parancsot.
Tulajdonképp talán ez a piciny parancs itt a nagy varázslat, az rsync-kel másolunk.
sudo rsync -a /mnt/home/ /new-home
Szépen kivártam, hogy visszakapjam a promtot, ez tudtommal így átmásol mindent és megtartja a jogosultságokat, de még a symlinkeket is.
Most nevezzük át az eredeti home könyvtárat:
sudo mv /mnt/home /mnt/old-home
(Ezzel még nem töröltük, nem vesztettük el az adatokat, igaz hely sem szabadult fel.)
És hozzunk létre egy új (üres) home könyvtárat:
sudo mkdir /mnt/home
Készítsünk egy biztonsági másolatot a telepített rendszer fstab fáljából.
sudo cp /mnt/etc/fstab /mnt/etc/fstab-orig
Most a sudo blkid paranccsal nézzük meg, hogy mi a home partíciónk UUID értéke.
Én most ebből dolgoztam:

/dev/sr0: BLOCK_SIZE="2048" UUID="2023-12-10-17-43-24-00" LABEL="d-live 12.4.0 xf amd64" TYPE="iso9660" PTUUID="2d331e75" PTTYPE="dos"
/dev/loop0: TYPE="squashfs"
/dev/sda2: UUID="3C2E-4653" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="c0b5aa65-7f63-4f6c-a26b-6075e6a6da27"
/dev/sda3: UUID="fb3c4889-9985-4463-adfe-a8183bf1cf22" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="8965cc05-61bb-4ec2-9253-f39d39ba0227"
/dev/sdb1: UUID="a7beaf39-4103-45a4-8ab9-9a3d63170454" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="home" PARTUUID="31614700-b4f0-456c-8e42-d77d35470f82"
/dev/sda1: PARTUUID="88e962f6-cbde-4ad1-8859-80f1ac3a0779"

Ez alapján szerkesszük a kiindulási rendszer /etc/fstab fájlját.
sudo nano /mnt/etc/fstab
Nálam eredetileg ez volt a fájl tartalma:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda3 during installation
UUID=fb3c4889-9985-4463-adfe-a8183bf1cf22 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/sda2 during installation
UUID=3C2E-4653  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0

Ehhez tettem hozzá a következő sorokat:

# /home
UUID=a7beaf39-4103-45a4-8ab9-9a3d63170454 /home               ext4    errors=remount-ro 0       1

Aztán mentettem a fájlt (Ctrl+O, enter) és kiléptem a Nanoból (Ctrl+X).
Leállítottam a live rendszert.
Következett az éles rendszer indításának próbája.
(Ha valamit elrontottunk, akkor a live alól újra bebootolva ki tudjuk javítani.)
Az én rendszerem rendben bebootolt.
Akár egy sima df -h-val meg tudjuk nézni a rendszerpartíció jelenlegi foglaltságát és egyből látjuk azt is a kimenetben, hogy a partíciónk /home-ként fel van-e csatolva. Ha így van, az jó jel, de szintén annak számít, ha a /home foglaltság oszlopában lévő érték megegyezik az /old-home könyvtárunk méretével. Ekkor már majdnem biztos, hogy a munka javával megvagyunk.
Ha leellenőriztünk mindent, megvan az új home-ként használt partíciónkon minden adat, minden rendben működik, akkor a sudo rm -rf /old-home paranccsal véglegesen törölhetjük a régi home könyvtárunkat, a hely csak ekkor fog felszabadulni a rendszerpartíciónkon. Figyelem! Ez a művelet nem visszavonható!
Egy ismételt df -h-val vissza is tudjuk ellenőrizni, hogyan változott a rendszerpartíciónk helyfoglaltsága.
Most már az fstab biztonsági másolatát is törölhetjük:
sudo rm /etc/fstab-orig
Sok sikert!
Szerk: Írtam egy másik bejegyzést is, szimbolikus link használata is egy jó megoldást eredményezhet.

csuhas32 a következőre módosította a címet: A home könyvtár tartalmának költöztetése partícióra.