Возможна такая ситуация, когда место на жестком диске заканчивается и перемещение профиля пользователя на другой диск не помогает. Тогда возникает необходимость в переносе более-менее весомой папки на второй диск системы.
В моем случае заканчивалось место на первом SSD-диске на нетбуке и пришлось смотреть, какую директорию можно переместить на другой SSD-диск. С помощью анализатора использования дисков (Baobab) просканировал файловую систему и выяснилось, что наиболее оптимальным вариантом будет переместить системную папку «/usr».
Узнать размер папки можно следующей командой:
$ du -hs /usr
Итак, инструкция по переносу папки «/usr»:
1. Запускаем редактор разделов GParted и видим куда смонтирована файловая система ОС.
В моем случае система установлена на диске /dev/sda (тип файловой системы — ext4). Будем переносить папку «/usr» на диск /dev/sdb.
2. На втором диске создаем раздел для системной папки «/usr». Размер раздела зависит от пакетов, которые будут в дальнейшем устанавливаться в систему. В современных linux-системах с графическим интерфейсом размер этого каталога спокойно может достигать 10 ГБ. Лучше конечно выставить для будущего раздела объем в разы больший — 15-30 ГБ, но если место не позволяет, можно и 6-7 ГБ определить на эту папку.
После определения с размером форматируем раздел в такой же ФС как и в корне (/dev/sdb1 — 10 ГиБ — ext4).
3. Создаем каталог /mnt/usr.tmp и монтируем в него только что созданную файловую систему:
$ sudo mkdir /mnt/usr.tmp $ sudo mount /dev/sdb1 /mnt/usr.tmp
4. Копируем содержимое со всеми атрибутами:
$ sudo cp -a /usr/* /mnt/usr.tmp
5. Размонтируем временный каталог и удалим временную папку:
$ sudo umount /dev/sdb1 $ sudo rm -r /mnt/usr.tmp
6. Прописываем в конфигурационном файле откуда брать перенесенную папку системе.
Узнаем UUID раздела /dev/sdb1 либо через GParted (правая кнопка мыши по разделу — Информация), либо командой:
$ ls -l /dev/disk/by-uuid
176326a9-9731-4240-8d38-142d6ed2b3a3
Дописываем в файл /etc/fstab строку монтирования раздела при запуске системы:
$ sudo gedit /etc/fstab
UUID=176326a9-9731-4240-8d38-142d6ed2b3a3 /usr ext4 defaults 0 1
Три последних атрибута можно скопировать как у «/» (корня всей системы).
7. Перезагружаем систему.
8. Проверяем корректность монтирования перенесенной директории. В ее содержимом непременно должен быть каталог «lost+found», наличие которого означает, что данные этой папки находятся на вновь созданном разделе:
$ ls /usr
9. В кульминации перенесения системной директории можно удалить содержимое исходного каталога:
$ sudo mount /dev/sda1 /mnt $ sudo rm -r /mnt/usr/* $ sudo umount /mnt
З.Ы. Аналогичным способом можно перенести в линуксе другую системную директорию. Вторая по объему данных обычно значится системная папка «/var».
Прекрасно!
Спасибо за подробную инструкцию!