5 мар. 2010 г.

Linux: увеличение размера корневого раздела (root)

В данной статье (скорее заметке) будет вестись речь об увеличении размера корневого раздела жёсткого диска, если Вы желаете сразу просмотреть решение - пролистните до него в низ.

Перед тем, как я установил Linux (это был 2007 или 2008 год), я конечно же прочитал множество статей, о том, как это сделать - и, естественно, совсем ничего не понимал). 

Основная проблема заключалась в том, что я не знал как разбить жёсткий диск, в статьях давались примерно одинаковые советы, корневому разделу 5-10GB, немного на SWAP (RAMx2 для малого кол-ва памяти, или 512-1024МБ), остальное под /home/ где будут храниться все мои настройки и личные данные. 

В основном, авторы статей были правы и меня эта разбивка абсолютно устраивала (в глубокие технические подробности этого дела я и не пытался залезть).

Мой системный жёсткий диск выглядел примерно следующим образом:
раздел /dev/sda1, точка монтирования "/", размер 10ГБ
раздел /dev/sda2, SWAP, размер 512МБ
раздел /dev/sda3, точка монтирования "/home", размер - всё остальное
Однако в один прекрасный момент обновления дистрибутива (я использую Kubuntu) достигли достаточно больших размеров, что место на  "/" очень быстро стремилось к 0, что мешало безболезненно и быстро обновиться, и я понял, что 10ГБ недостаточно.

Самым очевидным вариантом, естественно, стало увеличение корневого раздела до 15ГБ (цифра сугубо с потолка), что я и выполнил, о чём сейчас подробнее распишу (сразу скажу что процедура эта довольно не сложная).

Итак.


Дано: жёсткий диск на 160ГБ, разделы - root (корень) 10ГБ, SWAP 512MB, /home - всё остальное.
Задача: увеличить размер root (корня) до 15ГБ, не повредив при этом никакие данные.
Важное условие: на /home должно быть свободного места ровно столько, на сколько Вы желаете увеличить root (именно от /home мы и будем отрезать)
Принадлежности: LiveCD любого дистрибутива с установленным пакетом gparted, 2-3 часа свободного времени (в зависимости от объёма диска).


Решение:


1. Выключаем компьютер (нет, подождите, сначала дочитайте) и загружаемся с LiveCD

2. Запускаем gparted с правами суперпользователя (для debian: sudo gparted из консоли (терминала))

3. Выбираем необходимый диск в выпадающем меню справа (не ошибитесь!)

4. Сперва выбираем раздел на котором SWAP (не ошибитесь!), нажимаем правой кнопкой, выбираем "удалить", подтверждаем и применяем (удаление займёт не более минуты), появится "неразмеченная область".
Примечание: поскольку сразу после корневого раздела идёт SWAP, мы его должны удалить, чтобы он не мешал увеличивать размер, если после корневого раздела сразу идёт /home, то данный шаг пропускаем.
5. Теперь выбираем раздел с /home, нажимаем правой кнопкой, выбираем "изменить размер", после чего сдвигаем ползунок СЛЕВА (с начала полосы, это важно) вправо на необходимый объём, подтверждаем и применяем (выполнение данной операции у меня заняло примерно два с половиной часа, Ваше вмешательство не потребуется, поэтому можно идти по делам).

6. После выполнения операции "отрезания" (англ: shrink) от /home, Ваш жёсткий диск в gparted будет выглядеть следующим образом: root (10ГБ), неразмеченная область, /home
Примечание: теперь можно выполнить увеличение корневого раздела на размер неразмеченной области)

7. Выбираем корневой раздел, нажимаем правой кнопкой мыши - "изменить размер" и сдвигаем ползунок вправо на необходимое значение (не забудьте оставить место для SWAP) и нажимаете "ОК" (сразу не применяйте, поставим в очередь еще следующую операцию).

8. Выбираем оставшуюся неразмеченную область, нажимаем правой кнопкой - "создать", выбираем файловую систему "linux-swap" и нажимаем "ОК".

9. Нажимаем применить (выполнится две операции, 7 и 8), ожидаем примерно 3-5 минут.

10. Всё, теперь можно перезагружаться в основную систему :-)

Всё это я проделал на своём домашнем (по совместительству и учебном и рабочем) компьютере, завершилось всё хорошо, без каких-либо форс-мажоров, удачи!


P.S. Для подстраховки можете сделать backup важных файлов, временно, на другой диск.