Як перемістити домашній каталог Linux на інший диск

| | 0 Comments| 2:21 PM
Categories:

Хочете перемістити домашню папку 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. Це надрукує таблицю розділів для жорсткого диска. Ми знаємо, що його не буде, але ми отримуємо корисну інформацію про диск. Це дає нам хороший шанс переконатися, що диск, для якого ми збираємося створити розділ, є тим диском, з яким ми збиралися працювати.

  Як видалити програмне забезпечення на Ubuntu Linux

Він говорить нам, що диск має ємність 1 ТБ, що відповідає тому, що ми очікуємо від цієї тестової машини, тому ми продовжимо.

Створіть розділ

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

Ми збираємося створити один розділ для всього диска, тому, коли буде запропоновано ввести перший сектор, ми можемо натиснути Enter, щоб прийняти значення за замовчуванням. Потім вам буде запропоновано ввести останній сектор, і Enter прийме значення за замовчуванням.

Хоча fdisk підтверджує, що він створив розділ Linux на 1 ТБ, який є розділом номер 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

Ми в нашій новій файловій системі. Каталог «втрачено+знайдено» за замовчуванням не потрібен, тому ми можемо його видалити.

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, до якого ми все ще маємо доступ у корені файлової системи. Але виглядає все добре.

  Як захистити інсталяцію 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, коли ви запускаєте різні програми, вони знайдуть усі ваші налаштування, параметри та дані.

Це знімає біль від перевстановлення та позбавляє від ризику оновлення.