Jak přesunout domovský adresář Linuxu na jiný disk

Potřebujete přesunout vaši domovskou složku v Linuxu na jiný pevný disk? Následující návod krok za krokem vám ukáže, jak na to. Tento postup by měl fungovat na jakékoliv linuxové distribuci. Hlavní výhodou přesunutí domovské složky je, že při reinstalaci operačního systému se nemusíte obávat o ztrátu svých osobních souborů.

Proč oddělit domovskou složku?

Při konfiguraci nového počítače nebo přidávání dalšího disku k existujícímu systému, můžete mít zájem o umístění domovského adresáře na jiný disk, než je standardní umístění.

Často se u moderních počítačů setkáváme s kombinací rychlého SSD disku pro operační systém a většího SSHD nebo klasického HDD pro ukládání dat. Alternativně můžete mít v počítači jeden tradiční HDD a přidat další pro navýšení úložného prostoru. Ať už máte jakýkoliv důvod, zde je jednoduchý a rychlý návod, jak přesunout domovský adresář.

Pokud provádíte čistou instalaci Linuxu, instalační program by vám měl nabídnout možnost vytvoření samostatného oddílu pro domovský adresář. Stačí v nastavení rozdělení disku vytvořit nový oddíl a připojit ho k „/home“. Pokud jste však již Linux nainstalovali, následující kroky vám umožní přesunout váš domovský adresář bez ztráty dat a nutnosti přeinstalace systému.

Než začneme, doporučuji vytvořit zálohu vašich dat.

Identifikace nového disku

Pokud jste do svého Linuxového počítače právě přidali nový disk a restartovali jej, nemusí být na první pohled zřejmé, že disk existuje.

Použijeme příkaz fdisk, který nám vypíše seznam disků a jejich oddílů. Více informací o příkazu fdisk najdete v manuálové stránce.

sudo fdisk -l

Projděte si výstup a identifikujte nový disk. První disk je označen jako /dev/sda, druhý jako /dev/sdb a tak dále. Například /dev/sde by byl pátý disk v systému.

V tomto příkladu předpokládáme, že nový disk je druhý v systému, tedy /dev/sdb.

Jak vidíte, pro /dev/sdb nemáme žádné informace o oddílu. To je proto, že je disk nový a ještě není rozdělen. Nyní na disku vytvoříme oddíl pomocí příkazu fdisk. Pokud váš disk nemá označení /dev/sdb, nahraďte ho správným označením.

sudo fdisk /dev/sdb

Při výzvě fdisk zadejte písmeno ‚p‘. Tím zobrazíte tabulku oddílů. Zobrazí se informace o disku. Máme tak možnost ověřit, že pracujeme se správným diskem.

Informace ukazují, že disk má 1TB, což je v souladu s očekáváním. Můžeme tedy pokračovat.

Vytvoření oddílu

Stiskněte písmeno ‚n‘ pro vytvoření nového oddílu a následně ‚p‘ pro primární oddíl. Při výzvě na číslo oddílu stiskněte ‚1‘.

Chystáme se vytvořit jeden oddíl přes celý disk, proto při výzvě na zadání prvního sektoru můžeme stisknout Enter a přijmout výchozí hodnotu. Stejně tak můžeme stisknout Enter i při zadávání posledního sektoru.

I když fdisk hlásí vytvoření 1TB oddílu, ve skutečnosti se ještě nic nezměnilo. Změny na disku se projeví až po uložení. Jakmile jste si jisti, že nastavení je správné, stiskněte ‚w‘ pro zapsání změn na disk.

Oddíl byl zapsán na /dev/sdb. Ověřme si, co se stalo. Opět použijeme fdisk na /dev/sdb.

sudo fdisk /dev/sdb

Stiskněte ‚p‘ pro zobrazení tabulky oddílů. Nyní vidíte, že je vytvořený oddíl zobrazen. Protože je to první oddíl na tomto disku, je označen jako /dev/sdb1. Druhý oddíl by byl /dev/sdb2 a tak dále.

Protože nechceme provádět další změny, ukončíme fdisk stisknutím ‚q‘.

Vytvoření souborového systému

Nyní je potřeba na oddílu vytvořit souborový systém. To se snadno provede pomocí příkazu mkfs. Ujistěte se, že zadáváte číslo oddílu, tedy /dev/sdb1 a ne /dev/sdb (celý disk). Detailní informace o mkfs najdete na manuálové stránce.

sudo mkfs -t ext4 /dev/sdb1

Souborový systém bude vytvořen a vrátíte se zpět do příkazové řádky.

Připojení nového disku

Abychom mohli nový disk používat, musíme oddíl připojit k bodu připojení v souborovém systému. Připojujeme souborový systém na oddílu a „naroubujeme“ ho do stromové struktury vašeho systému.

Pro dočasný bod připojení použijeme adresář /mnt. Pomocí příkazu mount připojíme souborový systém na prvním oddílu /dev/sdb na /mnt.

sudo mount /dev/sdb1 /mnt

Pokud vše proběhne v pořádku, vrátíte se zpět do příkazové řádky. Ověřme si, zda se můžeme přesunout do nového připojeného souborového systému.

cd /mnt

Ano, můžeme. Podívejme se, co se zde nachází.

ls -ahl

Jsme v novém souborovém systému. Výchozí adresář „lost+found“ není potřeba, proto ho odstraníme.

sudo rm -rf lost+found

Kopírování domovské složky

Nyní musíme zkopírovat vše ze starého domovského adresáře do nově připojeného souborového systému. Pomocí volby -r (rekurzivní) a -p (zachovat) se zajistí, že se zkopírují všechny podadresáře a zachová se vlastnictví, oprávnění a ostatní atributy souborů.

sudo cp -rp /home/* /mnt

Po dokončení kopírování ověřte pomocí ls, zda jsou data na správném místě. Zkrátka, zda by byl /mnt stejný, jako byl váš domovský adresář.

ls
ls dave

Pro jistotu můžeme starý adresář /home přejmenovat a ponechat ho do doby, než se ujistíme, že je bezpečné ho smazat.

sudo mv /home /home.orig

Nyní vytvoříme nový prázdný adresář /home.

sudo mkdir /home

Tento nový prázdný adresář /home použijeme jako bod připojení pro souborový systém na novém disku. Musíme ho odpojit od /mnt a znovu připojit k /home. Příkaz pro odpojení je umount (bez „n“).

sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home/

Testování nového domovského adresáře

Podívejme se na atributy oddílu /dev/sdb1:

df /dev/sdb1

Zobrazuje se nám název souborového systému, velikost oddílu, použité a dostupné místo a co je důležité, kde je připojen. Nyní je připojen na adresář /home. To znamená, že bychom se k němu měli dostat stejně, jako ke starému adresáři /home.

Pokud se přesuneme do libovolného bodu v souborovém systému, měli bychom se umět vrátit do /home pomocí zkratky ~ tilda.

cd /
cd ~
pwd
ls

cd /home
ls
cd dave
ls
ls -a

Můžeme se pohybovat souborovým systémem, jak je zvykem. Všechny adresáře, soubory a nastavení jsou na svém místě. Vše vypadá v pořádku.

Pokud by něco chybělo, můžeme to zkopírovat ze zálohy /home.orig. Ale vše je v pořádku.

Nyní je potřeba zajistit, aby se /dev/sdb1 připojoval automaticky při každém spuštění počítače.

Úprava fstab

Soubor „fstab“ obsahuje seznam souborových systémů, které se mají připojit při spuštění systému. Než začneme provádět změny, vytvoříme jeho zálohu.

sudo cp /etc/fstab /etc/fstab.orig

Nyní můžeme upravit soubor fstab.

sudo gedit /etc/fstab

Pro připojení nového adresáře /home musíte přidat na konec souboru nový řádek. Pokud je vaše označení disku a oddílu jiné, než /dev/sdb1, nahraďte ho správným označením.

Zadejte název oddílu, stiskněte Tab.
Zadejte bod připojení /home a stiskněte Tab.
Zadejte popis souborového systému ext4 a stiskněte Tab.
Zadejte default pro volby připojení a stiskněte Tab.
Zadejte číslici 0 pro volbu výpisu systému souborů a stiskněte Tab.
Zadejte číslici 0 pro volbu kontroly souborového systému.

Uložte soubor fstab.

Restartování systému

Nyní je potřeba restartovat systém a ověřit, že vše proběhlo podle plánu a nový adresář /home se připojil správně.

V případě problémů máte zálohu původního adresáře /home i souboru fstab. Díky tomu se můžete vrátit do stavu před započetím procesu.

sudo reboot now

Závěrečná kontrola

Po restartu systému ověříme, že je adresář /home skutečně na novém disku.

df /dev/sdb1

Výborně. Je připojen na /home. Mise splněna.

Jakmile se ujistíte, že již nepotřebujete zálohu vašeho starého adresáře /home, můžete ho smazat.

cd /
sudo rm -rf home.orig/

Samozřejmě, pokud se zjistí, že se něco nezkopírovalo, můžete to dohledat ze zálohy.

Domov sladký domov

Oddělením adresáře /home od zbytku operačního systému, můžete systém reinstalovat a vaše data zůstanou nedotčena. Stačí jen upravit soubor fstab a připojit druhý disk na /home.

A protože všechna vaše nastavení jsou v adresáři /home, tak všechny vaše aplikace najdou svá nastavení a data.

Tím se zjednodušuje přeinstalace systému a snižuje riziko při aktualizacích.