Желите ли пребацити свој Линук кориснички директоријум на други диск? Ово је једноставан водич корак по корак који би требало да функционише на свакој дистрибуцији. Премештање вашег корисничког директоријума омогућава вам да поново инсталирате Линук без бриге о губитку личних података.
Зашто је добро имати посебан кориснички директоријум?
Приликом постављања новог рачунара или додавања додатног диска постојећем, можда ће вам бити корисно да ваш кориснички директоријум буде на другом диску од подразумеване локације.
Све чешћа конфигурација модерних персоналних рачунара је ССД (Солид Стате Дриве) средње величине за оперативни систем и већи ССХД (Солид Стате Хибрид Дриве) или традиционални ХДД (Хард Дриве) за складиштење података. Или, можда имате један традиционални ХДД и додали сте нови ХДД за додатни простор. Без обзира на разлог, следи лак и брз начин за премештање вашег корисничког директоријума.
Узгред, ако инсталирате Линук од нуле, вероватно ћете у инсталационом програму ваше дистрибуције видети могућност креирања засебног корисничког директоријума. Обично је довољно само да приступите опцијама партиционисања, креирате посебну партицију и монтирате је на „/home“. Али, ако сте већ инсталирали Линук, можете користити ова упутства да преместите ваш тренутни кориснички директоријум на нову локацију, без губитка података или поновне инсталације оперативног система.
Сада, пре него што почнемо, не заборавите да направите резервну копију.
Идентификовање диска
Уколико сте управо инсталирали диск на Линук рачунар или сте инсталирали Линук на један од дискова на новом рачунару са више дискова и поново покренули систем, можда нећете одмах видети нови диск.
Команда `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“. Ово ће исписати табелу партиција за диск. Знамо да је неће имати, али ћемо добити неке корисне информације о диску. То је добра прилика да потврдимо да је диск са којим радимо заиста онај који желимо.
Приказано нам је да је капацитет диска 1TB, што се слаже са очекивањима, те можемо наставити.
Креирање партиције
Притисните слово „n“ за нову партицију, а затим притисните „p“ за примарну партицију. Када вас затражи број партиције, притисните број „1“.
Креираћемо једну партицију за цео диск, тако да када вас пита за први сектор, можете притиснути „Enter“ да прихватите подразумевану вредност. Затим ће вас питати за последњи сектор, где опет притиском на „Enter“ прихватате подразумевано.
Иако fdisk потврђује да је направио 1TB Линук партицију, која је партиција број 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 је добро место као и свако друго. То је привремена тачка монтирања која нам омогућава да копирамо податке на нови диск. Користићемо команду `mount` да монтирамо систем датотека на прву партицију на /dev/sdb, на /mnt.
sudo mount /dev/sdb1 /mnt
Ако све прође како треба, бићете враћени на командну линију без поруке о грешци. Да видимо да ли можемо променити директоријум у наш ново монтирани систем датотека.
cd /mnt
Можемо. Да видимо шта је овде.
ls -ahl
Налазимо се у нашем новом систему датотека. Подразумевани директоријум „lost+found“ нам не треба и можемо га уклонити.
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 директоријуму.
Ако пређемо на неку произвољну тачку у систему датотека, требало би да можемо да се вратимо на /home користећи пречицу ~ (тилда).
cd /
cd ~
pwd
ls
cd /home
ls
cd dave
ls
ls -a
Можемо се кретати кроз систем датотека унапред и уназад до /home користећи експлицитне команде и пречицу ~. Све фасцикле, датотеке и дотфајлови које очекујемо су присутни. Све изгледа како треба.
Ако би нешто недостајало, могли бисмо да то копирамо из директоријума /home.orig, којем још увек имамо приступ у корену система датотека. Али, све изгледа добро.
Сада морамо подесити да се /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“ за опцију „dump“ система датотека и притисните „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 директоријуму, када покренете различите апликације, оне ће пронаћи сва ваша подешавања и податке.
Ово уклања бол од поновних инсталација и смањује ризик од надоградње.