Как расширить корневой раздел в Linux

Если вы пользуетесь Linux, то рано или поздно можете столкнуться с ситуацией, когда в вашем корневом разделе (/) закончится место, что может привести к ошибкам, помешать установке программного обеспечения или даже нарушить работу системы.
Расширение корневого раздела может показаться сложной задачей, особенно для новичков, но при наличии небольшой статьи и терпения это вполне осуществимо, как объясняется в этой статье.
Понимание корневого раздела
В корневом разделе (/)
находится ваша операционная система Linux. В нём содержатся все системные файлы, установленные приложения, настройки конфигурации, а иногда и пользовательские данные, если /home
не находится в отдельном разделе.
Корневой раздел может заполняться по нескольким причинам:
- Установка множества приложений.
- Большие файлы журналов занимают много места.
- Временные файлы, которые не удаляются автоматически.
- Базы данных или инструменты разработки, хранящие данные на
/
.
Когда в корневом разделе заканчивается место, Linux может начать работать непредсказуемо. Расширение раздела помогает избежать этих проблем и обеспечивает бесперебойную работу системы.
Как проверить текущее использование диска
Для начала нужно посмотреть, как устроены ваши разделы и сколько места у вас осталось, с помощью следующей команды df.
df -h
Приведенная выше команда показывает использование диска в удобочитаемом формате. Здесь видно, что /
почти заполнен (90% использовано).
Filesystem Size Used Avail Use% Mounted on /dev/sda1 20G 18G 2G 90% / tmpfs 2.0G 1.2M 2.0G 1% /dev/shm
Затем проверьте структуру разделов с помощью следующей команды fdisk:
fdisk -l
Приведенная выше команда выведет список всех разделов диска в системе.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk ├─sda1 8:1 0 20G 0 part / ├─sda2 8:2 0 10G 0 part /home └─sda3 8:3 0 20G 0 part
Обратите внимание, что /
занимает всего 20 ГБ, а /home
— 10 ГБ. Возможно, мы захотим использовать неиспользуемое пространство на диске или уменьшить размер других разделов.
Важно: сделайте резервную копию корневого раздела
Прежде чем вносить какие-либо изменения в разделы, всегда создавайте резервные копии важных данных, так как при разбиении на разделы могут возникать ошибки, которые могут привести к потере данных. Лучше перестраховаться, чем потом жалеть.
Чтобы создать резервную копию корневого раздела, мы воспользуемся командой rsync, как показано на рисунке, или любым другим инструментом для резервного копирования по вашему выбору.
rsync -av --progress / /path/to/backup/
Существует несколько способов увеличить объём корневого раздела, и выбор метода зависит от вашей конфигурации.
Способ 1. Расширение корневого раздела с помощью GParted
Если вы работаете на настольном компьютере или у вас есть Live CD/USB, GParted — самый простой в использовании инструмент.
- Загрузка с Live-USB/CD — вы не можете изменить размер смонтированного корневого раздела, поэтому начните с загрузки в среде Live-Linux.
- Запустить GParted — откройте GParted в меню и просмотрите список всех ваших разделов.
- Изменение размера корневого раздела — найдите
/
(корневой) раздел, проверьте, есть ли рядом с ним нераспределённое пространство, щёлкните правой кнопкой мыши по разделу и выберите Изменить размер/Переместить. - Применить изменения — нажмите на кнопку с галочкой, чтобы применить изменения. Наберитесь терпения: это может занять несколько минут.
После перезагрузки запустите df -h
и убедитесь, что размер корневого раздела увеличился.
Способ 2. Использование LVM (менеджера логических томов)
Если ваш корневой раздел находится на LVM (многие современные дистрибутивы Linux, такие как CentOS, RHEL и Ubuntu, поддерживают LVM), расширение будет более безопасным и не потребует загрузки с Live CD.
Сначала проверьте, находится ли корень в LVM.
lsblk
Вы можете увидеть нечто подобное здесь: /
— это логический том LVM (lv_root
) внутри группы томов vg_root
.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 50G 0 disk └─sda2 8:2 0 50G 0 part ├─vg_root-lv_root 253:0 0 20G 0 lvm / └─vg_root-lv_home 253:1 0 30G 0 lvm /home
Если в группе томов есть свободное место, вы можете расширить логический том.
sudo lvextend -L +10G /dev/vg_root/lv_root
+10G
— есть добавьте 10 ГБ к корневому каталогу.- Замените
/dev/vg_root/lv_root
на свой путь.
Затем измените размер файловой системы.
sudo resize2fs /dev/vg_root/lv_root # для ext3 sudo xfs_growfs / # для xfs
После изменения размера выполните следующую команду, чтобы убедиться, что размер корневого раздела увеличился.
df -h
Способ 3. Уменьшение размера другого раздела
Если LVM не используется и нераспределённого пространства нет, вы можете уменьшить размер другого раздела, например /home
, чтобы освободить место:
- Резервное копирование /home — убедитесь, что все важные файлы сохранены в безопасном месте.
- Загрузка с Live-USB — запустите компьютер с USB-накопителя с Linux, чтобы разделы не использовались.
- Уменьшить размер /home с помощью GParted — используйте GParted, чтобы уменьшить размер раздела /home и освободить место.
- Переместите корневой раздел — аккуратно переместите корневой раздел в свободное место. Этот шаг является сложным и рискованным.
- Изменение размера файловой системы — расширение корневой файловой системы, чтобы она могла использовать новое пространство.
Совет: новичкам будет непросто. По возможности используйте LVM или работайте с разделами, в которых уже есть нераспределённое пространство.
Заключение
Нехватка места в корневом разделе может вызывать беспокойство, но его можно легко расширить, если вы разбираетесь в своей системе и следуете правильным инструкциям.
Для новичков использование GParted через Live USB — самый безопасный способ расширить корневой раздел, а пользователи LVM могут сделать это без перезагрузки.
Всегда делайте резервную копию важных данных перед внесением каких-либо изменений и дважды проверяйте разделы перед изменением их размера.
Редактор: AndreyEx