Управление разделами и файловыми системами в Linux

CompTIABeginner
Практиковаться сейчас

Введение

В этой лабораторной работе вы освоите фундаментальные навыки, необходимые для управления дисковыми разделами и файловыми системами в среде Linux. Вы будете работать с утилитами командной строки, такими как fdisk, для проверки доступных дисков, создания новых разделов и их форматирования с использованием стандартной файловой системы. Чтобы обеспечить безопасность обучения, все операции будут выполняться на выделенном вторичном виртуальном диске /dev/sdb, при этом основной диск с операционной системой останется нетронутым.

Примечание: В этой лабораторной среде /dev/sdb реализован как loop-устройство (файл, который ведет себя как диск). При создании разделов они будут отображаться с именами вроде loop13p1 или loop14p1. Точный номер loop-устройства зависит от того, какое из них свободно в вашей сессии, поэтому он может отличаться от примеров, приведенных здесь. Вы создадите символические ссылки, чтобы обращаться к этим разделам как /dev/sdb1, /dev/sdb2 и так далее, как это делается с реальным оборудованием.

В ходе упражнений вы создадите стандартный раздел Linux, отформатируете его в файловую систему ext4 и научитесь монтировать его для немедленного использования. Затем вы настроите систему на автоматическое монтирование этой файловой системы при загрузке, отредактировав файл /etc/fstab. Наконец, вы расширите свои навыки, создав и настроив выделенный раздел подкачки (swap) Linux, который является критически важным компонентом для производительности системы.

Проверка дисков и создание нового раздела Linux с помощью fdisk

В этом шаге вы узнаете, как проверять доступные диски и их таблицы разделов. Затем вы воспользуетесь утилитой fdisk, мощным инструментом командной строки, для создания нового раздела на вторичном диске. В реальных условиях при изменении разделов нужно быть крайне осторожным, так как ошибки могут привести к потере данных. В этой лабораторной работе мы будем работать с выделенным виртуальным диском /dev/sdb, чтобы основной диск операционной системы (/dev/sda) остался нетронутым.

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

lsblk

Вывод покажет доступные диски, включая ваш основной системный диск (vda) и loop-устройство, такое как loop13 или loop14, которое представляет наш виртуальный диск для этой лабораторной работы. Точный номер loop-устройства в вашей среде может отличаться.

NAME       MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
...
loop13       7:13   0     2G  0 loop
vda        252:0    0    40G  0 disk
├─vda1     252:1    0     1M  0 part
├─vda2     252:2    0   200M  0 part /boot/efi
└─vda3     252:3    0  39.8G  0 part /

Обратите внимание, что loop-устройство (доступное как /dev/sdb через символическую ссылку) — это виртуальный диск объемом 2 ГБ без разделов. Теперь давайте используем fdisk, чтобы более детально изучить таблицу разделов /dev/sdb. Флаг -l выводит таблицы разделов для указанных устройств и завершает работу. Поскольку для проверки информации на уровне диска fdisk требуются права суперпользователя, необходимо использовать sudo.

sudo fdisk -l /dev/sdb

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

Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Примечание: Если вы используете диск впервые, вы можете увидеть сообщение о создании новой метки диска DOS.

Далее вы запустите fdisk в интерактивном режиме для создания нового раздела. Этот процесс включает последовательность однобуквенных команд. Выполните следующую команду, чтобы начать управление /dev/sdb:

sudo fdisk /dev/sdb

Теперь вы находитесь внутри утилиты fdisk, на что указывает приглашение Command (m for help):. Внимательно следуйте этим шагам:

  1. Создание нового раздела: Введите n и нажмите Enter.
  2. Выбор типа раздела: Вас попросят выбрать тип раздела (основной или расширенный). По умолчанию выбран основной (p), что нам и нужно. Нажмите Enter, чтобы принять значение по умолчанию.
  3. Выбор номера раздела: По умолчанию предлагается 1, так как это первый раздел. Нажмите Enter, чтобы принять его.
  4. Указание первого сектора: Значение по умолчанию — это первый доступный сектор на диске. Это почти всегда правильный выбор. Нажмите Enter, чтобы принять значение по умолчанию.
  5. Указание последнего сектора или размера: Вместо расчета секторов можно указать размер в понятном формате. Давайте создадим раздел объемом 500 МБ. Введите +500M и нажмите Enter.
  6. Вывод таблицы разделов в памяти: Перед сохранением полезно проверить изменения. Введите p и нажмите Enter, чтобы увидеть новую структуру разделов. Вы должны увидеть новое устройство /dev/sdb1.
  7. Запись изменений на диск: Сделанные вами изменения пока находятся только в оперативной памяти. Чтобы сохранить их в таблицу разделов диска, введите w и нажмите Enter. Это запишет изменения и закроет fdisk.

Вот краткий обзор интерактивной сессии:

Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x54041549.

Command (m for help): n
Partition type
   p   primary (0 primary, 0 extended, 4 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-4194303, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-4194303, default 4194303): +500M

Created a new partition 1 of type 'Linux' and of size 500 MiB.

Command (m for help): p
Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x54041549

Device     Boot Start     End Sectors  Size Id Type
/dev/sdb1        2048 1026047 1024000  500M 83 Linux

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Invalid argument

The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or partx(8).

После записи таблицы разделов вы можете заметить сообщение о том, что ядро не смогло немедленно перечитать таблицу разделов. Это нормально при работе с loop-устройствами. Команда partprobe запрашивает у ядра операционной системы перечитать таблицу разделов.

sudo partprobe

Теперь убедитесь, что система распознает новый раздел, снова выполнив lsblk.

lsblk /dev/sdb

Вывод должен показать loop-устройство и его новый раздел. Из-за настройки loop-устройства раздел будет отображаться как loop13p1 или loop14p1, в зависимости от вашей сессии:

NAME       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop13       7:13   0    2G  0 loop
└─loop13p1 259:0    0  500M  0 part

Поскольку раздел отображается как loop13p1, loop14p1 или другое имя, связанное с loop-устройством, а не как /dev/sdb1, нам нужно создать символическую ссылку для раздела. Сначала определим реальное устройство раздела. Шаблон p1$ гарантирует, что мы выберем только имя раздела, а не родительское loop-устройство:

PARTITION_DEVICE=$(lsblk -lno NAME /dev/sdb | grep -E "p1$" | head -1)
echo "Partition device: /dev/$PARTITION_DEVICE"

Теперь создайте символическую ссылку для раздела:

sudo ln -s /dev/$PARTITION_DEVICE /dev/sdb1

Убедитесь, что /dev/sdb1 теперь работает:

lsblk /dev/sdb1

Вывод должен показать, что раздел доступен как /dev/sdb1. Имя базового устройства все еще может быть loop13p1, loop14p1 или другим именем раздела:

NAME       MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop13p1   259:0    0  500M  0 part

Вы успешно создали новый раздел Linux объемом 500 МБ на /dev/sdb и сделали его доступным как /dev/sdb1.

Создание и форматирование файловой системы ext4 с помощью mkfs.ext4

В этом шаге вы отформатируете созданный вами новый раздел /dev/sdb1 с файловой системой. Файловая система обеспечивает структуру, необходимую для хранения и организации файлов и каталогов. Без файловой системы операционная система не может читать данные с раздела или записывать их на него. Мы будем использовать ext4, которая является стандартной и наиболее широко используемой файловой системой для современных дистрибутивов Linux благодаря своей производительности, надежности и функциональности.

Команда для создания файловой системы — mkfs (сокращение от "make filesystem"). Это интерфейс для различных инструментов создания файловых систем, таких как mkfs.ext4, mkfs.xfs и т.д. Мы будем использовать mkfs.ext4 напрямую. Эта операция является деструктивной и удалит все существующие данные на разделе, поэтому она требует прав sudo.

Чтобы отформатировать раздел /dev/sdb1 в файловую систему ext4, выполните следующую команду:

sudo mkfs.ext4 /dev/sdb1

Команда создаст файловую систему и отобразит информацию о процессе, включая UUID файловой системы, размер блока и количество инодов (inodes).

mke2fs x.xx.x (xx-xxx-xxxx)
Creating filesystem with 128000 4k blocks and 32000 inodes
Filesystem UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Superblock backups stored on blocks:
 32768, 98304

Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

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

sudo blkid /dev/sdb1

Вывод должен четко показать, что /dev/sdb1 теперь имеет TYPE равный ext4.

/dev/sdb1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="1a2b3c4d-01"

Для более детального просмотра можно использовать команду dumpe2fs с флагом -h, чтобы отобразить информацию о суперблоке. Суперблок содержит критически важные метаданные о файловой системе.

sudo dumpe2fs -h /dev/sdb1

Эта команда выведет много информации. Ищите ключевые строки, такие как Filesystem magic number и Filesystem state, чтобы подтвердить целостность файловой системы.

dumpe2fs x.xx.x (xx-xxx-xxxx)
Filesystem volume name:   <none>
Last mounted on:          <not available>
Filesystem UUID:          xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
...

Теперь вы успешно отформатировали раздел, и он готов к монтированию и использованию для хранения данных.

Монтирование, проверка и размонтирование файловой системы

В этом шаге вы узнаете, как сделать вашу новую отформатированную файловую систему доступной для операционной системы. Этот процесс называется "монтированием". Монтирование присоединяет файловую систему на устройстве (например, /dev/sdb1) к определенному каталогу в дереве файловой системы, называемому "точкой монтирования". После монтирования вы можете взаимодействовать с разделом так же, как с любым другим каталогом.

Сначала нужно создать точку монтирования. Это просто пустой каталог. Стандартной практикой является создание временных точек монтирования в каталоге /mnt. Давайте создадим каталог с именем /mnt/data. Поскольку /mnt является системным каталогом, вам потребуется sudo.

sudo mkdir /mnt/data

Теперь используйте команду mount, чтобы присоединить раздел /dev/sdb1 к каталогу /mnt/data.

sudo mount /dev/sdb1 /mnt/data

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

## Проверка, является ли каталог точкой монтирования
mountpoint /mnt/data

Если монтирование прошло успешно, вы должны увидеть:

/mnt/data is a mountpoint

Теперь давайте проверим использование диска с помощью df. Из-за настройки loop-устройства раздел может отображаться с реальным именем устройства, а не с именем символической ссылки. Ваш вывод может показать loop13p1, loop14p1 или другое имя раздела:

df -h /mnt/data

Вы должны увидеть запись, показывающую смонтированную файловую систему:

Filesystem      Size  Used Avail Use% Mounted on
/dev/loop13p1   488M  2.6M  459M   1% /mnt/data

Вы также можете проверить это с помощью команды mount:

mount | grep /mnt/data

Это должно показать имя смонтированного loop-устройства для вашей сессии:

/dev/loop13p1 on /mnt/data type ext4 (rw,relatime)

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

ls -ld /mnt/data

Вы должны увидеть что-то вроде:

drwxr-xr-x 3 root root 4096 Dec 12 10:00 /mnt/data

Теперь попробуйте создать файл в точке монтирования:

touch /mnt/data/testfile

Эта команда, скорее всего, завершится ошибкой "Permission denied" (Отказано в доступе). Это происходит потому, что корневой каталог смонтированной файловой системы принадлежит пользователю root. Чтобы исправить это, измените владельца точки монтирования на вашего текущего пользователя, labex:

sudo chown labex:labex /mnt/data

Теперь попробуйте создать файл снова:

touch /mnt/data/testfile

На этот раз команда должна выполниться успешно. Убедитесь, что файл был создан:

ls -l /mnt/data

Вы должны увидеть:

total 16
drwx------ 2 root  root  16384 Dec 12 10:00 lost+found
-rw-r--r-- 1 labex labex     0 Dec 12 10:05 testfile

Каталог lost+found является стандартной особенностью файловых систем ext4 и используется для восстановления файлов в случае повреждения файловой системы.

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

Сначала перейдите в каталог /mnt/data:

cd /mnt/data

Теперь попробуйте размонтировать его. Вы можете ссылаться на файловую систему либо по имени устройства, либо по точке монтирования.

sudo umount /mnt/data

Вы получите сообщение об ошибке, указывающее, что цель занята.

umount: /mnt/data: target is busy.

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

cd ~

Теперь снова выполните команду umount:

sudo umount /mnt/data

Команда должна выполниться без вывода сообщений. Вы можете убедиться, что она больше не смонтирована, выполнив команду mountpoint:

mountpoint /mnt/data

Вы должны увидеть:

/mnt/data is not a mountpoint

Наконец, вы можете навести порядок, удалив каталог точки монтирования:

sudo rmdir /mnt/data

Примечание по устранению неполадок: Если вы столкнулись с проблемами при работе команды mount, вы можете попробовать смонтировать устройство, используя реальное имя loop-устройства вместо символической ссылки:

## Найти реальное имя устройства
ACTUAL_DEVICE=$(readlink -f /dev/sdb1)
echo "Actual device: $ACTUAL_DEVICE"

## Смонтировать, используя реальное имя устройства
sudo mkdir /mnt/data
sudo mount $ACTUAL_DEVICE /mnt/data

Настройка постоянного монтирования в /etc/fstab

В этом шаге вы узнаете, как сделать так, чтобы ваша файловая система монтировалась автоматически при каждой загрузке системы. Команда mount, которую вы использовали на предыдущем шаге, является временной; монтирование будет потеряно после перезагрузки. Чтобы создать постоянное монтирование, нужно добавить запись в специальный конфигурационный файл /etc/fstab (таблица файловых систем).

Система читает /etc/fstab во время процесса загрузки, чтобы определить, какие файловые системы монтировать. Это критически важный файл, поэтому всегда рекомендуется создать его резервную копию перед редактированием.

Сначала создадим резервную копию текущего файла fstab.

sudo cp /etc/fstab /etc/fstab.bak

Далее нам нужна постоянная точка монтирования. На предыдущем шаге мы использовали /mnt/data, а затем удалили ее. Для постоянных монтирований принято создавать каталог в корневой файловой системе. Давайте создадим каталог с именем /data.

sudo mkdir /data

Хотя вы можете использовать имя устройства (/dev/sdb1) в /etc/fstab, это не рекомендуется. Имена устройств иногда могут меняться между перезагрузками, особенно если вы добавляете или удаляете оборудование. Гораздо более надежный метод — использовать универсальный уникальный идентификатор (UUID) раздела, который является уникальной строкой, присваиваемой файловой системе при ее создании и не меняющейся.

Чтобы найти UUID для /dev/sdb1, снова используйте команду blkid:

sudo blkid /dev/sdb1

Вывод покажет UUID. Скопируйте это значение (без кавычек).

/dev/sdb1: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="1a2b3c4d-01"

Теперь вы отредактируете /etc/fstab с помощью редактора nano. Вы должны использовать sudo, так как это системный файл.

sudo nano /etc/fstab

Перейдите в конец файла и добавьте новую строку для вашего раздела. Формат записи в fstab: <идентификатор_устройства> <точка_монтирования> <тип_файловой_системы> <опции> <dump> <pass>

Добавьте следующую строку, заменив xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx на реальный UUID, который вы скопировали из команды blkid.

UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /data ext4 defaults 0 2
  • UUID=...: Идентифицирует раздел по его уникальному ID.
  • /data: Каталог, в который будет смонтирована файловая система.
  • ext4: Тип файловой системы.
  • defaults: Стандартный набор опций монтирования, подходящий для большинства случаев.
  • 0: Поле dump. Это устаревший флаг утилиты резервного копирования, он должен быть равен 0.
  • 2: Поле pass. Оно указывает утилите fsck порядок проверки файловых систем при загрузке. 1 — для корневой файловой системы, 2 — для других постоянных файловых систем, 0 — отключает проверку.

После добавления строки сохраните файл и выйдите из nano, нажав Ctrl+X, затем Y и Enter.

Теперь, вместо перезагрузки для проверки, вы можете использовать команду mount -a. Эта команда монтирует все файловые системы, перечисленные в /etc/fstab, которые еще не смонтированы.

sudo mount -a

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

df -h | grep /data

Вывод должен подтвердить, что /dev/sdb1 смонтирован в /data.

/dev/sdb1       488M  2.6M  459M   1% /data

Теперь ваш раздел будет автоматически монтироваться при каждом запуске системы.

Создание и управление разделом подкачки (swap) Linux

В этом шаге вы узнаете о другом специальном типе раздела: Linux swap (раздел подкачки). Пространство подкачки используется операционной системой в качестве виртуальной памяти, когда физическая оперативная память (RAM) заполнена. Это позволяет системе перемещать неактивные страницы памяти на диск, освобождая RAM для активных процессов. Хотя это не замена достаточного объема RAM, наличие раздела подкачки может предотвратить сбой системы из-за ошибок нехватки памяти.

Важное примечание: Перед созданием нового раздела убедитесь, что любые существующие файловые системы на /dev/sdb размонтированы. Если устройство в данный момент смонтировано (с предыдущих шагов), вы можете столкнуться с ошибками "Device or resource busy" при попытке изменить таблицу разделов.

Мы создадим новый раздел на /dev/sdb и настроим его как пространство подкачки. Сначала убедимся, что устройство не смонтировано, а затем используем fdisk для создания раздела. Мы уже создали /dev/sdb1, поэтому этот новый раздел будет /dev/sdb2.

## Сначала проверьте, смонтировано ли устройство, и размонтируйте, если необходимо
lsblk /dev/sdb
sudo umount /data /mnt/data 2> /dev/null || true

## Теперь создайте раздел
sudo fdisk /dev/sdb

Внутри интерактивного приглашения fdisk выполните следующие команды:

  1. Создание нового раздела: Введите n и нажмите Enter.
  2. Выбор типа и номера раздела: Примите значения по умолчанию для основного раздела (p) и номера раздела 2, нажав Enter дважды.
  3. Указание секторов: Примите значение по умолчанию для первого сектора. Для размера давайте создадим раздел объемом 256 МБ. Введите +256M и нажмите Enter.
  4. Изменение типа раздела: Это решающий шаг. Введите t, чтобы изменить тип раздела. Когда вас попросят ввести номер раздела, введите 2. Когда попросят ввести шестнадцатеричный код, введите 82, что соответствует "Linux swap / Solaris".
  5. Вывод и проверка: Введите p, чтобы просмотреть изменения. Вы должны увидеть /dev/sdb2 с типом "Linux swap / Solaris".
  6. Запись изменений: Введите w, чтобы сохранить новую таблицу разделов и выйти.
Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (1026048-4194303, default 1026048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1026048-4194303, default 4194303): +256M

Created a new partition 2 of type 'Linux' and of size 256 MiB.

Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 82

Changed type of partition 'Linux' to 'Linux swap / Solaris'.

Command (m for help): p
Disk /dev/sdb: 2 GiB, 2147483648 bytes, 4194304 sectors
...
Device     Boot   Start     End   Sectors   Size Id Type
/dev/sdb1          2048 1026047   1024000   500M 83 Linux
/dev/sdb2       1026048 1550335    524288   256M 82 Linux swap / Solaris

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

После создания раздела нам нужно создать символическую ссылку для /dev/sdb2, точно так же, как мы делали для /dev/sdb1. Сначала выполните partprobe, чтобы убедиться, что ядро распознает новый раздел:

sudo partprobe

Теперь определите и создайте символическую ссылку для второго раздела:

PARTITION2_DEVICE=$(lsblk -lno NAME /dev/sdb | grep p2 | head -1)
sudo ln -s /dev/$PARTITION2_DEVICE /dev/sdb2

Убедитесь, что раздел доступен:

lsblk /dev/sdb2

Перед форматированием раздела как пространства подкачки нужно убедиться, что устройство не занято. Если вы столкнулись с ошибкой "Device or resource busy", это означает, что устройство может быть смонтировано. Давайте сначала проверим и размонтируем любые существующие точки монтирования:

## Проверка текущего статуса монтирования
lsblk /dev/sdb

## Если устройство смонтировано, размонтируйте его
sudo umount /data /mnt/data 2> /dev/null || true

Теперь, когда раздел создан и доступен, вам нужно отформатировать его для использования в качестве пространства подкачки с помощью команды mkswap.

sudo mkswap /dev/sdb2

После форматирования вы можете активировать пространство подкачки. Сначала проверьте текущее использование подкачки с помощью команды free -h.

free -h

Вывод, скорее всего, покажет 0B для Swap.

              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       151Mi       1.6Gi       0.0Ki       202Mi       1.7Gi
Swap:            0B          0B          0B

Теперь активируйте новый раздел подкачки с помощью команды swapon.

sudo swapon /dev/sdb2

Снова проверьте использование подкачки с помощью free -h и swapon -s (сводка).

free -h
              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       152Mi       1.4Gi       0.0Ki       202Mi       1.6Gi
Swap:         256Mi          0B       256Mi
swapon -s
Filename    Type  Size Used Priority
/dev/sdb2                               partition 262140 0 -2

Вы видите, что общий объем пространства подкачки увеличился. Чтобы отключить раздел подкачки, используйте команду swapoff.

sudo swapoff /dev/sdb2

Убедитесь, что он отключен, снова выполнив free -h. Пространство подкачки вернется к нулю. Это демонстрирует, как динамически управлять пространством подкачки в работающей системе.

Примечание по устранению неполадок: Если вы сталкиваетесь с ошибками "Device or resource busy" на этом шаге, это обычно означает:

  1. Устройство или один из его разделов в данный момент смонтирован.
  2. Какой-то процесс обращается к устройству.

Чтобы решить эту проблему, убедитесь, что все точки монтирования размонтированы с помощью sudo umount /data /mnt/data перед продолжением операций с разделами.

Резюме

В этой лабораторной работе вы освоили основные навыки управления дисковыми разделами и файловыми системами в системе Linux. Вы начали с проверки доступных блочных устройств с помощью lsblk, а затем использовали утилиту fdisk для создания нового основного раздела на вторичном диске. После создания раздела вы отформатировали его в файловую систему ext4 с помощью mkfs.ext4. Вы также попрактиковались в монтировании новой файловой системы в каталог, проверке ее статуса и размонтировании. Наконец, вы настроили постоянное монтирование, отредактировав файл /etc/fstab с использованием UUID раздела, чтобы обеспечить его автоматическое монтирование при загрузке системы.

Кроме того, в лабораторной работе был рассмотрен процесс создания и управления выделенным пространством подкачки. Это включало повторное использование fdisk для создания раздела и изменение его типа на "Linux swap". Затем вы подготовили этот раздел как область подкачки с помощью команды mkswap и активировали его с помощью swapon. Чтобы сделать пространство подкачки постоянным после перезагрузок, вы также добавили соответствующую запись в файл /etc/fstab.