Wilt u uw Linux-thuismap naar een andere schijf verplaatsen? Hier is een eenvoudige en stapsgewijze manier om dit te doen die bij elke distributie zou moeten werken. Als u uw thuismap verplaatst, kunt u Linux opnieuw installeren en hoeft u zich geen zorgen te maken over uw persoonlijke bestanden.
Waarom moet u uw thuismap apart houden?
Als u een nieuwe machine instelt of een harde schijf toevoegt aan een bestaande, wilt u misschien dat uw homedirectory op een andere schijf staat dan de standaardlocatie.
Een steeds populairder wordende configuratie voor moderne personal computers is het hebben van een middelgrote Solid State Drive (SSD) met uw besturingssysteem en een grotere Solid State Hybrid Drive (SSHD) of traditionele harde schijf (HD) als uw belangrijkste opslag voor gegevens. Of misschien heb je een enkele traditionele harde schijf in je systeem en heb je een nieuwe HD toegevoegd voor meer opslagruimte. Wat uw redenen ook zijn, hier is een simpele en snelle doorloop om uw homedirectory te verplaatsen.
Trouwens, als je een Linux-systeem helemaal opnieuw installeert, zie je waarschijnlijk een optie om een aparte homedirectory te maken in het installatieprogramma van je Linux-distributie. Over het algemeen hoeft u alleen maar naar de partitioneringsopties te gaan, een aparte partitie aan te maken en deze op “/ home” te mounten. Maar als je al een Linux-distributie hebt geïnstalleerd, kun je deze instructies gebruiken om je huidige homedirectory naar een nieuwe locatie te verplaatsen zonder iets te verliezen of je besturingssysteem opnieuw te installeren.
Ga nu, voordat we beginnen, een back-up maken.
VERWANT: Hoe u een back-up van uw Linux-systeem maakt
Identificeer de schijf
Als je zojuist een schijf op een Linux-computer hebt geïnstalleerd, of Linux op een van de schijven in een nieuwe computer met meerdere schijven hebt geïnstalleerd en opnieuw hebt opgestart, is er weinig bewijs dat de nieuwe schijf zelfs maar aanwezig is.
De fdisk
commando zal de schijven en hun partities voor ons weergeven.
sudo fdisk -l
Blader door de uitvoer totdat u het nieuwe station hebt geïdentificeerd. De eerste schijf heeft een naam /dev/sda
, de tweede is /dev/sdb
enzovoort, waarbij de laatste letter elke keer toeneemt. Zo /dev/sde
zou de vijfde harde schijf in het systeem zijn.
in dit voorbeeld is de nieuwe aandrijving de tweede aandrijving die in het systeem wordt gemonteerd. Dus we moeten een vermelding zoeken voor /dev/sdb
.
/dev/sdb
is hierboven gemarkeerd. U zult merken dat er geen regel staat die een partitie beschrijft. Het is een gloednieuwe schijf, dus hij heeft er nog geen. We moeten de partitie maken. We kunnen dit doen met fdisk
. Als uw harde schijf dat niet is /dev/sdb
, zorg ervoor dat je vervangt /dev/sdb
met de werkelijke schijf-ID voor uw nieuwe harde schijf in de opdracht.
sudo fdisk /dev/sdb
Wanneer fdisk
u om een commando vraagt, drukt u op de letter p
. Dit drukt de partitietabel voor de harde schijf af. We weten dat het er geen zal hebben, maar we krijgen wat nuttige informatie over de schijf. Het geeft ons een goede kans om ervoor te zorgen dat de schijf waarvoor we een partitie gaan maken, de schijf is waarmee we wilden werken.
Het vertelt ons dat de schijf een schijf van 1 TB is, wat overeenkomt met wat we van deze testmachine verwachten, dus we gaan verder.
Maak een partitie
Druk op de letter n
voor een nieuwe partitie, en druk vervolgens op p
voor een primaire partitie. Als u om het partitienummer wordt gevraagd, drukt u op het nummer 1
.
We gaan een enkele partitie maken voor de hele schijf, dus als er om de eerste sector wordt gevraagd, kunnen we op Enter drukken om de standaardwaarde te accepteren. U wordt dan om de laatste sector gevraagd en Enter accepteert de standaardwaarde.
Hoewel fdisk
bevestigt dat het een 1TB Linux-partitie heeft aangemaakt, dit is partitie nummer 1, er is nog niets veranderd op de harde schijf. Tot je geeft fdisk
de opdracht om de wijzigingen naar de schijf te schrijven, de schijf is onaangeroerd. Als u zeker weet dat u tevreden bent met onze keuzes, drukt u op de brief w
om de wijzigingen naar de schijf te schrijven.
Er is naar de partitie geschreven /dev/sdb
. Laten we eens kijken wat er net is gebeurd. We zullen gebruiken fdisk
nogmaals op /dev/sdb
.
sudo fdisk /dev/sdb
Druk op de letter p
om die partitietabel af te drukken, en je zult zien dat er nu een partitie voor de drive wordt vermeld. Omdat het de eerste partitie op deze schijf was, wordt deze genoemd /dev/sdb1
. Een tweede partitie zou worden aangeroepen /dev/sdb2
, enzovoorts.
We willen geen wijzigingen aanbrengen in de partitie, dus druk op de letter q
stoppen.
Maak een bestandssysteem op de partitie
We moeten een bestandssysteem op de partitie maken. Dit is gemakkelijk te bereiken met de mkfs
opdracht. Merk op dat u het partitienummer in de opdracht moet opnemen. Wees voorzichtig met typen /dev/sdb1
(de partitie) en niet /dev/sdb
(de rit).
sudo mkfs -t ext4 /dev/sdb1
Het bestandssysteem wordt voor u aangemaakt en u keert terug naar de opdrachtprompt.
De nieuwe schijf monteren
Om de nieuwe schijf te gebruiken, moeten we de partitie erop mounten naar een koppelpunt in het bestandssysteem. Eigenlijk, om perfect nauwkeurig te zijn, monteren we noch de schijf, noch de partitie, we monteren de bestandssysteem op de partitie, door het op het bestandssysteem boom.
De /mnt
punt is een even goede plek als elk ander. Het is slechts een tijdelijk koppelpunt waarmee we gegevens naar de nieuwe schijf kunnen kopiëren. We gaan de mount
commando om het bestandssysteem op de eerste partitie te mounten /dev/sdb
, Bij /mnt
.
sudo mount /dev/sdb1 /mnt
Als alles goed gaat, keert u zonder foutmeldingen terug naar de opdrachtregel. Laten we kijken of we de map kunnen veranderen naar ons nieuw aangekoppelde bestandssysteem.
cd /mnt
Ja dat kunnen we. laten we eens kijken wat hier is.
ls -ahl
We zitten in ons nieuwe bestandssysteem. De standaard “verloren + gevonden” map is niet vereist, dus we kunnen deze verwijderen.
sudo rm -rf lost+found
Uw thuismap kopiëren
We moeten alles kopiëren van de oude homedirectory naar het nieuw aangekoppelde bestandssysteem. De … gebruiken r
(recursief) en p
(behouden) opties zorgen ervoor dat alle submappen worden gekopieerd en dat bestandseigenschappen, machtigingen en andere attributen behouden blijven.
sudo cp -rp /home/* /mnt
Gebruik als het kopiëren is voltooid ls
om rond te kijken en te verifiëren dat uw gegevens zijn waar u ze verwacht in het nieuwe bestandssysteem. Met andere woorden, als /mnt
was je homedirectory, is alles aanwezig en correct?
ls
ls dave
U zult waarschijnlijk wat grondiger willen zijn dan we waren op de testmachine waarnaar dit artikel is onderzocht. Als vangnet gaan we uw oude naam wijzigen en behouden /home
directory totdat u zeker weet dat u deze veilig kunt verwijderen.
sudo mv /home /home.orig
En we zullen een nieuwe, lege homedirectory maken.
sudo mkdir /home
We zullen die nieuwe lege homedirectory gebruiken als het koppelpunt voor ons bestandssysteem op de nieuwe harde schijf. We moeten het ontkoppelen van /mnt
en weer monteren /home
. Merk op dat het commando umount
heeft geen “n” na de “u”.
sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home/
VERWANT: De Linux-directorystructuur, uitgelegd
Uw nieuwe homedirectory testen
Laten we eens kijken wat de kenmerken van het /dev/sdb1
partitie zijn nu:
df /dev/sdb1
We krijgen de naam van het bestandssysteem te zien, de grootte van de partitie en de gebruikte en beschikbare ruimte erop, en belangrijker nog, waar het is aangekoppeld. Het is nu van ons /home
directory. Dat betekent dat we er precies naar moeten kunnen verwijzen zoals we dat in het oude konden doen /home
directory.
Als we naar een willekeurig punt in het bestandssysteem gaan, zouden we terug moeten kunnen gaan naar /home
de … gebruiken ~
tilde snelkoppeling.
cd /
cd ~
pwd
ls
cd /home
ls
cd dave
ls
ls -a
We kunnen door het bestandssysteem heen en weer gaan naar /home
met behulp van expliciete opdrachten en het gebruik van de ~
snelkoppeling. De mappen, bestanden en dotfiles die we zouden verwachten, zijn allemaal aanwezig. Het ziet er allemaal goed uit.
Als er iets ontbrak, konden we het kopiëren uit het /home.orig
directory, waartoe we nog steeds toegang hebben in de root van het bestandssysteem. Maar het ziet er allemaal prima uit.
Nu moeten we hebben /dev/sdb1
automatisch gemonteerd elke keer dat uw computer wordt opgestart.
Fstab bewerken
Het “fstab” -bestand bevat beschrijvingen van de bestandssystemen die zullen worden aangekoppeld wanneer het systeem opstart. Voordat we er wijzigingen in aanbrengen, maken we er een reservekopie van waar we in geval van problemen naar kunnen terugkeren.
sudo cp /etc/fstab /etc/fstab.orig
Nu kunnen we het fstab-bestand bewerken.
sudo gedit /etc/fstab
U moet een regel onderaan het bestand toevoegen om onze nieuwe /home
directory. Als uw stations- en partitie-ID’s verschillen van die in dit voorbeeld, vervangt u deze door de /dev/sdb1
hier getoond.
- Typ de naam van de partitie aan het begin van de regel en druk op Tab.
- Typ het koppelpunt,
/home
en druk op Tab. - Typ de beschrijving van het bestandssysteem
ext4
en druk op Tab. - Type
defaults
voor de aankoppelingsopties en druk op Tab. - Typ het cijfer
0
voor de optie bestandssysteemdump en druk op Tab. - Typ het cijfer
0
voor de optie bestandssysteemcontrole.
Sla het fstab-bestand op.
Start uw systeem opnieuw op
We moeten opnieuw opstarten om te controleren of alles volgens plan is verlopen en dat u een naadloze verbinding met uw nieuwe /home
directory.
Als dat niet het geval is, heb je nog steeds het vangnet van je origineel /home
directory en fstab-bestand dat indien nodig kan worden hersteld. Vanwege de voorzorgsmaatregelen die we hebben genomen – het kopiëren van het /home
directory- en fstab-bestanden – u kunt uw systeem gemakkelijk terugbrengen naar de staat waarin het zich bevond voordat u begon.
sudo reboot now
VERWANT: Linux opnieuw opstarten of afsluiten met de opdrachtregel
Laatste controles
Wanneer uw systeem opnieuw opstart, controleren we of uw /home
map bevindt zich echt op uw nieuwe harde schijf, en uw systeem is niet op de een of andere manier (wonderbaarlijk genoeg) teruggekeerd naar het gebruik van de oude /home
directory.
df /dev/sdb1
Geweldig, het is gemonteerd /home
. Missie volbracht.
Als je er eenmaal helemaal zeker van bent dat je de veiligheidskopie van je oude niet meer nodig hebt /home
directory, kunt u deze verwijderen:
cd /
sudo rm -rf home.orig/
En natuurlijk, als je je iets realiseert niet kopieer over van het oude /home
naar je nieuwe /home
, kunt u deze ophalen uit de back-up die u hebt gemaakt voordat we begonnen.
Oost West Thuis Best
Nu je je hebt gescheiden /home
directory van de rest van de partitie van het besturingssysteem, kunt u uw besturingssysteem opnieuw installeren en uw gegevens blijven onaangeroerd. Het enige dat u hoeft te doen, is het fstab-bestand bewerken om uw tweede schijf op te koppelen /home
.
En omdat al uw dotfiles in uw /home
directory, wanneer u uw verschillende toepassingen start, zullen ze al uw instellingen, voorkeuren en gegevens vinden.
Het neemt de pijn weg bij het opnieuw installeren en neemt het risico uit upgrades.