Jaki jest najłatwiejszy sposób połączenia / i / home?


15

Mam osobne /i /homepartycje, z których obie używają ext4 jako systemu plików.
Jak mogę je połączyć i jaki jest najłatwiejszy sposób?


2
Wiem tylko o korzystaniu z GParted i live CD. Zmień rozmiar mojego / home, a następnie rozwiń /. Przenieś /homepliki do /, a na koniec usuń /homei rozwiń /.
Apache

1
Powiedziałbym, że skopiuj / zrób kopię zapasową całego /homedysku zewnętrznego, zainstaluj ponownie Ubuntu z jedną partycją, a następnie skopiuj swój dom z powrotem.
Marius

@Marius, okazuje się, że to, co napisałem, działa idealnie. (Tak htorquepowiedział w swojej odpowiedzi.) Więc zaakceptuję jego. :)
Apache

Odpowiedzi:


13

Nie sądzę, że istnieje prostszy sposób. Musisz skopiować dane z jednej partycji na drugą. Musisz usunąć starą partycję domową i zmienić rozmiar partycji głównej. Nie można tego zrobić na działającym systemie, więc CD na żywo lub USB wydaje się tak dobre, jak to tylko możliwe.

  • Uruchom Live CD / USB.
  • Podłącz partycję root do /mnt/root.
  • Zamontuj partycję domową na /mnt/oldhome.
  • Skopiuj dane, używając rsync:

    sudo rsync -avz --hard-links --numeric-ids /mnt/oldhome/ /mnt/root/home
    
  • Otwórz /mnt/root/etc/fstabi usuń wpis dla partycji domowej.

  • Odmontuj partycję root i home i uruchom ponownie system. Jeśli wszystko działa zgodnie z oczekiwaniami, możesz ponownie uruchomić system na żywo, a następnie:
  • Otwarte Gparted.
  • Usuń starą partycję domową, zmień rozmiar partycji głównej.

To powinno być to.


1
Istnieje kilka ulepszeń, które można wprowadzić w tym poleceniu rsync. Przede wszystkim będziesz chciał ciąć na końcu ścieżki lub skończysz z oldhome w homefolderze. Możesz także dodać --hard-links, na wypadek, gdybyś miał któreś z nich w katalogu / home. Aby być bezpiecznym - numer -numer-id również nie zaszkodzi, w zależności od tego, co znajduje się w / etc / {passwd, group} na Live CD.
andol

Ponadto, czy naprawdę oczekujesz dużo korzyści z kompresji podczas wykonywania lokalnego rsync?
andol

Dzięki. Dodałem je do wyżej wspomnianego wywołania rsync.
qbi

@andol: Dzięki, byłem zbyt niechlujny z moją odpowiedzią. Jeśli chodzi o kompresję lokalną: tak, zauważyłem nieznaczny wzrost wydajności, więc dopóki nie ma żadnej wydajności, mam tendencję do włączania kompresji.
htorque

Dobra odpowiedź, ale kilka uwag: --hard-linksmożna ją skrócić do sprawiedliwego -H, -znie byłby pożądany / skuteczny w lokalnych systemach plików i --numeric-idsnie miałby żadnego wpływu na lokalny system plików (to, co jest w / etc / passwd na innym dysku nie miałoby żadnego efektu uruchamiany lokalnie).
thomasrutter

0

Nie wiem o najprostszym lub najlepszym podejściu, ale oto jak bym to zrobił. Chciałbym po prostu utworzyć folder, /a następnie skopiować /homedo niego wszystkie dane . Wtedy ponownym uruchomieniu systemu za pomocą live CD i usuwanie partycji /homei zmienić nazwę folderu, że stworzony w /celu home, a następnie usunąć wejścia do /homew fstab. Ostatnim krokiem będzie zmiana rozmiaru mojej partycji głównej, aby zajmowała puste miejsce utworzone przez usunięcie partycji dla / home.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.