Как сжать диск на линуксе

Содержание
  1. Как изменить размер Ext4
  2. Как увеличить размер Ext4
  3. Шаг 1. Увеличение раздела
  4. Шаг 2. Увеличение файловой системы
  5. Шаг 3. Проверка на ошибки
  6. Шаг 4. Монтирование
  7. Как уменьшить размер Ext4
  8. Шаг 1. Проверка файловой системы
  9. Шаг 2. Уменьшение файловой системы
  10. Шаг 3. Уменьшение раздела
  11. Шаг 4. Монтирование
  12. Выводы
  13. Parted — управление разметкой и разделами дисков в Linux
  14. Установка parted в Linux
  15. Управление таблицей разделов в parted, разметка диска
  16. Создание нового раздела в parted
  17. Как расширить или уменьшить размер раздела диска с помощью parted
  18. Удаление раздела с помощью parted
  19. Восстановление случайно удаленных разделов с помощью rescue
  20. Parted — управление разметкой и разделами дисков в Linux
  21. Установка parted в Linux
  22. Управление таблицей разделов в parted, разметка диска
  23. Создание нового раздела в parted
  24. Как расширить или уменьшить размер раздела диска с помощью parted
  25. Удаление раздела с помощью parted
  26. Восстановление случайно удаленных разделов с помощью rescue

Как изменить размер Ext4

На данный момент Ext4 — это самая популярная файловая система для операционных систем семейства Linux, она используется как на серверах, так и на домашних компьютерах, и там и там часто возникает необходимость изменить размер раздела.

В сегодняшней статье мы рассмотрим как расширить раздел Ext4 в графическом интерфейсе или с помощью терминала.

Как увеличить размер Ext4

Шаг 1. Увеличение раздела

Если вы хотите изменить размер корневого раздела файловой системы, то вам обязательно надо будет загрузится с LiveCD иначе вы не сможете редактировать примонтированный раздел. Если это не системный раздел, то его можно отмонтировать и затем изменять. Для увеличения раздела будем использовать parted. Сначала запустите утилиту:

sudo parted /dev/sda

Здесь /dev/sda — это ваш диск, один из разделов которого вы хотите расширить. Сначала выведите текущую таблицу разделов, для этого выполните:

Как видите, здесь есть только один раздел и он занимает 16 гигабайт, а всего на диске доступно 21,7 гигабайт. Чтобы расширить Ext4 и занять всё это пространство используйте команду resizepart:

(parted) resizepart 1 21,7GB

Первый параметр, это номер раздела, который вы узнали из предыдущей команды, а второй, размер раздела, доступный размер тоже выводится в предыдущей команде. Теперь утилиту можно закрыть:

Шаг 2. Увеличение файловой системы

Осталось увеличить самую файловую систему до конца раздела. Для этого воспользуемся утилитой resize2fs. Она может работать даже когда файловая система смонтирована.

sudo resize2fs /dev/sda1

Утилита по умолчанию увеличивает файловую систему на всё доступное пространство раздела.

Шаг 3. Проверка на ошибки

После этого не помешает проверить всё на ошибки с помощью fsck:

sudo e2fsck -f /dev/sda1

Шаг 4. Монтирование

Затем можно монтировать полученную файловую систему и проверять её размер, как видите, теперь она занимает 20 гигабайт:

df -h | grep /dev/sda1

Как уменьшить размер Ext4

Допустим, нам надо отделить от корневого раздела четыре гигабайта и создать из них другой раздел, например, раздел подкачки. Для этого сначала надо уменьшить размер файловой системы, а затем самого раздела.

Шаг 1. Проверка файловой системы

Перед тем, как уменьшить размер Ext4 надо проверить её на ошибки. Если файловая система смонтирована, размонтируйте её:

sudo umount /dev/sda1

Для этого выполните:

sudo e2fsck -f /dev/sda1

Шаг 2. Уменьшение файловой системы

Уменьшение размера файловой системы тоже выполняется с помощью resize2fs. Но теперь утилите надо передать в параметрах новый размер файловой системы. Например, 16 гигабайт:

resize2fs /dev/sda1 16G

Размер можно указывать в килобайтах (K), мегабайтах (M) или гигабайтах (G). Теперь вы знаете как изменить размер Ext4. В выводе утилита вы увидите сколько теперь блоков занимает файловая система. Это число надо умножить на 4096 чтобы получить размер файловой системы в байтах. Цифра четыре взята потому что размер одного блока в Ext4 равняется четырём килобайтам. Например, в данном случае это будет 17179869184 байт или 16 гигабайт:

Теперь надо уменьшить размер раздела с помощью parted. Но значение желательно брать чуть больше, для безопасности, потому, что если вы зацепите пространство, где расположена файловая система, то работать с ней вы больше не сможете.

Шаг 3. Уменьшение раздела

Запустите parted и используйте ту же команду resizepart чтобы уменьшить размер раздела:

sudo parted /dev/sda

(parted) resizepart 1 16,1GB

Чтобы закрыть программу выполните:

Шаг 4. Монтирование

После этого файловую систему можно монтирововать и проверять её размер:

sudo mount /dev/sda1 /mnt

df -h | grep /dev/sda1

Выводы

В этой статье мы рассмотрели как уменьшить раздел Ext4, а также как его увеличить через терминал. Если вы работаете в графическом интерфейсе, то всё выполняется гораздо проще. Для этого можно воспользоваться утилитой Gparted. Она автоматически меняет как размер раздела, так и файловой системы. К тому же программа может не только менять положение конца раздела, но и начала, иногда это может быть полезно. А как вы меняете размер файловой системы? Напишите в комментариях!

Источник

Parted — управление разметкой и разделами дисков в Linux

Parted – (сокращенно от PARTition EDitor) редактор дисковых разделов для Linux, предназначенный для управления разметкой, создания, удаления и изменения размеров разделов диска. Утилита проста в использовании и доступна для всех дистрибутивов Unix/Linux систем. Кроме того, доступна GUI версия — Gparted. В данной статье, мы покажем, как управлять разделами диска с помощью parted на примере CentOS 8 (в других дистрибутивах Linux все работает аналогично). В Windows аналогом команды parted является diskpart .

Установка parted в Linux

Обновите набор по на сервере и установите пакет parted с помощью менеджера пакетов вашего дистрибутива Linux. Для CentOS 8 с менеджером пакетов dnf (который заменил yum), можете установить parted из базового репозитория командой:

# dnf update -y
# dnf install parted -y

Или в Debian/Ubuntu:

# apt-get install parted

Чтобы проверить версию утилиты, выполните команду:

Чтобы попасть в саму оболочку, введите:

Управление таблицей разделов в parted, разметка диска

Выведем список доступных дисков:

Доступен диск /dev/vdb размером 21 Гб, диску не присвоена метка (error /dev/vdb: unrecognized disk label), какая таблица разделов – не понятно.

Можно создать на диске разметку msdos (MBR)

Или таблицу разделов gpt ( GUIE partition table поддерживает размер раздела более 2 Тб) :

Теперь parted показывает тип таблицы разделов (разметки) на диске:

Как вы видите, на диске уже есть таблица разделов MBR, но сами разделы еще не созданы.
Если у вас на сервере имеется несколько свободных дисков, то можно переключаться между ними с помощью команды:

Создание нового раздела в parted

Для создания раздела в parted, используется утилита mkpart . При вводе команды в интерактивном режиме будут появляться вопросы о параметрах нового раздела:

  • Partition type — указываем тип раздела (primary / extended)
  • File system type — файловая система, по умолчанию предлагается ext2 (в дальнейшем мы ее изменим);
  • Start — начальный сектор раздела
  • End — конечный сектор раздела (в мегабайтах). В нашем примере мы указали 5000, это значит, что будет создан раздел размером 5Гб.

(parted) print free

Можно сразу создать раздел на весь диск:

# (parted) mkpart primary 0 0

или указать произвольный размер раздела так:

# (parted) mkpart primary 0 1GB

Также можно указывать размер диска в % и задать метку:

# (parted) mkpart «home part» ext4 2.5GiB 100%

Чтобы выйти из оболочки parted, выполните команду:

Отформатируем раздел в файловой системе ext4:

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

Можно создать раздел и отформатировать его, не входя в оболочку parted, например:

# parted -a opt /dev/vdb mkpart primary ext4 0% 100% && mkfs.ext4 /dev/vda1

Данной командой мы создадим раздел на диске vdb, под который отдадим всё пространство.

Таким образом вы можете упрощать себе работу или же добавлять подобные команды в какие-то скрипты или файлы кикстарта.

Как расширить или уменьшить размер раздела диска с помощью parted

Чтобы расширить или уменьшить размер раздела в partedиспользуется субкоманда resizepart Можно изменить размер раздела в интерактивном режиме. В оболочке parted введите команду:

Система запросит номер раздела (берется из вывода команды print) и конечный размер раздела. В этом примере размер разделе будет увеличен с 5 до 10 Гб:

Для уменьшения размер файловой системы используются следующие команды. Для файловых систем ext2/3/4 :

resize2fs /dev/sdab size

btrfs filesystem resize /dev/sdab size

Изменять флаг раздела в parted тоже возможно, вы можете установить один из нужных вам:

Например сделаем раздел загрузочным:

Удаление раздела с помощью parted

Если вам требуется удалить раздел на диске, вы можете использовать команду rm в оболочке parted:

Эта команду удалит раздел с номером 1:

Будьте осторожны в использовании данной команды, так как она не требует подтверждение удаления.

Восстановление случайно удаленных разделов с помощью rescue

Удаленный раздел можно восстановить с помощью утилиты rescue, которая доступа в оболочке parted:

Команда запросит начальный и конечный размер разделе. Если на этих позициях есть инфа о разделе, команда попробует восстановить удаленный раздел.

Как видите, утилита parted проста в использовании и очень удобна для создания/изменения разделов вашего диска. Надеемся, что данная статья поможет вам разобраться во многих вопросах.

Источник

Parted — управление разметкой и разделами дисков в Linux

Parted – (сокращенно от PARTition EDitor) редактор дисковых разделов для Linux, предназначенный для управления разметкой, создания, удаления и изменения размеров разделов диска. Утилита проста в использовании и доступна для всех дистрибутивов Unix/Linux систем. Кроме того, доступна GUI версия — Gparted. В данной статье, мы покажем, как управлять разделами диска с помощью parted на примере CentOS 8 (в других дистрибутивах Linux все работает аналогично). В Windows аналогом команды parted является diskpart .

Установка parted в Linux

Обновите набор по на сервере и установите пакет parted с помощью менеджера пакетов вашего дистрибутива Linux. Для CentOS 8 с менеджером пакетов dnf (который заменил yum), можете установить parted из базового репозитория командой:

# dnf update -y
# dnf install parted -y

Или в Debian/Ubuntu:

# apt-get install parted

Чтобы проверить версию утилиты, выполните команду:

Чтобы попасть в саму оболочку, введите:

Управление таблицей разделов в parted, разметка диска

Выведем список доступных дисков:

Доступен диск /dev/vdb размером 21 Гб, диску не присвоена метка (error /dev/vdb: unrecognized disk label), какая таблица разделов – не понятно.

Можно создать на диске разметку msdos (MBR)

Или таблицу разделов gpt ( GUIE partition table поддерживает размер раздела более 2 Тб) :

Теперь parted показывает тип таблицы разделов (разметки) на диске:

Как вы видите, на диске уже есть таблица разделов MBR, но сами разделы еще не созданы.
Если у вас на сервере имеется несколько свободных дисков, то можно переключаться между ними с помощью команды:

Создание нового раздела в parted

Для создания раздела в parted, используется утилита mkpart . При вводе команды в интерактивном режиме будут появляться вопросы о параметрах нового раздела:

  • Partition type — указываем тип раздела (primary / extended)
  • File system type — файловая система, по умолчанию предлагается ext2 (в дальнейшем мы ее изменим);
  • Start — начальный сектор раздела
  • End — конечный сектор раздела (в мегабайтах). В нашем примере мы указали 5000, это значит, что будет создан раздел размером 5Гб.

Чтобы вывести оставшееся количество места на диске, используйте команду:

(parted) print free

Можно сразу создать раздел на весь диск:

# (parted) mkpart primary 0 0

или указать произвольный размер раздела так:

# (parted) mkpart primary 0 1GB

Также можно указывать размер диска в % и задать метку:

# (parted) mkpart «home part» ext4 2.5GiB 100%

Чтобы выйти из оболочки parted, выполните команду:

Отформатируем раздел в файловой системе ext4:

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

Можно создать раздел и отформатировать его, не входя в оболочку parted, например:

# parted -a opt /dev/vdb mkpart primary ext4 0% 100% && mkfs.ext4 /dev/vda1

Данной командой мы создадим раздел на диске vdb, под который отдадим всё пространство.

Таким образом вы можете упрощать себе работу или же добавлять подобные команды в какие-то скрипты или файлы кикстарта.

Как расширить или уменьшить размер раздела диска с помощью parted

Чтобы расширить или уменьшить размер раздела в partedиспользуется субкоманда resizepart Можно изменить размер раздела в интерактивном режиме. В оболочке parted введите команду:

Система запросит номер раздела (берется из вывода команды print) и конечный размер раздела. В этом примере размер разделе будет увеличен с 5 до 10 Гб:

Сначала увеличьте размер раздела, а потом растяните файловую систему на нем. Если вы уменьшаете размер раздела – сначала нужно сжать размер файловой системы, и только после этого уменьшать размер раздела. Иначе потеряете данные.

Для уменьшения размер файловой системы используются следующие команды. Для файловых систем ext2/3/4 :

resize2fs /dev/sdab size

btrfs filesystem resize /dev/sdab size

Изменять флаг раздела в parted тоже возможно, вы можете установить один из нужных вам:

Например сделаем раздел загрузочным:

Удаление раздела с помощью parted

Если вам требуется удалить раздел на диске, вы можете использовать команду rm в оболочке parted:

Эта команду удалит раздел с номером 1:

Будьте осторожны в использовании данной команды, так как она не требует подтверждение удаления.

Восстановление случайно удаленных разделов с помощью rescue

Удаленный раздел можно восстановить с помощью утилиты rescue, которая доступа в оболочке parted:

Команда запросит начальный и конечный размер разделе. Если на этих позициях есть инфа о разделе, команда попробует восстановить удаленный раздел.

Как видите, утилита parted проста в использовании и очень удобна для создания/изменения разделов вашего диска. Надеемся, что данная статья поможет вам разобраться во многих вопросах.

Источник

Mac OS X Hints