В этой статье мы рассмотрим несколько утилит командой строки, которые позволят вам проверять разделы в Linux.
Мониторинг использования памяти на запоминающих устройствах одна из самых важных задач сисадмина, это помогает обеспечить необходимое количество свободного пространства для эффективного функционирования Linux.
Утилита командной строки для вывода таблицы разделов диска
Дальше приведен список команд для вывода таблицы разделов запоминающего устройства и использование свободного пространства
1. Fdisk (“fixed disk” – жесткий диск)
Fdisk – это популярный и мощный инструмент командной строки, используется для создания и управления таблицей разделов диска
Он поддерживает GPT, MBR, Sun, SGI и BSD таблицы разделов. Вы можете запустить команду fdisk с удобным для Вас текстовым интерфейсом. Чтобы создавать, изменять размер, удалять, модифицировать, копировать и перемещать разделы на жестком диске.
Команда fdisk выведет таблицу всех подключенных устройств:
$ sudo fdisk -l
fdisk – List Linux Disk Partition Table
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 82213CA8-50E4-4DDB-9337-85E46DA03430
Device Start End Sectors Size Type
/dev/sda1 2048 2050047 2048000 1000M Windows recovery environment
/dev/sda2 2050048 2582527 532480 260M EFI System
/dev/sda3 2582528 4630527 2048000 1000M Lenovo boot partition
/dev/sda4 4630528 4892671 262144 128M Microsoft reserved
/dev/sda5 4892672 1173295103 1168402432 557.1G Microsoft basic data
/dev/sda6 1870348288 1922777087 52428800 25G Microsoft basic data
/dev/sda7 1922777088 1953523711 30746624 14.7G Windows recovery environment
/dev/sda8 1173295104 1173297151 2048 1M BIOS boot
/dev/sda9 1173297152 1181110271 7813120 3.7G Linux swap
/dev/sda10 1181110272 1870348287 689238016 328.7G Linux filesystem
Partition table entries are not in disk order.
2. Sfdisk (“scriptable fdisk” – скрипты жесткого диска)
Sfdisk по большей части работает как fdisk – выводит или управляет таблицей разделов диска. Однако, sfdisk имеет больше функций, которые не поддерживаются fdisk. В то же время вы можете пользоваться теми же возможностями, что с fdisk, к тому же Вам доступны таблицы разделов GPT, MBR, Sun и SGI.
Единственное отличие между ними заключается в том, что sfdisk не создает стандартное системное разделение для меток SGI и Sun этих дисков, как это делает fdisk.
$ sudo sfdisk -l
sfdisk – Check Linux Disk Partition Table
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 82213CA8-50E4-4DDB-9337-85E46DA03430
Device Start End Sectors Size Type
/dev/sda1 2048 2050047 2048000 1000M Windows recovery environment
/dev/sda2 2050048 2582527 532480 260M EFI System
/dev/sda3 2582528 4630527 2048000 1000M Lenovo boot partition
/dev/sda4 4630528 4892671 262144 128M Microsoft reserved
/dev/sda5 4892672 1173295103 1168402432 557.1G Microsoft basic data
/dev/sda6 1870348288 1922777087 52428800 25G Microsoft basic data
/dev/sda7 1922777088 1953523711 30746624 14.7G Windows recovery environment
/dev/sda8 1173295104 1173297151 2048 1M BIOS boot
/dev/sda9 1173297152 1181110271 7813120 3.7G Linux swap
/dev/sda10 1181110272 1870348287 689238016 328.7G Linux filesystem
Partition table entries are not in disk order.
За подробным описанием обратитесь к мануалам команды sfdisk.
3. Cfdisk (curses fixed disk)
Cfdisk – это простая программа для вывода и управления разделами диска. Обладает базовым функционалом разделения с удобным для пользователя интерфейсом. Действует аналогично более мощным командам: fdisk и sfdisk, позволяет пользователю просматривать, добавлять, удалять и модифицировать разделение жесткого диска.
Используйте правую и левую стрелки клавиатуры для управление маркером на вкладках меню.
$ sudo cfdisk
cfdisk – Print Linux Disk Partition Table
Disk: /dev/sda
Size: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Label: gpt, identifier: 82213CA8-50E4-4DDB-9337-85E46DA03430
Device Start End Sectors Size Type
>> Free space 2048 2048 0 0B
/dev/sda1 2048 2050047 2048000 1000M Windows recovery environm
/dev/sda2 2050048 2582527 532480 260M EFI System
/dev/sda3 2582528 4630527 2048000 1000M Lenovo boot partition
/dev/sda4 4630528 4892671 262144 128M Microsoft reserved
/dev/sda5 4892672 1173295103 1168402432 557.1G Microsoft basic data
/dev/sda6 1870348288 1922777087 52428800 25G Microsoft basic data
/dev/sda7 1922777088 1953523711 30746624 14.7G Windows recovery environm
/dev/sda8 1173295104 1173297151 2048 1M BIOS boot
/dev/sda9 1173297152 1181110271 7813120 3.7G Linux swap
/dev/sda10 1181110272 1870348287 689238016 328.7G Linux filesystem
┌────────────────────────────────────────────────────────────────────────────┐
│ Filesystem: ntfs │
│Filesystem label: WINRE_DRV │
└────────────────────────────────────────────────────────────────────────────┘
[ New ] [ Quit ] [ Help ] [ Sort ] [ Write ] [ Dump ]
4. Parted command(“parted” — разделенный)
Parted так же хорошо известный инструмент командой строки для изображения и манипулирования разделами диска. Взаимодействует со множеством форматов таблиц разделов, включая MBR и GPT.
Parted можно использовать с целью создания пространства под новое разделение, реорганизации использования диска и копирования информации на новые жесткие диски и другие носители.
$ sudo parted -l
parted – A Partition Manipulation Tool
Model: ATA ST1000LM024 HN-M (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 1050MB 1049MB ntfs Basic data partition hidden, diag
2 1050MB 1322MB 273MB fat32 EFI system partition boot, hidden, esp
3 1322MB 2371MB 1049MB fat32 Basic data partition hidden
4 2371MB 2505MB 134MB Microsoft reserved partition msftres
5 2505MB 601GB 598GB ntfs Basic data partition msftdata
8 601GB 601GB 1049kB bios_grub
9 601GB 605GB 4000MB linux-swap(v1)
10 605GB 958GB 353GB ext4
6 958GB 984GB 26.8GB ntfs Basic data partition msftdata
7 984GB 1000GB 15.7GB ntfs Basic data partition hidden, diag
5. Lsblk (“list block” – список устройств)
Lsblk выводит информацию содержащую имя, тип, точку подключения всех доступных или конкретно установленного устройства, кроме RAM дисков.
$ lsblk
lsblk – List Linux Block Devices
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 1000M 0 part
├─sda2 8:2 0 260M 0 part
├─sda3 8:3 0 1000M 0 part
├─sda4 8:4 0 128M 0 part
├─sda5 8:5 0 557.1G 0 part
├─sda6 8:6 0 25G 0 part
├─sda7 8:7 0 14.7G 0 part
├─sda8 8:8 0 1M 0 part
├─sda9 8:9 0 3.7G 0 part [SWAP]
└─sda10 8:10 0 328.7G 0 part /
sr0 11:0 1 1024M 0 rom
6. Blkid(“block id” – идентификатор устройства)
Blkid – утилита которая находит или отображает атрибуты устройства (ИМЯ = значение пары) таких как имя раздела или устройства, метка, тип файловой системы в частности.
$ blkid
blkid – Print Block Device Attributes
/dev/sda1: LABEL="WINRE_DRV" UUID="D4A45AAAA45A8EBC" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="dcc4de2d-8fc4-490f-85e0-50c2e18cc33d"
/dev/sda2: LABEL="SYSTEM_DRV" UUID="185C-DA5B" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="b13c479a-d63b-4fec-9aee-f926fe7b0b16"
/dev/sda3: LABEL="LRS_ESP" UUID="0E60-2E0E" TYPE="vfat" PARTLABEL="Basic data partition" PARTUUID="d464feab-0791-4866-a36b-90dbe6d6a437"
/dev/sda5: LABEL="Windows8_OS" UUID="18D0632AD0630CF6" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="8a66bd5b-8624-4fdb-9ad8-18d8cd356160"
/dev/sda6: LABEL="LENOVO" UUID="9286FFD986FFBC33" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="92fbbea9-6bcd-4ae5-a322-c96a07a81013"
/dev/sda7: LABEL="PBR_DRV" UUID="ECD06683D066543C" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="0e2878a2-377c-4b35-9454-f1f2c6398405"
/dev/sda9: UUID="e040de62-c837-453e-88ee-bd9000387083" TYPE="swap" PARTUUID="f5eef371-a152-4208-a62f-0fb287f9acdd"
/dev/sda10: UUID="bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b" TYPE="ext4" PARTUUID="26b60905-1c39-4fd4-bdce-95c517c781fa"
7. Hwinfo (“hardware info” – информация о оборудовании)
Hwinfo по сути выводит детальную информацию про системное оборудование. Также можно запустить команду hwinfo с параметром — <HARDWARE_ITEM> для вывода списка всех элементов оборудования указанного типа (в этом примере, устройства — диски и их разделы)
$ hwinfo --short --block
hwinfo – Print Linux Hardware Information
disk:
/dev/sda ST1000LM024 HN-M
/dev/ram0 Disk
/dev/ram1 Disk
/dev/ram2 Disk
/dev/ram3 Disk
/dev/ram4 Disk
/dev/ram5 Disk
/dev/ram6 Disk
/dev/ram7 Disk
/dev/ram8 Disk
/dev/ram9 Disk
/dev/ram10 Disk
/dev/ram11 Disk
/dev/ram12 Disk
/dev/ram13 Disk
/dev/ram14 Disk
/dev/ram15 Disk
partition:
/dev/sda1 Partition
/dev/sda2 Partition
/dev/sda3 Partition
/dev/sda4 Partition
/dev/sda5 Partition
/dev/sda6 Partition
/dev/sda7 Partition
/dev/sda8 Partition
/dev/sda9 Partition
/dev/sda10 Partition
cdrom:
/dev/sr0 PLDS DVD-RW DA8A5SH
Для получения результатов приведенных выше – убедитесь, что инструмент hwinfo установлен в вашей системе.
Утилиты командной строки линукс для мониторинга использования пространства жесткого диска
Дальше приведен список утилит командной строки для мониторинга использования пространства диска
8. Df (“disk filesystem” – файловая система диска)
Df выводит в терминале сводку использования файловой системы дискового пространства. В команде ниже, включается возможность сообщать о размере диска, занятой и свободной памяти, вывод занятого пространства выполняется в процентом формате, что очень удобно для чтения.
$ df -hT
df – Show Linux Disk Space Usage
Filesystem Type Size Used Avail Use
udev devtmpfs 3.9G 0 3.9G 0
tmpfs tmpfs 788M 9.6M 779M 2
/dev/sda10 ext4 324G 132G 176G 43
tmpfs tmpfs 3.9G 86M 3.8G 3
tmpfs tmpfs 5.0M 4.0K 5.0M 1
tmpfs tmpfs 3.9G 0 3.9G 0
cgmfs tmpfs 100K 0 100K 0
tmpfs tmpfs 788M 32K 788M 1
9. Pydf (python df)
Pydf это необычная утилита командной строки python и отличная замена df для Linux. Определенные атрибуты дискового разделения обозначаются конкретными цветами.
$ pydf
pydf – Show Colourised Linux Disk Space Usage
Filesystem Size Used Avail Use% Mounted on
/dev/sda10 323G 132G 175G 40.7 [######################................................] /
Что делать если в Linux заканчивается место на диске/разделе ?
Однажды вы поймете, что на любом жестком диске недостаточно места, тогда вам следует:
- Для начала создайте бэкап всех важных файлов системы любой утилитой Linux system backup;
- Далее проверьте какие файлы или директории занимают больше всего места на диске, для этого следует использовать команду du;
- После- удалите с жесткого диска, любые файлы, которые больше неважны или которые вы не будете использовать в будущем с помощью команды rm или же вы можете использовать инструмент fslint для поиска и удаления не найденных файлов в linux;
- Если корневой раздел заполнен вы можете изменить размер корневого раздела используя LVM, это должно быть довольно просто.
Примечание: в случае удаления любых важных файлов в Linux возможно их восстановление.
В этой статье мы рассказали о нескольких удобных утилитах командной строки для вывода и мониторинга разделов диска, а так же привели примеры их использования.
Спасибо за уделенное время на прочтение статьи!
http://blog.sedicomm.com/2017/06/13/9-instrumentov-dlya-monitoringa-razdelov-v-linux/