Мій варіант переносу /home на другий розділ у kubuntu 18.04

Список дій поки що без пояснень.

sudo mkdir /mnt/newhome
sudo mount /dev/sdb5 /mnt/newhome
sudo cp -av /home/. /mnt/newhome

sudo mkdir /mnt/oldhome
sudo cp -av /home/. /mnt/oldhome

sudo umount /mnt/newhome
sudo rm -rf /home/*
sudo mount /dev/sdb5 /home

sudo blkid /dev/sdb5
kate /ets/fstab

Створюємо теку 'newhome' по вказаному шляху, замість '/mnt' можна задати '/media'.

sudo mkdir /mnt/newhome

Монтуємо наш пристрій (в моєму випадку це буде '/dev/sdb5') до новоствореної теки 'newhome' (або повний шлях - '/mnt/newhome'). Я знаходив свій пристрій за допомогою штатної графічної програми 'Керування розділами диска KDE' або 'Partition Manager'. Є і інші способи знайти пристрій, але це найбільш простий й наглядний.


Або консольні варіанти утиліт, на випадок коли не буде за замовчанням установлена така графічна утиліта як - 'Partition Manager' (до речі у KUbuntu вона є, а у KDE neon її нема). Тому на всяк випадок вибрав собі 2 утиліти які зможуть мені допомогти в цьому пошуку, це - 'fdisk' та 'lsblk'.

sudo fdisk -l


Нажаль, цей текст пишеться десь з року і я вже встановив багато софта в том числі й snap пакети/файли й вони щось подобавляли в якості розділів і тепер потрібно ті диски шукати. Думаю якщо система тільки встановлена, то ці диски будуть першими. Якщо дещо змінити запис (у мене два жорстких диски і я знаю на який у мене встановлення OS Linux), записавши диск на який встановлена Linux, то виведений результат буде зручнішим :).

sudo fdisk -l /dev/sdb


1 -'sdb1' та 'sdb5' мають тип системи Linux, 2 - зіркою помічено кореневий розділ системи, 3 - це повинен бути (за розміром) домашній ('home') розділ.

Ще метод, з іншою утилітою, - 'lsblk'

lsblk



1 -'sdb1'  має косу риску '/' і це означає що на цьому розділу встановлена Linux, 2 - 'sdb5', у зв'язку з тим що скріншот зроблений коли диск вже був примонтований, то розділ диска 'sdb5', вже має позначку як домашній розділ '/home'. А що буде в іншому випадку, треба встановлювати віртуальну машину, та дивитись, зараз можу тільки догадуватись.

Далі монтуємо.

sudo mount /dev/sdb5 /mnt/newhome

Копіюємо весь вміст теки '/home' в теку 'newhome', до якої вже примонтований пристрій (розділ на вінчестері 'sdb5'), тобто він видає себе за теку або тека посилається на нього.
 

sudo cp -av /home/. /mnt/newhome

Тут треба пояснити: 
  • параметр '-a' це вдосконалений параметр '-r', який дозволяє копіювати всі вкладені теки; 
  • '-v' дозволяє бачити що куди копіюється, у вигляді постійно оновлюємого списку в консолі, це як би веселіше тай нема відчуття що система зависла; 
  • і саме головне '.' (крапка) після '/home/', вона (крапка) й дозволяє скопіювати всі, включаючи й приховані файли або теки, тобто дозволяє зробити точну копію з джерела
Без крапки. Якщо подивитись на кількість файлів (зліва та справа) то вони відрізняються (в цьому випадку на один файл, але були випадки й більшої різниці)
З крапкою. Кількість файлів однакова

На випадок коли щось піде не так, робимо в теці '/mnt/' ще одну теку 'oldhome'.  

sudo mkdir /mnt/oldhome

Далі копіюємо зміст теки '/home' до теки 'oldhome' так само як це робили вище. 

sudo cp -av /home/. /mnt/oldhome

Після того як копія на всякий випадок зроблена, демонтовуємо теку 'newhome', тобто відкріпляємо (робимо його невидимим для системи) розділ 'sdb5'. 

sudo umount /mnt/newhome

Видаляємо вміст теки '/home', як на мене було страшно, але треба, то того ж, зробив копію.

sudo rm -rf /home/*

Зірка означає все що знаходиться в теки 'home' буде видалено. Якщо треба не все видаляти, то тоді треба указати теку без косої риски '/'. Наприклад, 'sudo rm -rf /home/oleg' - буде видалена тільки тека 'oleg'. Параметр: '-r' - указує на вкладенні теки, в цьому випадку будуть видаленні всі вкладенні підтеки з основної теки. А параметр: '-f' - без питань, в сенсі не ставити питання дозволу на видалення теки або файлу - yes (так) чи 'y'. Так як рішення на видалення прийнято, та й відповідь буде всюди 'y', а не 'no', то навіщо тикати по клавіші 'y' та 'enter' безліч разів, тому розумно додати цей параметр.

sudo mount /dev/sdb5 /home

Монтуємо пристрій '/dev/sdb5' до теки '/home', таким чином робимо його видимим. У теці '/home' повинна появитися тека 'oleg' (це моє ім'я, або обліковий запис - необхідний для використання на комп'ютері). Але цього не достатньо, його треба примонтувати на постійній основі, а для цього треба знайти номер примонтованого пристрою, а він у кожного свій, індивідуальний.

sudo blkid /dev/sdb5

Далі копіюємо у консолі фрагмент строки, там де є строки 'UUID=', в лапках, але без лапок, до речі, це і є номер нашого примонтованого пристрою й записуємо у файл 'fstab' розташований в теці '/ets'.


kate

Для правки 'fstab' я вибрав редактор 'kate' він мені дуже сподобався. У консолі через пробіл указав для 'kate' файл з шляхом і він ('fstab') відкрився  у редакторі. Пройшов деякий час і запустити цей файл 'fstab' з консолі не вдається, тому роблю так - відриваю програму редактор 'kate'  і вже через неї відкриваю 'fstab' по шляху '/ets/fstab'. Далі правимо 'fstab', він текстовий й в кінці треба записати такі данні:

'UUID=1b46ae48-92e2-4bd1-826f-05fcca8c5b79       /home           ext4      defaults            0       2'

Данні треба записувати без лапок в одну строку, виділяя опції друг від друга, пробілами (кількість не важлива) або табуляцією.


Або так, як на мене, так наочніше і зрозуміліше.


Зберігаємо редагований файл та перезавантажуємося

---
Матеріал написаний за допомоги форумних сайтів, а також статей по параметрам консольних утиліт.
  1. https://unixforum.org/viewtopic.php?t=67061 - "Правильный перенос /home на другой раздел." - російськомовний форум
  2. https://ubuntu.fliplinux.com/1531.html - "Как скопировать содержимое папки в другую папку в другой папке с помощью терминала?" - стаття на сайті
  3. https://toster.ru/q/416559 - "Как перенести папку home на другой диск?" - форум з питанням
  4. https://www.google.com/search?client=ubuntu&hs=pOG&channel=fs&q=ubuntu+18.04+%D0%BD%D0%B5+%D0%BF%D0%BE%D0%BB%D0%BD%D0%BE%D1%81%D1%82%D1%8C%D1%8E+%D0%BA%D0%BE%D0%BF%D0%B8%D1%80%D1%83%D0%B5%D1%82+%D1%84%D0%B0%D0%B9%D0%BB%D1%8B+cp&spell=1&sa=X&ved=0ahUKEwim2rSlo4DhAhWLposKHd7RAGEQBQgqKAA - "ubuntu 18.04 не полностью копирует файлы cp"- пошуковий запит у google
  5.  https://losst.ru/kak-uznat-uuid-diska-v-linux - про UUID і blkid
  6. https://losst.ru/smotrim-spisok-diskov-linux - про визначення дисків 
  7. https://uk.wikipedia.org/wiki/Fstab - про fstab

Коментарі