Введение
В этой лабораторной работе вы освоите фундаментальные навыки управления дисковыми разделами и файловыми системами в среде Linux. Вы будете работать с утилитами командной строки, такими как fdisk, для проверки доступных дисков, создания новых разделов и их форматирования с использованием стандартной файловой системы. Для обеспечения безопасности обучения все операции будут выполняться на выделенном вторичном виртуальном диске /dev/sdb, что позволит оставить основной системный диск нетронутым.
Примечание: В данной лабораторной среде /dev/sdb реализован как loop-устройство (файл, который ведет себя как диск). При создании разделов они будут отображаться с именами вроде loop13p1 или loop14p1. Точный номер loop-устройства зависит от того, какой из них свободен в вашей сессии, поэтому он может отличаться от примеров, приведенных здесь. Вы создадите символические ссылки, чтобы обращаться к этим разделам как /dev/sdb1, /dev/sdb2 и так далее, как это делается при работе с реальным оборудованием.
В ходе упражнений вы создадите стандартный раздел Linux, отформатируете его в файловую систему ext4 и научитесь монтировать его для немедленного использования. Затем вы настроите систему на автоматическое монтирование этой файловой системы при загрузке, отредактировав файл /etc/fstab. Наконец, вы расширите свои навыки, создав и настроив выделенный раздел подкачки (swap) — критически важный компонент для производительности системы.
Проверка дисков и создание нового раздела 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 (disklabel).
Далее вы запустите fdisk в интерактивном режиме для создания нового раздела. Этот процесс включает последовательность команд из одной буквы. Выполните следующую команду, чтобы начать управление /dev/sdb:
sudo fdisk /dev/sdb
Теперь вы находитесь внутри утилиты fdisk, на что указывает приглашение Command (m for help):. Внимательно следуйте этим шагам:
Создание нового раздела: Введите n и нажмите Enter.
Выбор типа раздела: Вас попросят выбрать тип раздела (основной или расширенный). По умолчанию выбран основной (p), что нам и нужно. Нажмите Enter, чтобы принять значение по умолчанию.
Выбор номера раздела: По умолчанию предлагается 1, так как это первый раздел. Нажмите Enter, чтобы принять его.
Указание первого сектора: Значение по умолчанию — это первый доступный сектор на диске. Почти всегда это правильный выбор. Нажмите Enter, чтобы принять значение по умолчанию.
Указание последнего сектора или размера: Вместо вычисления секторов можно указать размер в понятном формате. Давайте создадим раздел объемом 500 МБ. Введите +500M и нажмите Enter.
Вывод таблицы разделов из памяти: Перед сохранением полезно проверить внесенные изменения. Введите p и нажмите Enter, чтобы увидеть новую структуру разделов. Вы должны увидеть новое устройство /dev/sdb1.
Запись изменений на диск: Внесенные вами изменения пока находятся только в оперативной памяти. Чтобы сохранить их в таблицу разделов диска, введите 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 или другим именем раздела на основе loop-устройства:
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 или другое имя раздела на основе loop-устройства:
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
Вы получите сообщение об ошибке, указывающее, что цель занята (target is busy).
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, наличие раздела подкачки может предотвратить сбой системы из-за ошибок нехватки памяти (out-of-memory).
Важное примечание: Перед созданием нового раздела убедитесь, что любые существующие файловые системы на /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 выполните следующие команды:
Создание нового раздела: Введите n и нажмите Enter.
Выбор типа и номера раздела: Примите значения по умолчанию для основного раздела (p) и номера раздела 2, нажав Enter дважды.
Указание секторов: Примите значение первого сектора по умолчанию. Для размера давайте создадим раздел объемом 256 МБ. Введите +256M и нажмите Enter.
Изменение типа раздела: Это критически важный шаг. Введите t, чтобы изменить тип раздела. Когда вас попросят указать номер раздела, введите 2. Когда вас попросят указать шестнадцатеричный код, введите 82, что соответствует "Linux swap / Solaris".
Вывод и проверка: Введите p, чтобы просмотреть изменения. Вы должны увидеть /dev/sdb2 с типом "Linux swap / Solaris".
Запись изменений: Введите 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. Объем пространства подкачки вернется к нулю. Это демонстрирует, как динамически управлять пространством подкачки в работающей системе.
Команда swapon активирует подкачку только для текущей сессии. Чтобы активировать этот раздел подкачки автоматически после перезагрузки, добавьте его в /etc/fstab, используя его UUID. Сначала выведите UUID, назначенный командой mkswap:
sudo blkid /dev/sdb2
Вывод содержит UUID подкачки и тип:
/dev/sdb2: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="swap" PARTUUID="1a2b3c4d-02"
Откройте /etc/fstab:
sudo nano /etc/fstab
Добавьте следующую строку в конец, заменив пример UUID на UUID из вывода blkid:
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx none swap sw 0 0
Сохраните файл и выйдите из nano, нажав Ctrl+X, затем Y и Enter. Значение none указывает на то, что подкачка не использует точку монтирования файловой системы, а опция sw включает устройство как подкачку.
Протестируйте новую запись в /etc/fstab без перезагрузки:
sudo swapon -a
Убедитесь, что раздел подкачки снова активен:
swapon --show
Вывод должен показать раздел подкачки объемом 256 МБ. Он может отображаться под именем базового loop-устройства вместо /dev/sdb2, так как /dev/sdb2 — это символическая ссылка.
Примечание по устранению неполадок: Если вы столкнулись с ошибками "Device or resource busy" на этом этапе, это обычно означает:
Устройство или один из его разделов все еще может быть смонтирован, или какой-то процесс все еще обращается к устройству.
Чтобы решить эту проблему, убедитесь, что все точки монтирования размонтированы с помощью sudo umount /data /mnt/data перед продолжением операций с разделами.
Резюме
В этой лабораторной работе вы освоили основные навыки управления дисковыми разделами и файловыми системами в системе Linux. Вы начали с проверки доступных блочных устройств с помощью lsblk, а затем использовали утилиту fdisk для создания нового основного раздела на вторичном диске. После создания раздела вы отформатировали его в файловую систему ext4 с помощью mkfs.ext4. Вы также попрактиковались в монтировании новой файловой системы в каталог, проверке ее статуса и размонтировании. Наконец, вы настроили постоянное монтирование, отредактировав файл /etc/fstab с использованием UUID раздела, чтобы обеспечить его автоматическое монтирование при загрузке системы.
Кроме того, в лабораторной работе был рассмотрен процесс создания и управления выделенным пространством подкачки (swap). Это включало повторное использование fdisk для создания раздела и изменение его типа на "Linux swap". Затем вы подготовили этот раздел как область подкачки с помощью команды mkswap и активировали его с помощью swapon. Чтобы сделать пространство подкачки постоянным после перезагрузок, вы также добавили соответствующую запись в файл /etc/fstab.



