Как да преместите вашата домашна директория на Linux на друг диск

Искате ли да преместите вашата домашна папка на Linux на друго устройство? Ето един лесен и стъпка по стъпка начин да го направите, който трябва да работи при всяка дистрибуция. Преместването на вашата домашна папка означава, че можете да преинсталирате Linux и да не се притеснявате за личните си файлове.

Защо да държите домашната си папка отделно?

Ако настройвате нова машина или добавяте твърд диск към съществуваща, може да искате да имате домашната си директория на друго устройство от местоположението по подразбиране.

Все по-популярна конфигурация за съвременните персонални компютри е да имате средно голям твърд диск (SSD), съдържащ вашата операционна система, и по-голям хибриден твърд диск (SSHD) или традиционен твърд диск (HD) като основно място за съхранение на данни. Или може да имате един традиционен твърд диск във вашата система и сте добавили нов HD за по-голямо съхранение. Каквито и да са причините ви, ето един прост и бърз преглед на преместване на вашата домашна директория.

Между другото, ако инсталирате Linux система от нулата, вероятно ще видите опция за създаване на отделна домашна директория в инсталатора на вашата Linux дистрибуция. Като цяло, просто ще трябва да влезете в опциите за разделяне, да създадете отделен дял и да го монтирате в “/home”. Но ако вече сте инсталирали дистрибуция на Linux, можете да използвате тези инструкции, за да преместите текущата си домашна директория на ново място, без да губите нищо или да преинсталирате операционната си система.

Сега, преди да започнем, отидете и направете резервно копие.

Идентифицирайте устройството

Ако току-що сте инсталирали устройство на компютър с Linux или сте инсталирали Linux на едно от устройствата в нов компютър с множество устройства и сте го рестартирали, има малко доказателства, че новото устройство дори присъства.

Командата fdisk ще избройте устройствата и техните дялове за нас.

sudo fdisk -l

Превъртете през изхода, докато не идентифицирате новото устройство. Първото устройство се казва /dev/sda , второто е /dev/sdb и така нататък, като последната буква се увеличава всеки път. Така че /dev/sde ще бъде петият твърд диск в системата.

в този пример новото устройство е второто устройство, което ще бъде монтирано в системата. Така че трябва да потърсим запис за /dev/sdb.

/dev/sdb е подчертано по-горе. Ще забележите, че на него няма ред, описващ дял. Това е чисто ново устройство, така че все още няма да има такова. Трябва да създадем дяла. Можем да го направим с помощта на fdisk. Ако вашият твърд диск не е /dev/sdb, уверете се, че сте заменили /dev/sdb с действителния идентификатор на устройството за вашия нов твърд диск в командата.

sudo fdisk /dev/sdb

Когато fdisk ви подкани за команда, натиснете буквата p. Това отпечатва таблицата на дяловете за твърдия диск. Знаем, че няма да има такъв, но получаваме полезна информация за устройството. Това ни дава добър шанс да се уверим, че устройството, за което ще създадем дял, е устройството, с което възнамеряваме да работим.

  Как да направите Linux терминала удобен за потребителя с ColorLS

Това ни казва, че устройството е 1TB устройство, което съответства на това, което очакваме в тази тестова машина, така че ще продължим.

Създайте дял

Натиснете буквата n за нов дял и след това натиснете p за основен дял. Когато бъдете попитани за номера на дял, натиснете цифрата 1.

Ще създадем един дял за целия диск, така че когато бъдем подканени за първия сектор, можем да натиснем Enter, за да приемем стойността по подразбиране. След това ще бъдете подканени за последния сектор и Enter ще приеме стойността по подразбиране.

Въпреки че fdisk потвърждава, че е създал 1TB Linux дял, който е дял номер 1, все още нищо не се е променило на твърдия диск. Докато не дадете командата на fdisk да запише промените в устройството, устройството остава недокоснато. След като сте сигурни, че сте доволни от нашия избор, натиснете буквата w, за да запишете промените в устройството.

Дялът е записан в /dev/sdb. Нека проверим какво се случи току-що. Ще използваме fdisk още веднъж на /dev/sdb.

sudo fdisk /dev/sdb

Натиснете буквата p, за да отпечатате тази таблица с дялове и ще видите, че сега има дял, посочен за устройството. Тъй като това беше първият дял на това устройство, той се нарича /dev/sdb1. Втори дял ще се нарича /dev/sdb2 и т.н.

Не искаме да правим никакви промени в дяла, така че натиснете буквата q, за да излезете.

Създайте файлова система на дяла

Трябва да създадем файлова система на дяла. Това се постига лесно с командата mkfs. Имайте предвид, че трябва да включите номера на дяла в командата. Внимавайте да въведете /dev/sdb1 (дяла), а не /dev/sdb (устройството).

sudo mkfs -t ext4 /dev/sdb1

Файловата система ще бъде създадена за вас и ще бъдете върнати в командния ред.

Монтиране на новото устройство

За да използваме новото устройство, трябва да монтираме дяла на него към точка на монтиране във файловата система. Всъщност, за да бъдем напълно точни, ние не монтираме нито устройството, нито дяла, ние монтираме файловата система на дяла, като я присадим върху дървото на файловата система на вашата система.

Точката /mnt е толкова добро място, колкото и всяко друго място. Това е само временна точка за монтиране, която ни позволява да копираме данни на новото устройство. Ще използваме командата монтиране, за да монтираме файловата система на първия дял на /dev/sdb, в /mnt.

sudo mount /dev/sdb1 /mnt

Ако всичко върви добре, ще бъдете върнати в командния ред без съобщения за грешка. Нека да видим дали можем да променим директорията към нашата новомонтирана файлова система.

cd /mnt

Да, можем. да видим какво има тук.

ls -ahl

Ние сме в нашата нова файлова система. Директорията по подразбиране „загубено+намерено“ не се изисква, за да можем да я премахнем.

sudo rm -rf lost+found

Копиране на вашата домашна папка

Трябва да копираме всичко от старата домашна директория в новомонтираната файлова система. Използването на опциите r (рекурсивно) и p (запазване) ще гарантира всичко поддиректориите се копират и че собствеността на файловете, разрешенията и други атрибути се запазват.

sudo cp -rp /home/* /mnt

Когато копирането приключи, използвайте ls, за да разгледате и да проверите дали вашите данни са там, където очаквате да бъдат в новата файлова система. С други думи, ако /mnt беше вашата домашна директория, дали всичко е налично и правилно?

ls
ls dave

Вероятно ще искате да бъдете малко по-задълбочени, отколкото бяхме на тестовата машина, върху която беше изследвана тази статия. Като защитна мрежа ще преименуваме и съхраняваме старата ви /home директория, докато не се уверите, че е безопасно да я изтриете.

sudo mv /home /home.orig

И ще създадем нова, празна домашна директория.

sudo mkdir /home

Ще използваме тази нова празна домашна директория като точка за монтиране на нашата файлова система на новия твърд диск. Трябва да го демонтираме от /mnt и да го монтираме отново в /home. Обърнете внимание, че командата umount няма „n“ след „u“.

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

Тестване на вашата нова домашна директория

Нека видим какви са атрибутите на дяла /dev/sdb1 сега:

df /dev/sdb1

Показва ни се името на файловата система, размерът на дяла и използваното и налично пространство върху него и важното къде е монтиран. Вече е нашата /home директория. Това означава, че трябва да можем да го препращаме точно както бихме могли в старата /home директория.

  Как да запазите музикални компактдискове на вашия компютър с Linux със звукова сокоизстисквачка

Ако се придвижим до някаква произволна точка във файловата система, би трябвало да можем да се върнем обратно към /home, използвайки прекия път ~ tilde.

cd /
cd ~
pwd
ls

cd /home
ls
cd dave
ls
ls -a

Можем да се движим през файловата система напред-назад към /home с помощта на изрични команди и с помощта на прекия път ~. Папките, файловете и файловете с точки, които очакваме, са налични. Всичко изглежда добре.

Ако нещо липсваше, бихме могли да го копираме от директорията /home.orig, до която все още имаме достъп в корена на файловата система. Но всичко изглежда добре.

  Как да изчистите Wine от Linux

Сега трябва да имаме /dev/sdb1 да се монтира автоматично всеки път, когато компютърът ви се стартира.

Редактиране на fstab

Файлът „fstab“ съдържа описания на файловите системи, които ще бъдат монтирани при стартиране на системата. Преди да направим промени в него, ще направим негово резервно копие, към което можем да се върнем в случай на проблеми.

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

Сега можем да редактираме файла fstab.

sudo gedit /etc/fstab

Трябва да добавите ред в долната част на файла, за да монтирате нашата нова /home директория. Ако идентификаторите на вашето устройство и дял са различни от използваните в този пример, заменете тези с /dev/sdb1, показан тук.

Въведете името на дяла в началото на реда и след това натиснете Tab.
Въведете точката на монтиране, /home и натиснете Tab.
Въведете описанието на файловата система ext4 и натиснете Tab.
Въведете стойности по подразбиране за опциите за монтиране и натиснете Tab.
Въведете цифрата 0 за опцията за изхвърляне на файловата система и натиснете Tab.
Въведете цифрата 0 за опцията за проверка на файловата система.

Запазете файла fstab.

Рестартирайте системата си

Трябва да рестартираме, за да се уверим, че всичко е минало по план и че имате безпроблемна връзка с новата си директория /home.

Ако не стане, все още имате защитната мрежа на вашата оригинална /home директория и fstab файл, който може да бъде възстановен, ако е необходимо. Поради предпазните мерки, които сме взели – копиране на директорията /home и fstab файловете – можете лесно да върнете системата си в състоянието, в което е била преди да започнете.

sudo reboot now

Окончателни проверки

Когато вашата система се рестартира, нека просто проверим дали вашата /home директория наистина е на вашия нов твърд диск и вашата система по някакъв начин (по чудо) не се е върнала към използването на старата /home директория.

df /dev/sdb1

Страхотно, монтиран е на /home. Мисията изпълнена.

След като сте напълно сигурни, че вече не се нуждаете от безопасното копие на старата си /home директория, можете да го изтриете:

cd /
sudo rm -rf home.orig/

И разбира се, ако осъзнаете, че нещо не е копирано от стария /home в новия ви /home, ще можете да го извлечете от архива, който сте направили, преди да започнем.

Дом сладък дом

След като сте отделили вашата /home директория от останалата част от дяла на операционната система, можете да инсталирате отново вашата операционна система и вашите данни ще бъдат недокоснати. Всичко, което трябва да направите, е да редактирате файла fstab, за да монтирате второто си устройство в /home.

И тъй като всичките ви файлове с точки са във вашата /home директория, когато стартирате различните си приложения, те ще намерят всичките ви настройки, предпочитания и данни.

Той премахва болката от преинсталиранията и поема риска от надстройките.