Ønsker du å overføre Linux-hjemmemappen til en annen lagringsenhet? Her presenteres en lettfattelig og steg-for-steg fremgangsmåte som fungerer på de fleste distribusjoner. Ved å flytte hjemmemappen kan du reinstallere Linux uten å bekymre deg for å miste dine personlige data.
Hvorfor separere hjemmemappen?
Dersom du konfigurerer en ny datamaskin eller legger til en ekstra harddisk i en eksisterende, kan det være fordelaktig å ha hjemmekatalogen på en annen disk enn der standardplasseringen er.
En stadig mer populær løsning for moderne PC-er er å bruke en mellomstor SSD (Solid State Drive) for operativsystemet og en større SSHD (Solid State Hybrid Drive) eller tradisjonell HDD (Hard Disk Drive) for lagring av data. Eller, du har kanskje en tradisjonell HDD og har lagt til en ny for å øke lagringskapasiteten. Uansett årsak, følger her en enkel veiledning for å flytte hjemmekatalogen.
Merk at ved installasjon av et Linux-system, vil du ofte finne et alternativ for å opprette en separat hjemmekatalog i installasjonsprogrammet. Vanligvis innebærer dette å konfigurere partisjoner, opprette en ny partisjon og montere den som «/home». Men, hvis du allerede har installert en Linux-distribusjon, kan du bruke denne guiden for å flytte din eksisterende hjemmekatalog til en ny plassering, uten å miste data eller reinstallere operativsystemet.
Før vi begynner, sørg for å ta en sikkerhetskopi av dine data.
Identifisering av lagringsenheten
Etter at du har koblet til en ny lagringsenhet i Linux, eller installert Linux på en av enhetene i en maskin med flere enheter, og deretter startet opp, vil det ikke være noen umiddelbar indikasjon på at den nye enheten er tilgjengelig.
Kommandoen `fdisk` vil vise en liste over lagringsenhetene og deres partisjoner.
sudo fdisk -l
Gå gjennom utskriften til du finner den nye enheten. Den første enheten er vanligvis /dev/sda, den andre /dev/sdb og så videre. /dev/sde ville dermed være den femte harddisken i systemet.
I dette eksemplet antar vi at den nye enheten er den andre enheten som er montert i systemet, og vi ser etter en oppføring for /dev/sdb.
/dev/sdb er uthevet ovenfor. Du ser at det ikke er en linje som beskriver en partisjon. Dette er fordi det er en helt ny enhet. Vi må opprette en partisjon. Dette kan gjøres med fdisk. Hvis harddisken din ikke er /dev/sdb, må du bytte ut /dev/sdb med den faktiske enhetsidentifikatoren for den nye harddisken i kommandoen.
sudo fdisk /dev/sdb
Når fdisk spør etter en kommando, trykker du på bokstaven `p`. Dette skriver ut partisjonstabellen for harddisken. Vi vet at det ikke finnes noen, men vi får nyttig informasjon om enheten. Det gir oss også muligheten til å bekrefte at vi jobber med riktig lagringsenhet.
Den informerer oss om at enheten er en 1 TB-enhet, noe som stemmer med vår testmaskin, så vi fortsetter.
Oppretting av en partisjon
Trykk på bokstaven `n` for en ny partisjon, deretter `p` for en primær partisjon. Når du blir spurt om partisjonsnummeret, trykk `1`.
Vi skal lage en enkelt partisjon for hele disken. Når du blir spurt om den første sektoren, kan du trykke Enter for å godta standardverdien. Det samme gjør du for den siste sektoren.
Selv om fdisk bekrefter at den har opprettet en 1 TB Linux-partisjon, som er partisjon nummer 1, er det fortsatt ikke gjort noen endringer på disken. Endringene skrives ikke til disken før du gir fdisk kommandoen for å gjøre det. Når du er sikker på at valgene er korrekte, trykk `w` for å skrive endringene til disken.
Partisjonen er nå skrevet til /dev/sdb. La oss sjekke hva som har skjedd ved å bruke fdisk på /dev/sdb en gang til.
sudo fdisk /dev/sdb
Trykk `p` for å skrive ut partisjonstabellen. Du vil se at det nå er en partisjon. Siden det var den første partisjonen på enheten, heter den /dev/sdb1. En andre partisjon ville hete /dev/sdb2, og så videre.
Vi ønsker ikke å gjøre flere endringer i partisjonen, så trykk `q` for å avslutte.
Opprettelse av et filsystem på partisjonen
Vi må opprette et filsystem på partisjonen. Dette gjøres enkelt med kommandoen `mkfs`. Merk at du må inkludere partisjonsnummeret i kommandoen. Vær nøye med å bruke /dev/sdb1 (partisjonen) og ikke /dev/sdb (enheten).
sudo mkfs -t ext4 /dev/sdb1
Filsystemet opprettes og du returneres til kommandoprompten.
Montering av den nye enheten
For å bruke den nye enheten, må vi montere filsystemet på partisjonen til et monteringspunkt i filsystemet. Det vi faktisk gjør er å montere filsystemet på partisjonen ved å koble det til systemets filsystemtre.
/mnt er et passende midlertidig monteringspunkt for å kopiere data over til den nye enheten. Vi bruker `mount`-kommandoen for å montere filsystemet på den første partisjonen på /dev/sdb til /mnt.
sudo mount /dev/sdb1 /mnt
Hvis alt går som det skal, returneres du til kommandolinjen uten feilmeldinger. La oss se om vi kan endre katalog til det nylig monterte filsystemet.
cd /mnt
Ja, det kan vi. La oss se hva som er her.
ls -ahl
Vi er nå i det nye filsystemet. Standardmappen «lost+found» er ikke nødvendig, så vi kan fjerne den.
sudo rm -rf lost+found
Kopiering av hjemmemappen
Vi må kopiere alt fra den gamle hjemmekatalogen til det nylig monterte filsystemet. Ved å bruke alternativene `r` (rekursiv) og `p` (bevar) sikrer vi at alle undermapper kopieres og at filenes eierskap, rettigheter og andre attributter beholdes.
sudo cp -rp /home/* /mnt
Når kopieringen er fullført, bruk `ls` for å bekrefte at dataene dine er der de skal være i det nye filsystemet. Med andre ord, hvis /mnt var hjemmekatalogen, er alt på plass og korrekt?
ls
ls dave
Du vil sannsynligvis være litt mer grundig enn oss på testmaskinen vi brukte til denne artikkelen. Som en ekstra sikkerhet, vil vi gi nytt navn til og beholde din gamle /home-mappe til du er sikker på at det er trygt å slette den.
sudo mv /home /home.orig
Deretter oppretter vi en ny, tom hjemmekatalog.
sudo mkdir /home
Vi bruker den nye, tomme hjemmekatalogen som monteringspunkt for filsystemet vårt på den nye harddisken. Vi må demontere den fra /mnt og montere den på nytt til /home. Merk at kommandoen `umount` ikke har en `n` etter `u`.
sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home/
Testing av den nye hjemmekatalogen
La oss se på attributtene til /dev/sdb1-partisjonen nå:
df /dev/sdb1
Vi får nå navnet på filsystemet, størrelsen på partisjonen, og hvor mye plass som er brukt og ledig, og viktigst av alt, hvor den er montert. Nå er den vår /home-katalog. Det betyr at vi skal kunne referere til den akkurat som vi kunne den gamle /home-katalogen.
Hvis vi flytter til et tilfeldig punkt i filsystemet, skal vi kunne gå tilbake til /home ved å bruke snarveien `~` (tilde).
cd /
cd ~
pwd
ls
cd /home
ls
cd dave
ls
ls -a
Vi kan navigere frem og tilbake til /home ved å bruke eksplisitte kommandoer eller snarveien ~. Mappene, filene og de skjulte filene som vi forventer er der. Alt ser bra ut.
Dersom noe manglet, kunne vi kopiert det fra /home.orig-mappen, som vi fortsatt har tilgang til i rotmappen. Men alt ser bra ut.
Nå må vi sørge for at /dev/sdb1 monteres automatisk hver gang datamaskinen startes.
Redigering av fstab
«fstab»-filen inneholder beskrivelser av filsystemene som skal monteres ved oppstart. Før vi gjør endringer, tar vi en sikkerhetskopi av den, i tilfelle problemer.
sudo cp /etc/fstab /etc/fstab.orig
Nå kan vi redigere fstab-filen.
sudo gedit /etc/fstab
Du må legge til en linje nederst i filen for å montere din nye /home-mappe. Hvis enhets- og partisjonsidentifikatorene dine er forskjellige fra de som er brukt i dette eksemplet, må du erstatte /dev/sdb1 som er vist her.
Skriv inn navnet på partisjonen i begynnelsen av linjen, og trykk Tab.
Skriv inn monteringspunktet, /home, og trykk Tab.
Skriv inn filsystembeskrivelsen, ext4, og trykk Tab.
Skriv inn standardinnstillinger for monteringsalternativene, og trykk Tab.
Skriv inn tallet 0 for filsystemdump-alternativet, og trykk Tab.
Skriv inn tallet 0 for filsystemkontrollalternativet.
Lagre fstab-filen.
Start systemet på nytt
Vi må starte på nytt for å bekrefte at alt har gått som planlagt og at du får sømløs tilgang til din nye /home-katalog.
Dersom det ikke skulle fungere, har du fortsatt sikkerhetskopiene av den originale /home-katalogen og fstab-filen som kan gjenopprettes om nødvendig. Takket være de forholdsreglene vi har tatt – kopiering av /home-katalogen og fstab-filen – kan du enkelt sette systemet tilbake til tilstanden det var i før du startet.
sudo reboot now
Sjekk til slutt
Når systemet starter på nytt, la oss sjekke at /home-mappen faktisk er på den nye harddisken, og at systemet ikke (mirakuløst) har gått tilbake til å bruke den gamle /home-mappen.
df /dev/sdb1
Flott, den er montert på /home. Oppdrag utført.
Når du er helt sikker på at du ikke lenger trenger sikkerhetskopien av din gamle /home-katalog, kan du slette den:
cd /
sudo rm -rf home.orig/
Og selvfølgelig, hvis du skulle oppdage at noe ikke ble kopiert over fra den gamle /home til den nye, kan du hente det fra sikkerhetskopien du lagde før vi startet.
Hjem, søte hjem
Nå som du har skilt din /home-katalog fra resten av operativsystemets partisjon, kan du reinstallere operativsystemet uten at dine data berøres. Alt du trenger å gjøre er å redigere fstab-filen for å montere den andre enheten til /home.
Siden alle dine konfigurasjonsfiler ligger i /home-mappen, vil de finne alle dine innstillinger, preferanser og data når du starter de ulike programmene dine.
Dette forenkler reinstallasjoner og reduserer risikoen ved oppgraderinger.