Jak przenieść katalog domowy systemu Linux na inny dysk?
Opublikowany: 2022-01-29Chcesz przenieść swój katalog domowy Linuksa na inny dysk? Oto prosty i krok po kroku sposób na zrobienie tego, który powinien działać na każdej dystrybucji. Przeniesienie folderu domowego oznacza, że możesz ponownie zainstalować Linuksa i nie musisz się martwić o swoje osobiste pliki.
Po co przechowywać swój folder domowy oddzielnie?
Jeśli konfigurujesz nowy komputer lub dodajesz dysk twardy do istniejącego, możesz chcieć umieścić swój katalog domowy na innym dysku niż domyślna lokalizacja.
Coraz popularniejszą konfiguracją nowoczesnych komputerów osobistych jest posiadanie średniej wielkości dysku półprzewodnikowego (SSD) z systemem operacyjnym oraz większego dysku hybrydowego półprzewodnikowego (SSHD) lub tradycyjnego dysku twardego (HD) jako głównego miejsca przechowywania danych. Możesz też mieć jeden tradycyjny dysk twardy w swoim systemie i dodałeś nowy dysk twardy w celu zwiększenia pojemności. Niezależnie od powodów, oto prosty i szczegółowy przegląd przenoszenia katalogu domowego.
Przy okazji, jeśli instalujesz system Linux od zera, prawdopodobnie zobaczysz opcję utworzenia oddzielnego katalogu domowego w instalatorze twojej dystrybucji Linuksa. Ogólnie rzecz biorąc, wystarczy przejść do opcji partycjonowania, utworzyć oddzielną partycję i zamontować ją w „/home”. Ale jeśli masz już zainstalowaną dystrybucję Linuksa, możesz skorzystać z tych instrukcji, aby przenieść bieżący katalog domowy do nowej lokalizacji bez utraty czegokolwiek lub ponownej instalacji systemu operacyjnego.
Teraz, zanim zaczniemy, idź i zrób kopię zapasową.
POWIĄZANE: Jak wykonać kopię zapasową systemu Linux za pomocą rsync
Zidentyfikuj dysk
Jeśli właśnie zamontowałeś dysk w komputerze z systemem Linux lub zainstalowałeś system Linux na jednym z dysków w nowym komputerze wielodyskowym i uruchomiłeś go ponownie, niewiele jest dowodów na to, że nowy dysk jest w ogóle obecny.
Polecenie fdisk
wyświetli dla nas listę dysków i ich partycji.
sudo fdisk -l
Przewiń dane wyjściowe, aż zidentyfikujesz nowy dysk. Pierwszy dysk nazywa się /dev/sda
, drugi to /dev/sdb
i tak dalej, a ostatnia litera rośnie za każdym razem. Tak więc /dev/sde
byłby piątym dyskiem twardym w systemie.
w tym przykładzie nowy napęd jest drugim napędem, który należy zamontować w systemie. Musimy więc poszukać wpisu /dev/sdb
.
/dev/sdb
jest podświetlony powyżej. Zauważysz, że nie ma na nim linii opisującej partycję. To zupełnie nowy dysk, więc jeszcze go nie będzie. Musimy stworzyć partycję. Możemy to zrobić za pomocą fdisk
. Jeśli twój dysk twardy nie jest /dev/sdb
, upewnij się, że zastępujesz /dev/sdb
rzeczywistym identyfikatorem dysku dla nowego dysku twardego w poleceniu.
sudo fdisk /dev/sdb
Gdy fdisk
poprosi o polecenie, naciśnij literę p
. Spowoduje to wydrukowanie tablicy partycji dla dysku twardego. Wiemy, że go nie będzie, ale otrzymujemy przydatne informacje o napędzie. Daje nam to dużą szansę na upewnienie się, że dysk, dla którego zamierzamy utworzyć partycję, jest dyskiem, z którym zamierzaliśmy pracować.
Mówi nam, że dysk jest dyskiem o pojemności 1 TB, co odpowiada temu, czego oczekujemy w tej maszynie testowej, więc będziemy kontynuować.
Utwórz partycję
Naciśnij literę n
dla nowej partycji, a następnie naciśnij p
dla partycji podstawowej. Gdy pojawi się pytanie o numer strefy, naciśnij cyfrę 1
.
Zamierzamy utworzyć pojedynczą partycję dla całego dysku, więc po wyświetleniu monitu o pierwszy sektor możemy nacisnąć Enter, aby zaakceptować wartość domyślną. Zostaniesz poproszony o podanie ostatniego sektora, a Enter zaakceptuje wartość domyślną.
Chociaż fdisk
potwierdza, że utworzył partycję Linuksa o pojemności 1 TB, która jest partycją numer 1, nic się jeszcze nie zmieniło na dysku twardym. Dopóki nie fdisk
polecenia zapisania zmian na dysku, dysk pozostanie nietknięty. Gdy upewnisz się, że jesteś zadowolony z naszych wyborów, naciśnij literę w
, aby zapisać zmiany na dysku.
Partycja została zapisana w /dev/sdb
. Sprawdźmy, co się właśnie stało. Ponownie użyjemy fdisk
na /dev/sdb
.
sudo fdisk /dev/sdb
Naciśnij literę p
, aby wydrukować tę tabelę partycji, a zobaczysz, że jest teraz wymieniona partycja dla dysku. Ponieważ była to pierwsza partycja na tym dysku, nazywa się /dev/sdb1
. Druga partycja miałaby nazwę /dev/sdb2
i tak dalej.
Nie chcemy wprowadzać żadnych zmian na partycji, więc naciśnij literę q
, aby wyjść.
Utwórz system plików na partycji
Musimy stworzyć system plików na partycji. Można to łatwo osiągnąć za pomocą polecenia mkfs
. Pamiętaj, że w poleceniu musisz podać numer partycji. Uważaj, aby wpisać /dev/sdb1
(partycja), a nie /dev/sdb
(dysk).
sudo mkfs -t ext4 /dev/sdb1
System plików zostanie dla Ciebie utworzony i wrócisz do wiersza poleceń.
Montaż nowego dysku
Aby użyć nowego dysku, musimy zamontować na nim partycję do punktu montowania w systemie plików. Właściwie, aby być idealnie dokładnym, nie montujemy dysku ani partycji, montujemy system plików na partycji, przeszczepiając go na drzewo systemu plików twojego systemu.
Punkt /mnt
jest tak dobrym miejscem, jak każde inne. Jest to tylko tymczasowy punkt montowania, który pozwala nam skopiować dane na nowy dysk. Użyjemy polecenia mount
aby zamontować system plików na pierwszej partycji na /dev/sdb
, w /mnt
.
sudo mount /dev/sdb1 /mnt
Jeśli wszystko pójdzie dobrze, nastąpi powrót do wiersza poleceń bez komunikatów o błędach. Zobaczmy, czy możemy zmienić katalog na nasz nowo zamontowany system plików.
cd /mnt
Tak możemy. zobaczmy, co tu jest.
ls -ahl
Jesteśmy w naszym nowym systemie plików. Domyślny katalog „lost + found” nie jest wymagany, więc możemy go usunąć.
sudo rm -rf zgubiono+znaleziono
Kopiowanie folderu domowego
Musimy skopiować wszystko ze starego katalogu domowego do nowo zamontowanego systemu plików. Użycie opcji r
(rekursywne) i p
(zachowaj) zapewni skopiowanie wszystkich podkatalogów i zachowanie własności plików, uprawnień i innych atrybutów.
sudo cp -rp /home/* /mnt
Po zakończeniu kopiowania użyj ls
, aby rozejrzeć się i sprawdzić, czy dane są tam, gdzie się spodziewasz, w nowym systemie plików. Innymi słowy, jeśli /mnt
był twoim katalogiem domowym, czy wszystko jest obecne i poprawne?
ls
Czy Dave
Prawdopodobnie będziesz chciał być nieco dokładniejszy niż my na maszynie testowej, na której ten artykuł był badany. Jako sieć bezpieczeństwa zamierzamy zmienić nazwę i zachować twój stary katalog /home
, dopóki nie będziesz zadowolony, że można go bezpiecznie usunąć.
sudo mv /home /home.orig
I utworzymy nowy, pusty katalog domowy.
sudo mkdir / home
Użyjemy tego nowego, pustego katalogu domowego jako punktu montowania naszego systemu plików na nowym dysku twardym. Musimy odmontować go z /mnt
i zamontować ponownie w /home
. Zauważ, że w poleceniu umount
nie ma „n” po „u”.
Ale najpierw przejdziemy do katalogu głównego (za pomocą cd /
), aby upewnić się, że nie znajdujemy się w katalogu, który zostanie uwzględniony w lokalizacji montowania lub odmontowywania.
płyta CD /
sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home/
POWIĄZANE: Wyjaśnienie struktury katalogów systemu Linux
Testowanie nowego katalogu domowego
Zobaczmy, jakie są teraz atrybuty partycji /dev/sdb1
:
df /dev/sdb1
Pokazano nam nazwę systemu plików, rozmiar partycji oraz zajętą i dostępną na niej przestrzeń, a także, co ważne, miejsce jej zamontowania. To jest teraz nasz katalog /home
. Oznacza to, że powinniśmy być w stanie odwołać się do niego dokładnie tak samo, jak do starego katalogu /home
.
Jeśli przejdziemy do dowolnego miejsca w systemie plików, powinniśmy móc wrócić do /home
za pomocą skrótu ~
tyldy.
płyta CD /
cd ~
pwd
ls
cd /home
ls
cd Dave
ls
ls-a
Możemy poruszać się po systemie plików tam iz powrotem do /home
, używając jawnych poleceń i używając skrótu ~
. Wszystkie foldery, pliki i pliki z kropkami są obecne. Wszystko wygląda dobrze.
Gdyby czegoś brakowało, moglibyśmy skopiować to z katalogu /home.orig
, do którego nadal mamy dostęp w katalogu głównym systemu plików. Ale wszystko wygląda dobrze.
Teraz musimy automatycznie montować /dev/sdb1
przy każdym uruchomieniu komputera.
Edycja fstab
Plik „fstab” zawiera opisy systemów plików, które zostaną zamontowane podczas uruchamiania systemu. Zanim wprowadzimy w nim jakiekolwiek zmiany, wykonamy jego kopię zapasową, do której będziemy mogli wrócić w razie problemów.
sudo cp /etc/fstab /etc/fstab.orig
Teraz możemy edytować plik fstab. Użyj swojego ulubionego edytora, my używamy gedit
. Każdy edytor tekstu zrobi to.
sudo gedit /etc/fstab
Musisz dodać linię na dole pliku, aby zamontować nasz nowy katalog /home
. Jeśli identyfikatory dysku i partycji różnią się od tych użytych w tym przykładzie, zastąp je podanym tutaj /dev/sdb1
.
- Wpisz nazwę partycji na początku wiersza, a następnie naciśnij klawisz Tab.
- Wpisz punkt montowania
/home
i naciśnij Tab. - Wpisz opis systemu plików
ext4
i naciśnij Tab. - Wpisz
defaults
dla opcji montowania i naciśnij klawisz Tab. - Wpisz cyfrę
0
dla opcji zrzutu systemu plików i naciśnij klawisz Tab. - Wpisz cyfrę
0
dla opcji sprawdzania systemu plików.
Zapisz plik fstab.
Uruchom ponownie system
Musimy ponownie uruchomić komputer, aby sprawdzić, czy wszystko poszło zgodnie z planem i czy masz bezproblemowe połączenie z nowym katalogiem /home
.
Jeśli tak się nie stanie, nadal masz sieć bezpieczeństwa swojego oryginalnego katalogu /home
i pliku fstab, który można przywrócić w razie potrzeby. Ze względu na podjęte przez nas środki ostrożności — kopiowanie katalogu /home
i plików fstab — można łatwo przywrócić system do stanu sprzed rozpoczęcia.
sudo zrestartuj teraz
POWIĄZANE: Jak ponownie uruchomić lub zamknąć system Linux za pomocą wiersza poleceń
Kontrole końcowe
Po ponownym uruchomieniu systemu sprawdźmy, czy katalog /home
naprawdę znajduje się na nowym dysku twardym i czy system nie powrócił w jakiś (cudownie) do używania starego katalogu /home
.
df /dev/sdb1
Świetnie, jest zamontowany w /home
. Misja zakończona.
Gdy masz całkowitą pewność, że nie potrzebujesz już kopii bezpieczeństwa swojego starego katalogu /home
, możesz go usunąć:
płyta CD /
sudo rm -rf home.orig/
I oczywiście, jeśli zdasz sobie sprawę, że coś nie zostało skopiowane ze starego /home
do nowego /home
, będziesz mógł odzyskać to z kopii zapasowej, którą wykonałeś przed rozpoczęciem.
Nie ma to jak w domu
Teraz, gdy oddzieliłeś katalog /home
od reszty partycji systemu operacyjnego, możesz ponownie zainstalować system operacyjny, a Twoje dane pozostaną nienaruszone. Wszystko, co musisz zrobić, to edytować plik fstab, aby zamontować drugi dysk w /home
.
A ponieważ wszystkie twoje pliki dotfile znajdują się w twoim katalogu /home
, kiedy uruchomisz różne aplikacje, znajdą one wszystkie twoje ustawienia, preferencje i dane.
Eliminuje ból związany z ponowną instalacją i eliminuje ryzyko aktualizacji.
Polecenia Linuksa | ||
Pliki | tar · pv · kot · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · dysk testowy · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · ogon · stat · ls · fstab · echo · mniej · chgrp · chown · rev · wygląd · stringi · typ · zmiana nazwy · zip · rozpakuj · montuj · umount · zainstaluj · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · konwertuj · rclone · shred · srm | |
Procesy | alias · ekran · top · ładne · renice · postęp · strace · systemd · tmux · chsh · historia · w · wsad · free · co · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · ściana · tak · kill · sen · sudo · su · czas · groupadd · usermod · grupy · lshw · zamknij · restart · halt · poweroff · passwd · lscpu · crontab · data · bg · fg | |
Sieć | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
POWIĄZANE: Najlepsze laptopy z systemem Linux dla programistów i entuzjastów