Мій варіант переносу /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/', вона (крапка) й дозволяє скопіювати всі, включаючи й приховані файли або теки, тобто дозволяє зробити точну копію з джерела
![]() |
| Без крапки. Якщо подивитись на кількість файлів (зліва та справа) то вони відрізняються (в цьому випадку на один файл, але були випадки й більшої різниці) |
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'UUID=1b46ae48-92e2-4bd1-826f-05fcca8c5b79 /home ext4 defaults 0 2'
Данні треба записувати без лапок в одну строку, виділяя опції друг від друга, пробілами (кількість не важлива) або табуляцією.
Або так, як на мене, так наочніше і зрозуміліше.
Зберігаємо редагований файл та перезавантажуємося
---
Матеріал написаний за допомоги форумних сайтів, а також статей по параметрам консольних утиліт.
- https://unixforum.org/viewtopic.php?t=67061 - "Правильный перенос /home на другой раздел." - російськомовний форум
- https://ubuntu.fliplinux.com/1531.html - "Как скопировать содержимое папки в другую папку в другой папке с помощью терминала?" - стаття на сайті
- https://toster.ru/q/416559 - "Как перенести папку home на другой диск?" - форум з питанням
- 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
- https://losst.ru/kak-uznat-uuid-diska-v-linux - про UUID і blkid
- https://losst.ru/smotrim-spisok-diskov-linux - про визначення дисків
- https://uk.wikipedia.org/wiki/Fstab - про fstab









Коментарі
Дописати коментар