Jak mogę przenieść katalog domowy na osobną partycję?

22

Chciałbym zainstalować inną dystrybucję, ale zachowaj swój katalog domowy. Czy istnieje sposób na przeniesienie katalogu domowego na osobną partycję? Nie mam dostępnego zewnętrznego dysku twardego do tworzenia kopii zapasowych danych. Chciałbym skonfigurować moje partycje zgodnie z sugestią tutaj .

waniliowy
źródło
1
Zawsze możesz ponownie podzielić na partycje, a następnie przywrócić / home z kopii zapasowej. Masz kopie zapasowe, prawda?
KeithB,

Odpowiedzi:

13

Twoje pytanie jest neutralne pod względem dystrybucji, więc jeśli wspomnę o czymś konkretnym, czego nie masz, po prostu użyj odpowiednika po swojej stronie.

Naprawdę polecam kupić zewnętrzną kopię zapasową, zaufaj mi, utrata danych jest najgorsza. Postępuj na własne ryzyko - ale jeśli nie możesz go zdobyć, oto, co możesz zrobić.

Czego potrzebujesz

  • rozmiar twojego katalogu / home
  • wolne miejsce, więcej niż rozmiar katalogu / home
  • narzędzie do partycjonowania dysku, polecam gparted

Co robić

  • Sprawdź rozmiar swojego katalogu / home (ostatni wynik będzie sumą home home):

    du -h /home

  • Sprawdź, czy masz wystarczającą ilość wolnego miejsca na nową partycję:

    df -h

  • Zainstaluj gparted

    sudo apt-get install gparted

Potrzebujesz więcej wolnego miejsca niż rozmiar katalogu / home. Jeśli nie masz wolnego miejsca, nie będziesz w stanie utworzyć nowej partycji i i tak będziesz musiał przenieść swoje dane na zewnętrzną.

Jeśli masz miejsce, użyj gparted, aby zmniejszyć istniejącą partycję, a następnie utwórz nową partycję z uwolnionym nieprzydzielonym miejscem. Gdy nowa partycja będzie gotowa, zanotuj / dev / sdax (użyj, sudo fdisk -laby to zobaczyć) i skopiuj na nią pliki / home.

Używanie partycji w nowej dystrybucji

Wspomniałeś o instalacji kolejnej dystrybucji, jeśli planujesz zastąpić obecną dystrybucję, wtedy podczas instalacji powinieneś zostać poproszony o skonfigurowanie partycji. W tym momencie możesz określić tę partycję jako / home, wybrać, aby jej nie formatować, a wszystko będzie dobrze, możesz pominąć następną sekcję.

Jeśli jednak chcesz, aby bieżąca dystrybucja działała z nową partycją / home, postępuj zgodnie z tą sekcją:

Zamontuj partycję w istniejącej dystrybucji

Musimy powiedzieć Twojemu systemowi operacyjnemu, aby używał partycji jako nowego / home, robimy to w fstab, ale najpierw pozwól nam znaleźć UUID tej nowej partycji:

ls -l /dev/disk/by-uuid

Odwołaj się do nowej partycji / sdax i skopiuj jej UUID, mój wygląda 3d866059-4b4c-4c71-a69c-213f0e4fbf32.

Kopia zapasowa fstab: sudo cp /etc/fstab /etc/fstab.bak Edytuj fstab:sudoedit /etc/fstab

Chodzi o dodanie nowej linii, która montuje partycję w / home. Użyj własnego UUID, a nie tego, który tu zamieszczam;)

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
UUID=3d866059.. /home           auto    default         0       1

Zapisz i uruchom ponownie, i sprawdź, czy nowa partycja jest podłączona do / home. Uruchom, df -haby wyświetlić listę wszystkich zamontowanych partycji, / home powinien być teraz na tej liście.


Notatki

  • Dobrym pomysłem może być zapoznanie się z fstab, jeśli nie znasz go dobrze. Nie spiesz się i pomyśl o każdym kroku.
  • Jeśli zainstalujesz nową dystrybucję i użyjesz tej samej nazwy logowania, twoje stare / domowe pliki automatycznie staną się własnością użytkownika.
  • To nie jest trywialny temat do omówienia w jednym poście, ale myślę, że mam go większość. :)
odwracać
źródło
Próbuję użyć gparted, ale nie mogę zmienić rozmiaru partycji /. Czy masz jakieś zalecenia dotyczące zmiany rozmiaru partycji głównej? Mogę użyć Parted Magic, aby zrobić to z płyty CD na żywo.
waniliowy
1
Tak, musisz to zrobić z Live CD, ponieważ system plików jest zamontowany przez działający system operacyjny. Ubuntu Live CD, Knoppix lub Parted Magic będą działać.
odwrócenie
3

Tytuł posta i twoje pytanie spowodowały pewne zamieszanie. Czy chcesz podzielić swoją homepartycję, czy po prostu chcesz ponownie zainstalować i zachować to samo home?

Jeśli wszystko, czego potrzebujesz, to ponownie zainstalować cały system operacyjny, zachowując swój system, homemożesz wykonać kopię zapasową homew miejscu, na które instalacja nie będzie miała wpływu, a następnie przywróć go wraz z poprawką uprawnień (użyj, chown -R username:groupnameaby upewnić się, że prawo własności jest prawidłowe ).

Jeśli chcesz postępować zgodnie z najlepszymi praktykami i oddzielić swoje, homeoto przewodnik, którego potrzebujesz . Jest napisany dla Ubuntu, ale myślę, że to samo dotyczy innych dystrybucji.

phunehehe
źródło
przepraszam za zamieszanie. Chciałbym podzielić mój dom na partycję
waniliowy,
OSTRZEŻENIE: Link w „poprawce uprawnień” obecnie odsyła jedną do dwóch różnych stron internetowych, z których ostatnia zachęca do zainstalowania Adobe Flash w bardzo podejrzanie wyglądającej replice okna dialogowego instalatora.
user66001
Odłączyłem „poprawkę uprawnień” i skopiowałem poradę z oryginalnego artykułu, który znalazłem w archiwum .
mattdm
2

Zakładając, że masz już oddzielną partycję (a jeśli nie, prawdopodobnie chcesz użyć gparted lub czegoś podobnego, aby ją utworzyć), po prostu wykonaj następujące czynności (najlepiej jako użytkownik root):

 cp -R /home/whatever /path/to/destination
 mv /home/whatever /home/whatever.orig
 ln -s /path/to/destionation /home/whatever 

A następnie zakładając, że wszystko działa tak, jak powinno (zaloguj się jako użytkownik i przetestuj)

 rm -rf /home/whatever.orig 

Spowoduje to skopiowanie całego katalogu (i całej zawartości) do docelowego punktu montowania, zmiana nazwy oryginalnego katalogu domowego (na wypadek, gdyby coś się zepsuło, a następnie odzyskamy), tworzy symboliczne łącze z nowej lokalizacji do oryginalnego domu katalog (na który wciąż wskazuje wszystko (jak / etc / passwd)), a następnie, zakładając, że zadziałało, usuwa kopię zapasową, którą wykonaliśmy, pozostawiając kopię, którą umieszczamy w docelowym systemie plików.

Matt Simmons
źródło
To nie jest tak naprawdę używane /homejako punkt montowania dla nowej partycji. Po prostu to symbolizuje.
Matthew Flaschen
To faktycznie to samo. To, że / home / nazwa użytkownika jest dowiązaniem symbolicznym, nie oznacza, że ​​nie będzie działać. Jeśli chcesz umieścić wszystkie konta użytkowników na drugiej partycji, po prostu zmień wiersz „cp -R” na do / home zamiast / home / username
Matt Simmons