Vill du placera din Linux-hemkatalog på en annan lagringsenhet? Följ dessa enkla steg för att flytta den. Denna guide fungerar för de flesta Linuxdistributioner. Genom att flytta din hemkatalog kan du ominstallera Linux utan att oroa dig för att förlora dina personliga filer.
Varför ha en separat hemkatalog?
Om du konfigurerar en ny dator eller lägger till en extra hårddisk, kan det vara bra att ha din hemkatalog på en annan enhet än den vanliga platsen.
En vanlig lösning är att ha en snabb SSD-enhet (Solid State Drive) för operativsystemet och en större SSHD-enhet (Solid State Hybrid Drive) eller traditionell hårddisk (HD) för lagring av data. Det kan också vara att du har lagt till en ny HD-enhet i din dator för extra lagringsutrymme. Oavsett anledning får du här en detaljerad guide för att flytta din hemkatalog.
När du installerar Linux kan du oftast välja att skapa en separat hemkatalog direkt i installationsprogrammet. Du behöver bara skapa en ny partition och montera den som ”/home”. Men om du redan har installerat Linux kan du använda denna guide för att flytta din befintliga hemkatalog till en ny plats utan att förlora data eller behöva installera om systemet.
Innan vi startar, se till att du har en säkerhetskopia av dina data.
Identifiera den nya enheten
Om du precis har installerat en ny enhet i din Linuxdator, eller om du har installerat Linux på en dator med flera enheter, kan det vara svårt att se att den nya enheten existerar.
Kommandot fdisk visar en lista över alla enheter och partitioner.
sudo fdisk -l
Gå igenom utskriften tills du hittar den nya enheten. Den första enheten kallas /dev/sda, den andra /dev/sdb, och så vidare. Så /dev/sde skulle vara den femte hårddisken.
I det här exemplet är den nya enheten den andra enheten i systemet, så vi letar efter en post för /dev/sdb.
/dev/sdb är markerad i bilden ovan. Du ser att det inte finns någon rad som beskriver en partition. Det beror på att det är en helt ny enhet utan partition. Vi måste skapa en partition med hjälp av fdisk. Om din hårddisk inte är /dev/sdb ska du byta ut /dev/sdb mot den korrekta identifieraren för din nya disk.
sudo fdisk /dev/sdb
När fdisk ber om ett kommando, tryck på ’p’. Detta visar partitionstabellen för hårddisken. Vi vet att det inte finns någon partition ännu, men vi får lite nyttig information om enheten. Det är bra att kontrollera att det verkligen är rätt enhet.
Vi kan se att enheten är på 1TB, vilket stämmer med vår testdator, så vi fortsätter.
Skapa en partition
Tryck på ’n’ för en ny partition och sedan ’p’ för en primär partition. När du blir tillfrågad om partitionsnumret, tryck på siffran 1.
Vi skapar en enda partition för hela disken, så när vi tillfrågas om den första sektorn, kan vi trycka Enter för att acceptera standardvärdet. Sedan kommer vi att tillfrågas om den sista sektorn, och vi kan trycka Enter för att acceptera standardvärdet igen.
fdisk bekräftar att en 1TB Linux-partition har skapats, vilket är partition nummer 1. Men ingenting har ändrats på hårddisken ännu. Ändringarna skrivs först när du ger fdisk kommandot att skriva dem till enheten. När du är säker på att du är nöjd med dina val, tryck på ’w’ för att skriva ändringarna.
Partitionen har skrivits till /dev/sdb. Låt oss kontrollera vad som hände genom att använda fdisk igen på /dev/sdb.
sudo fdisk /dev/sdb
Tryck på ’p’ för att skriva ut partitionstabellen. Nu ser du att det finns en partition listad för enheten. Eftersom det var den första partitionen på den här enheten, heter den /dev/sdb1. En andra partition skulle heta /dev/sdb2, och så vidare.
Vi vill inte göra några ändringar, så tryck på ’q’ för att avsluta.
Skapa ett filsystem på partitionen
Vi måste skapa ett filsystem på partitionen. Det gör vi enkelt med kommandot mkfs. Kom ihåg att inkludera partitionsnumret i kommandot. Var noga med att ange /dev/sdb1 (partitionen) och inte /dev/sdb (enheten).
Se manualen för mkfs.
sudo mkfs -t ext4 /dev/sdb1
Filsystemet skapas och du kommer tillbaka till kommandotolken.
Montera den nya enheten
För att använda den nya enheten måste vi montera filsystemet på en monteringspunkt i filsystemet. Vi monterar filsystemet på partitionen och lägger det till ditt systems filsystemträd.
/mnt är en bra monteringspunkt. Det är en tillfällig plats där vi kan kopiera data till den nya enheten. Vi använder kommandot mount för att montera filsystemet på den första partitionen av /dev/sdb, vid /mnt.
sudo mount /dev/sdb1 /mnt
Om allt går som det ska kommer du tillbaka till kommandoraden utan felmeddelanden. Låt oss se om vi kan gå till det nymonterade filsystemet.
cd /mnt
Ja, det kan vi. Låt oss se vad som finns här.
ls -ahl
Vi är nu i vårt nya filsystem. Standardkatalogen ”lost+found” behövs inte så vi kan ta bort den.
sudo rm -rf lost+found
Kopiera din hemkatalog
Vi måste kopiera allt från den gamla hemkatalogen till det nymonterade filsystemet. Genom att använda alternativen ’r’ (rekursiv) och ’p’ (bevara) säkerställer vi att alla underkataloger kopieras och att filägare, behörigheter och andra attribut bevaras. Läs mer om cp kommandot.
sudo cp -rp /home/* /mnt
När kopieringen är klar, använd ’ls’ för att kontrollera att din data är där du förväntar dig i det nya filsystemet. Om /mnt var din hemkatalog, finns allt där och ser korrekt ut?
ls
ls dave
Du kan vara mer noggrann än vi var på testdatorn som vi använde för denna guide. För att vara på den säkra sidan byter vi namn på din gamla /home-katalog och behåller den tills du är säker på att det är säkert att ta bort den.
sudo mv /home /home.orig
Och vi skapar en ny, tom hemkatalog.
sudo mkdir /home
Vi använder den nya tomma hemkatalogen som monteringspunkt för vårt filsystem på den nya hårddisken. Vi måste avmontera den från /mnt och montera den på /home. Notera att kommandot ’umount’ inte har ett ’n’ efter ’u’.
sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home/
Testa din nya hemkatalog
Låt oss se vad attributen för /dev/sdb1-partitionen är nu:
df /dev/sdb1
Här visas filsystemets namn, storleken på partitionen, använt och tillgängligt utrymme, och viktigast av allt, var den är monterad. Det är nu vår /home-katalog. Det betyder att vi ska kunna referera till den precis som vi gjorde med den gamla /home-katalogen.
Om vi går till en godtycklig plats i filsystemet, ska vi kunna gå tillbaka till /home med genvägen ~ (tilde).
cd /
cd ~
pwd
ls
cd /home
ls
cd dave
ls
ls -a
Vi kan flytta genom filsystemet fram och tillbaka till /home genom att använda explicita kommandon och genvägen ~. Mapparna, filerna och punktfilerna som vi förväntar oss finns alla där. Allt ser bra ut.
Om något saknas kan vi kopiera det från katalogen /home.orig, som vi fortfarande har tillgång till i filsystemets rot. Men allt ser bra ut.
Nu måste vi se till att /dev/sdb1 monteras automatiskt varje gång datorn startas.
Redigera fstab
Filen ”fstab” innehåller en lista med filsystem som monteras när systemet startar. Innan vi gör ändringar i filen skapar vi en säkerhetskopia ifall något går fel.
sudo cp /etc/fstab /etc/fstab.orig
Nu kan vi redigera fstab-filen.
sudo gedit /etc/fstab
Du måste lägga till en rad längst ner i filen för att montera vår nya /home-katalog. Om din enhets- och partitionsidentifierare är annorlunda än i det här exemplet, byt ut /dev/sdb1.
Skriv namnet på partitionen i början av raden och tryck på Tab.
Skriv in monteringspunkten, /home, och tryck på Tab.
Skriv filsystembeskrivningen ext4 och tryck på Tab.
Skriv ’defaults’ för monteringsalternativen och tryck på Tab.
Skriv siffran 0 för filsystemets dumpalternativ och tryck på Tab.
Skriv siffran 0 för filsystemkontrollalternativet.
Spara fstab-filen.
Starta om systemet
Vi behöver starta om datorn för att kontrollera att allt fungerar som det ska och att du har en sömlös anslutning till den nya /home-katalogen.
Om något inte fungerar har vi fortfarande säkerhetskopian av den gamla /home-katalogen och fstab-filen. Tack vare att vi kopierade /home-katalogen och fstab-filen kan du enkelt återställa systemet till det läge det var i innan vi började.
sudo reboot now
Slutkontroller
När systemet har startat om, låt oss bara kontrollera att din /home-katalog verkligen ligger på din nya hårddisk och att systemet inte (mirakulöst) har gått tillbaka till att använda den gamla /home-katalogen.
df /dev/sdb1
Bra, den är monterad på /home. Uppdraget är slutfört.
När du är helt säker på att du inte längre behöver säkerhetskopian av din gamla /home-katalog kan du ta bort den:
cd /
sudo rm -rf home.orig/
Och om du upptäcker att något inte har kopierats över från den gamla /home-katalogen till den nya, kan du hämta det från säkerhetskopian vi skapade innan vi började.
Hemma, kära hemma
Nu när du har separerat din /home-katalog från resten av operativsystemets partition kan du ominstallera systemet utan att förlora dina data. Allt du behöver göra är att redigera fstab-filen för att montera den nya enheten på /home.
Och eftersom alla dina punktfiler finns i /home-katalogen kommer alla dina inställningar, preferenser och data att finnas där när du startar dina olika applikationer.
Det underlättar ominstallationer och tar bort risken med uppgraderingar.