Hur du flyttar din Linux-hemkatalog till en annan enhet

Vill du flytta din Linux-hemmapp till en annan enhet? Här är ett enkelt och steg för steg sätt att göra det på som borde fungera på alla distributioner. Att flytta din hemmapp innebär att du kan installera om Linux och inte behöver oroa dig för dina personliga filer.

Varför hålla din hemmapp separat?

Om du konfigurerar en ny maskin eller lägger till en hårddisk till en befintlig, kanske du vill ha din hemkatalog på en annan enhet än standardplatsen.

En allt mer populär konfiguration för moderna persondatorer är att ha en medelstor Solid State Drive (SSD) som håller ditt operativsystem och en större Solid State Hybrid Drive (SSHD) eller traditionell hårddisk (HD) som huvudlagring för data. Eller så kanske du har en enda traditionell hårddisk i ditt system och du har lagt till en ny HD för ökad lagring. Oavsett dina skäl, här är en enkel och slag för slag genomgång av att flytta din hemkatalog.

Förresten, om du installerar ett Linux-system från början, kommer du förmodligen att se ett alternativ för att skapa en separat hemkatalog i din Linux-distributions installationsprogram. I allmänhet behöver du bara gå in i partitioneringsalternativen, skapa en separat partition och montera den på ”/home”. Men om du redan har installerat en Linux-distribution kan du använda dessa instruktioner för att flytta din nuvarande hemkatalog till en ny plats utan att förlora något eller installera om ditt operativsystem.

Nu, innan vi börjar, gå och säkerhetskopiera.

Identifiera enheten

Om du precis har monterat en enhet på en Linux-dator, eller installerat Linux på en av enheterna i en ny multi-drive-dator, och startat om, finns det få bevis för att den nya enheten ens finns.

Kommandot fdisk kommer lista enheterna och deras partitioner för oss.

sudo fdisk -l

Bläddra igenom utgången tills du har identifierat den nya enheten. Den första enheten heter /dev/sda , den andra är /dev/sdb och så vidare, med den sista bokstaven som ökar varje gång. Så /dev/sde skulle vara den femte hårddisken i systemet.

i det här exemplet är den nya enheten den andra enheten som ska monteras i systemet. Så vi måste leta efter en post för /dev/sdb.

/dev/sdb är markerad ovan. Du kommer att märka att den inte har en rad som beskriver en partition på den. Det är en helt ny enhet så den kommer inte att ha någon ännu. Vi måste skapa partitionen. Vi kan göra det med fdisk. Om din hårddisk inte är /dev/sdb, se till att du ersätter /dev/sdb med den faktiska enhetsidentifieraren för din nya hårddisk i kommandot.

sudo fdisk /dev/sdb

När fdisk ber dig om ett kommando, tryck på bokstaven p. Detta skriver ut partitionstabellen för hårddisken. Vi vet att det inte kommer att ha någon, men vi får lite användbar information om enheten. Det ger oss en bra chans att se till att enheten vi ska skapa en partition för är den enhet vi tänkt arbeta med.

Det säger oss att enheten är en 1TB-enhet, vilket matchar vad vi förväntar oss i den här testmaskinen, så vi fortsätter.

Skapa en partition

Tryck på bokstaven n för en ny partition och tryck sedan på p för en primär partition. När du tillfrågas om partitionsnumret, tryck på siffran 1.

Vi kommer att skapa en enda partition för hela disken, så när vi tillfrågas om den första sektorn kan vi trycka på Enter för att acceptera standardvärdet. Du kommer då att bli tillfrågad om den sista sektorn och Enter accepterar standardvärdet.

Även om fdisk bekräftar att den har skapat en 1TB Linux-partition, vilket är partition nummer 1, har ingenting ändrats på hårddisken ännu. Tills du ger fdisk kommandot att skriva ändringarna till enheten, är enheten orörd. När du är säker på att du är nöjd med våra val, tryck på bokstaven w för att skriva ändringarna till enheten.

Partitionen har skrivits till /dev/sdb . Låt oss kolla vad som just hände. Vi kommer att använda fdisk en gång till på /dev/sdb.

sudo fdisk /dev/sdb

Tryck på bokstaven p för att skriva ut den partitionstabellen, så ser du att det finns en partition listad för enheten nu. Eftersom det var den första partitionen på den här enheten, kallas den /dev/sdb1. En andra partition skulle heta /dev/sdb2, och så vidare.

Vi vill inte göra några ändringar i partitionen, så tryck på bokstaven q för att avsluta.

Skapa ett filsystem på partitionen

Vi måste skapa ett filsystem på partitionen. Detta uppnås enkelt med kommandot mkfs. Observera att du måste inkludera partitionsnumret i kommandot. Var noga med att skriva /dev/sdb1 (partitionen) och inte /dev/sdb (enheten).

sudo mkfs -t ext4 /dev/sdb1

Filsystemet kommer att skapas åt dig och du kommer tillbaka till kommandotolken.

Montering av den nya enheten

För att använda den nya enheten måste vi montera partitionen på den till en monteringspunkt i filsystemet. I själva verket, för att vara helt korrekt, monterar vi varken enheten eller partitionen, vi monterar filsystemet på partitionen, genom att ympa det på ditt systems filsystemsträd.

/mnt-punkten är en lika bra plats som någon annan. Det är bara en tillfällig monteringspunkt för att vi ska kunna kopiera data till den nya enheten. Vi kommer att använda kommandot mount för att montera filsystemet på den första partitionen på /dev/sdb, vid /mnt .

sudo mount /dev/sdb1 /mnt

Om allt går bra kommer du att återgå till kommandoraden utan felmeddelanden. Låt oss se om vi kan byta katalog till vårt nymonterade filsystem.

cd /mnt

Ja det kan vi. låt oss se vad som finns här.

ls -ahl

Vi är i vårt nya filsystem. Standardkatalogen ”förlorad+hittad” krävs inte så vi kan ta bort den.

sudo rm -rf lost+found

Kopiera din hemmapp

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älls allt underkataloger kopieras och att filägande, behörigheter och andra attribut behålls.

sudo cp -rp /home/* /mnt

När kopian är klar, använd ls för att titta runt och verifiera att din data är där du förväntar dig att den ska vara i det nya filsystemet. Med andra ord, om /mnt var din hemkatalog, är allt närvarande och korrekt?

ls
ls dave

Du kommer förmodligen att vilja vara lite mer noggrann än vi var på testmaskinen som denna artikel undersöktes om. Som ett skyddsnät kommer vi att byta namn på och behålla din gamla /home-katalog tills du är nöjd med 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 kommer att använda 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 om den på /home. Observera 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

Vi visas namnet på filsystemet, storleken på partitionen och det använda och tillgängliga utrymmet på den, och viktigare, var den är monterad. Det är nu vår /home-katalog. Det betyder att vi borde kunna referera till den precis som vi kunde den gamla /home-katalogen.

Om vi ​​flyttar till någon godtycklig punkt i filsystemet, borde vi kunna byta tillbaka till /home med ~ tilde genvägen.

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 använda genvägen ~. Mapparna, filerna och punktfilerna vi förväntar oss är alla närvarande. Det hela ser bra ut.

Om något saknades kunde 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 ha /dev/sdb1 monterat automatiskt varje gång din dator startas.

Redigerar fstab

Filen ”fstab” innehåller beskrivningar av filsystemen som kommer att monteras när systemet startar. Innan vi gör några ändringar i den gör vi en säkerhetskopia av den som vi kan återvända till i händelse av problem.

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 de som används i det här exemplet, byt ut /dev/sdb1 som visas här.

Skriv namnet på partitionen i början av raden och tryck sedan på Tab.
Skriv in monteringspunkten, /home, och tryck på Tab.
Skriv filsystembeskrivningen ext4 och tryck på Tab.
Skriv standardinställningar 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 ditt system

Vi behöver starta om för att verifiera att allt har gått enligt plan och att du har en sömlös anslutning till din nya /home-katalog.

Om den inte gör det har du fortfarande skyddsnätet för din ursprungliga /home-katalog och fstab-fil som kan återställas om det behövs. På grund av de försiktighetsåtgärder vi har vidtagit – kopiering av /home-katalogen och fstab-filer – kan du enkelt återställa ditt system till det tillstånd det var i innan du började.

sudo reboot now

Slutkontroller

När ditt system startar om, låt oss bara kontrollera att din /home-katalog verkligen finns på din nya hårddisk, och att ditt system inte på något sätt (mirakulöst) har återgått till att använda den gamla /home-katalogen.

df /dev/sdb1

Bra, den är monterad på /home. Uppdrag 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 naturligtvis, om du inser att något inte kopierades över från det gamla /home till ditt nya /home, kommer du att kunna hämta det från säkerhetskopian du gjorde innan vi började.

Hem kära hem

Nu när du har separerat din /home-katalog från resten av operativsystemets partition kan du installera om ditt operativsystem och dina data kommer att vara orörda. Allt du behöver göra är att redigera fstab-filen för att montera din andra enhet på /home.

Och eftersom alla dina dot-filer finns i din /home-katalog kommer de att hitta alla dina inställningar, preferenser och data när du startar upp dina olika applikationer.

Det tar smärtan av ominstallationer och tar risken med uppgraderingar.