Przenoszenie /home na osobn─ů partycj─Ö

Mo┼╝e wydawa─ç si─Ö proste, a tak naprawd─Ö nie jest - szczeg├│lnie, i┼╝ w Googlach mo┼╝na spotka─ç przy ka┼╝dym wyszukaniu inny spos├│b.

Ale od pocz─ůtku…

Instaluj─ůc pierwszy raz Ubuntu, wydzieli┼éem tylko skrawek mojego dysku (12GB), na kt├│rym to utworzy┼éem partycj─Ö wymiany (SWAP 1GB) i systemowy punkt montowania "/". Po d┼éu┼╝szym czasie u┼╝ytkowania, okaza┼éo si─Ö, i┼╝ sta┼é si─Ö on moim podstawowym systemem, kt├│ry u┼╝ywam na codzie┼ä, obok MS Windows Visty, kt├│rego u┼╝ywam z przymusu, do aplikacji, kt├│rych niestety w Linuxie nie ma i tak szybko nie b─Ödzie (P┼éatnik, Podpis elektroniczny).

W zwi─ůzku z tym, zapisuj─ůc dane w moim katalogu domowym, zacz─Ö┼éo brakowa─ç mi miejsca. W zwi─ůzku z tym, przy pomocy GParted z LiveCD pakietu System Rescue CD, postanowi┼éem zmniejszy─ç partycje windowsowe i wydzieli─ç woln─ů przestrze┼ä na ko┼äcu dysku (50GB). Przestrze┼ä t─ů, docelowo przeznaczy┼é bym na partycj─Ö z katalogami domowymi u┼╝ytkownik├│w systemu (/home).

Na szcz─Ö┼Ťcie, Linux to nie Windows, mo┼╝na w nim wykona─ç zaawansowane zmiany, bez konieczno┼Ťci reinstalowania systemu. Niestety, jak zacz─ů┼éem szuka─ç w internecie metod, na przeniesienie “poprawne” partycji, to zacz─ů┼é si─Ö problem. W tym momencie, zacz─ů┼éem si─Ö zastanawia─ç, kt├│ra metoda przeniesie dane poprawnie, wraz z prawami dost─Öpu, ukrytymi plikami, mi─Ökkimi i twardymi dowi─ůzaniami.

Zwyk┼éa metoda kopiowania, na nie wiele si─Ö zda, a┼╝ w ko┼äcu znalaz┼éem rozwi─ůzanie:
http://embraceubuntu.com/2006/01/29/move-home-to-its-own-partition/

Oczywi┼Ťcie po Angielsku, ale poni┼╝ej postanowi┼éem je wyt┼éumaczy─ç “po naszemu”.

Po co to wszystko?

Opr├│cz samego zwi─Ökszenia miejsca, wydzielenie partycji /home, ma podstawow─ů przewag─Ö w przypadkach awaryjnych. Je┼╝eli zepsujemy naszego Ubunciaka, mo┼╝emy bez obaw przeinstalowa─ç system, bez obawy o utrat─Ö w┼éasnych danych. W tym wypadku jedyn─ů partycj─ů, kt├│ra b─Ödzie zmieniana, to "/" bez "/home/". Po prostu, podczas instalacji, wskazujemy tylko miejsce naszej partycji z folderami domowymi i pozostawiamy bez zmian.

Po pierwsze.

Nale┼╝y utworzy─ç partycj─Ö, kt├│r─ů b─Ödziemy wykorzystywali jako /home. Najlepiej wydzieli─ç sobie wolne miejsce, korzystaj─ůc z System Rescue CD i GParted, po czym przej┼Ť─ç do naszego systemu i bezpo┼Ťrednio w nim, korzystajac z lokalnego GParted, sformatowa─ç partycj─Ö na odpowiedni system plik├│w (u mnie ext4).

Dlaczego nie stworzy─ç partycji od razu przy wydzielaniu miejsca? Gdy┼╝ w moim przypadku, zwyk┼éy u┼╝ytkownik nie mia┼é praw zapisu, tylko root. Mo┼╝na to by by┼éo zmieni─ç, bawi─ůc si─Ö komend─ů chown, ale w moim przypadku, nadal, mimo ┼╝e by┼éem w┼éa┼Ťcicielem partycji i wszystkiego co jest na niej, wyskakiwa┼éo Permision denied.

Akurat, ja utworzy┼éem partycj─Ö z poziomu LiveCD, wi─Öc musia┼éem j─ů usun─ů─ç w Ubuntu i utworzy─ç (sformatowa─ç) na nowo w systemie ext4.

No dobra, ale zacznijmy robot─Ö.

Je┼╝eli mamy ju┼╝ nasz─ů partycj─Ö przygotowan─ů, musimy j─ů zmontowa─ç.

Utw├│rzmy katalog, w kt├│rym b─Ödzie ona zmontowana i dokonajmy tego.

sudo mkdir /media/newhome
sudo mount -t auto /dev/sda6 /media/newhome

Oczywi┼Ťcie, z miejsce auto, mo┼╝na wpisa─ç system plik├│w, jaki zastosowali┼Ťmy dla naszej partycji (ext4), w przypadku, gdy system nie rozpozna prawid┼éowo. Dodatkowo, sda6 zmieniamy na oznaczenie naszej partycji, przeznaczonej na nowy /home. Mo┼╝na to sprawdzi─ç odpalaj─ůc GParted.

Na tym etapie warto wej┼Ť─ç do naszego zmontowanego dysku i utworzy─ç dowolny katalog poleceniem mkdir w celu zweryfikowania, czy nie wyskakuje nam b┼é─ůd Permision denied, o kt├│rym pisa┼éem wcze┼Ťniej. Je┼╝eli mimo wcze┼Ťniejszych zabieg├│w, problem wyst─Öpuje, nale┼╝y wykona─ç nast─Öpuj─ůce polecenie:

sudo chown -R user:user /media/newhome

Nale┼╝y pami─Öta─ç, aby zmieni─ç user:user na swoj─ů nazw─Ö np.: darek:darek.

Dalej, przechodzimy do katalogu nadrz─Ödnego nad domowym, gdzie przechowywane s─ů katalogi u┼╝ytkownik├│w i rozpoczynamy kopiowanie.j

cd /home/
find . -depth -print0 | cpio --null --sparse -pvd /media/newhome/

Wa┼╝ne! Poniewa┼╝ /home zawiera mi─Ökkie i twarde dowi─ůzania plik├│w, kroku cd /home/ nie mo┼╝emy pod ┼╝adnym wzgl─Ödem pomin─ů─ç.

Nast─Öpnie przechodzimy do katalogu z now─ů partycj─ů /home (/media/newhome), i sprawdzamy czy wszystko si─Ö skopiowa┼éo prawid┼éowo.

Dalej, odmontowujemy nasz─ů now─ů partycj─Ö

sudo umount /media/newhome

Przenosimy aktualny /home w inne miejsce i tworzymy nowy katalog home (bo aktualnie nie ma ┼╝adnego), do kt├│rego b─Ödzie podmontowana nowa partycja. Dalej podmontowujemy now─ů partycj─Ö.

sudo mv /home /old_home
sudo mkdir /home
sudo mount /dev/sda6 /home

Sprawdzamy, czy wszystko działa prawidłowo.

Puki system jest uruchomiony, wszystko dzia┼éa. Musimy jeszcze doda─ç odpowiedni─ů linijk─Ö do pliku /etc/fstab, tak, aby system automatycznie podpi─ů┼é partycj─Ö /home w odpowiednie miejsce.

Aby doda─ç odpowiedni wpis, wydajemy nast─Öpuj─ůc─ů komend─Ö w terminalu:

sudo su -c 'echo "/dev/sda6 /home ext4 nodev,nosuid 0 2" >> /etc/fstab'

W tym momencie, warto uruchomi─ç ponownie system, sprawdzaj─ůc, czy wszystko rzeczywi┼Ťcie dzia┼éa.

Je┼╝eli jest ok, mo┼╝emy usun─ů─ç nasz─ů star─ů lokalizacj─Ö home, /old_home

sudo rm -r /old_home

I tyle.

Powodzenia.

Komentarze