# Монтирование и разметка диска. Просмотр размера диска

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

## Подготовка к монтажу и созданию раздела <a href="#rt-0" id="rt-0"></a>

Перед началом работы следует убедиться существует ли диск в системе. Иногда наличие устройства в BIOS может быть недостаточным. Доступные накопители проверяем командой:

`sudo fdisk -l`

<figure><img src="https://serverspace.ru/wp-content/uploads/2020/06/65_1.png" alt=""><figcaption></figcaption></figure>

В нашем случае в системе присутствуют 2 диска – sda и sdb, оба по 10 Гб, первый диск системный. Работать будем со вторым диском (sda).

Важно помнить, что Linux системы можно повредить неверно указав диск, например системный. Следует тщательно проверять и перепроверять выбор носителя. На помощь приходит тот факт, что новый диск (из коробки) не имеет файловой системы и разделов.

## Разметка диска <a href="#rt-1" id="rt-1"></a>

Для разметки диска запустить утилиту fdisk с указанием пути до диска:

`fdisk /dev/sdb`

<figure><img src="https://serverspace.ru/wp-content/uploads/2020/06/10_2.png" alt=""><figcaption></figcaption></figure>

При нажатии “m” и подтверждением ввода клавишей Enter, программа предоставит страницу доступных команд:

<pre><code><strong>Справка:
</strong>DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c переключить флаг совместимости с DOS
<strong> Общие
</strong>d удалить раздел
F list free unpartitioned space
l список известных типов разделов
n добавить новый раздел
p показать таблицу разделов
t изменить тип раздела
v проверить таблицу разделов
i print information about a partition
<strong> Разное
</strong>m показать это меню
u изменить единицы отображения/ввода
x дополнительные функции (только для экспертов)
<strong> Script
</strong>I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
<strong> Сохранить и выйти
</strong>w сохранить таблицу на диск и выйти
q выйти без сохранения изменений
<strong> Создать новую метку
</strong>g создать новую пустую таблицу разделов GPT
G создать новую пустую таблицу разделов SGI (IRIX)
o создать новую пустую таблицу разделов DOS
s создать новую пустую таблицу разделов Sun

    
</code></pre>

Так как мы будем создавать простой раздел (не загрузочный), будем использовать все дисковое пространство, нажимаем клавишу **“n”** и Enter.\
Система спросит о типе раздела – выбираем **p (primary)** – первичный.

Номер раздела – **1**

На вопрос о первом и последнем секторе отвечаем нажатием клавиши **Enter.**

**Важно!** Если вы желаете создать несколько логических дисков, то в ответе на последний сектор следует указать размер в kilo-, mega-, giga-, tera-, petabytes. Соответственно, если раздел нужен размером в 2 гигабайт, то указываем 2G.

Сохраняем изменения нажатием **“w”** и подтверждаем выбор с помощью клавиши **Ввод**.

<figure><img src="https://serverspace.ru/wp-content/uploads/2020/06/25_3.png" alt=""><figcaption></figcaption></figure>

## Форматирование диска <a href="#rt-2" id="rt-2"></a>

После выполнения операции описанной выше, в системе будет создано устройство /dev/sdb1 – по своей сути это и есть раздел на диске. Теперь форматируем.

Современный Linux предлагает на выбор несколько вариантов файловых систем. Создание файловой системы происходит выполнением команды mkfs с указанием ключей, либо выполнением одной из программ:

`mkfs.bfs`

`mkfs.btrfs`

`mkfs.cramfs`

`mkfs.ext2`

`mkfs.ext3`

`mkfs.ext4`

`mkfs.ext4dev`

`mkfs.fat`

`mkfs.minix`

`mkfs.msdos`

`mkfs.ntfs`

`mkfs.vfat`

`mkfs.xfs`

Форматирование выполняется командой:

`sudo mkfs.ext4 /dev/sdb1`

<figure><img src="https://serverspace.ru/wp-content/uploads/2020/06/81_4.png" alt=""><figcaption></figcaption></figure>

Диск готов к работе. Остается только смонтировать его.

## Монтирование диска <a href="#rt-3" id="rt-3"></a>

Особенность ОС Linux в том, что существует возможность монтировать диск (либо иное блочное устройство) в любую из директорий, главное чтобы директория была пустой.

Создаем каталог в директории /mnt:

`sudo mkdir /mnt/1`

Изменяем права доступа к каталогу. Всем разрешаем всё

`sudo chmod -R 0777 /mnt/1`

Собственно, монтируем:

`sudo mount /dev/sdb1 /mnt/1`

Для монтирования диска автоматически при загрузке системы, редактируем файл **/etc/fstab**. Открываем любым текстовым редактором, например nano:

`sudo nano /etc/fstab`

В самый конец файла вставляем строку:

`/dev/sdb1 /mnt/1 ext4 defaults 0 0`

Сохраняем файл.

## Проверка размера диска

Для того, чтобы посмотреть, сколько места занимает файловая система, диск, файл или каталог, в Linux существует две команды: **df** и **du**.

**df (disk free)** выводит список всех файловых систем по именам устройств с указанием размера, показывает точки монтирования и количество свободного/занятого пространства.

Если мы введем команду **df** без ключа, у нас получится примерно вот такой вывод

```
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 4673664 805492 3607720 19% /
udev 10240 0 10240 0% /dev
tmpfs 204876 4500 200376 3% /run
tmpfs 512184 0 512184 0% /dev/shm
tmpfs 5120 0 5120 0% /run/lock
tmpfs 512184 0 512184 0% /sys/fs/cgroup
/dev/sda2 945144 223548 656368 26% /var
/dev/sda3 1889292 2904 1772368 1% /home
```

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

Синтаксис команды

```
# df опции файл/устройство
```

**Список опций**

-а, --all – отображение абсолютно всех файловых систем, в том числе и виртуальных;

-h, --human-readable – показ буквы для обозначения размера файла/каталога;

-I, --inodes – выводится информация об inode’ах: имя владельца, права доступа, местонахождение в системе, временные штампы;

-k, --kilobytes – вывод размеров в килобайтах;

-l, --local – показывает данные о локальных файловых системах;

\--output – позволяет задать формат вывода по таким параметрам: ‘source’, ‘fstype’, ‘itotal’, ‘iused’, ‘iavail’, ‘ipcent’, ‘size’, ‘used’, ‘avail’, ‘pcent’, ‘file’ и ‘target’; по умолчанию команда показывает сразу все параметры;

-Р, --portability – вывод информации согласно стандарту Posix. Информация о конкретной файловой системе будет выводится в одну строку;

\--sync – отправка системного вызова перед получением информации об использовании пространства на диске;

-t, --type – вывод информации о файловых системах указанного типа;

-x, --exclude type – не показывать информацию о файловых системах указанного типа.

Наиболее часто используется опция –h, поскольку она оказывает данные в килобайтах.

Вводим команду

```
# df -h
```

В качестве вывода получаем более понятную картину

```
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 4.5G 787M 3.5G 19% /
udev 10M 0 10M 0% /dev
tmpfs 201M 4.4M 196M 3% /run
tmpfs 501M 0 501M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 501M 0 501M 0% /sys/fs/cgroup
/dev/sda2 923M 219M 641M 26% /var
/dev/sda3 1.9G 2.9M 1.7G 1% /home
```

Чтобы получить информацию о всех смонтированных файловых системах, прописываем

```
# df –a
```

Получаем вывод (первые 10 строк)

```
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs - - - - /
sysfs 0 0 0 - /sys
proc 0 0 0 - /proc
udev 10240 0 10240 0% /dev
devpts 0 0 0 - /dev/pts
tmpfs 204876 4500 200376 3% /run
/dev/sda1 4673664 805492 3607720 19% /
securityfs 0 0 0 - /sys/kernel/security
tmpfs 512184 0 512184 0% /dev/shm
```

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

```
# df –x tmpfs
```

Наш список существенно уменьшился

```
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 4673664 805492 3607720 19% /
udev 10240 0 10240 0% /dev
/dev/sda2 945144 223592 656324 26% /var
/dev/sda3 1889292 2904 1772368 1% /home
```

Можно задать файловую систему на свое усмотрение

```
root@debian:~# df -t ext4
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 4673664 805492 3607720 19% /
/dev/sda2 945144 223592 656324 26% /var
/dev/sda3 1889292 2904 1772368 1% /home
```

Или указать интересующий раздел

```
root@debian:~# df -h /dev/sda
Filesystem Size Used Avail Use% Mounted on
udev 10M 0 10M 0% /dev
```

Используя опцию –i, мы можем получить данные о состоянии inode заданной нами директории.

```
root@debian:~# df -hi /dev/sda
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 123K 332 123K 1% /dev
```

Утилита **du (disk usage)** – используется для оценки занимаемого файлового пространства. Показывает размер файлов и каталогов, как в совокупности, так и по отдельности.

Синтаксис команды

```
# du опции файл/устройство
```

**Основные опции**

-a, --all – выдавать размеры всех файлов в системе;

-b, --bytes – вывод информации в байтах;

-с, --total – показ данных об том, как используется дисковая память в целом (выводится в последней строке);

-k, --kilobytes – вывод информации в килобайтах (по умолчанию);

-s, --summarize – вывод суммарного итога для каждого аргумента;

-h, --human-readable – добавление указание буквы размера, например, М – мемибайт и т.д.

Так будет выглядеть вывод при введении команды (первые десять строк)

```
# du –a
4 ./dir1/dir2/dir3/dir4/dir5
8 ./dir1/dir2/dir3/dir4
12 ./dir1/dir2/dir3
16 ./dir1/dir2
20 ./dir1
4 ./.viminfo
4 ./archive-directory/dir1/dir2/dir3/dir4/dir5
8 ./archive-directory/dir1/dir2/dir3/dir4
12 ./archive-directory/dir1/dir2/dir3
16 ./archive-directory/dir1/dir2
```

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

```
root@debian:~# du -ah
4.0K ./dir1/dir2/dir3/dir4/dir5
8.0K ./dir1/dir2/dir3/dir4
12K ./dir1/dir2/dir3
16K ./dir1/dir2
20K ./dir1
4.0K ./.viminfo
4.0K ./archive-directory/dir1/dir2/dir3/dir4/dir5
8.0K ./archive-directory/dir1/dir2/dir3/dir4
12K ./archive-directory/dir1/dir2/dir3
16K ./archive-directory/dir1/dir2
```

Проверяем, сколько места у нас занимает каталог dir1

Пишем команду

```
# du -ch /root/dir1
```

Получаем вывод в килобайтах

```
4.0K /root/dir1/dir2/dir3/dir4/dir5
8.0K /root/dir1/dir2/dir3/dir4
12K /root/dir1/dir2/dir3
16K /root/dir1/dir2
20K /root/dir1
20K total
```

С помощью этой команды можем посмотреть дату создания/изменения файлов и каталогов

```
# du -ha --time /root/dir1
```

Получаем вывод

```
4.0K 2017-07-14 16:03 /root/dir1/dir2/dir3/dir4/dir5
8.0K 2017-07-14 16:03 /root/dir1/dir2/dir3/dir4
12K 2017-07-14 16:03 /root/dir1/dir2/dir3
16K 2017-07-14 16:03 /root/dir1/dir2
20K 2017-10-03 13:28 /root/dir1
```

**Важно!** Если не ввести ключи –а или –s, выдается информация только о размерах каталогов.

## **Дополнительная литература**

{% embed url="<https://zalinux.ru/?p=4904>" %}

{% embed url="<https://zalinux.ru/?p=4895>" %}

{% embed url="<https://losst.pro/razmetka-diskov-v-linux>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://antons-organization-1.gitbook.io/administrirovanie-linux/upravlenie-failami/sozdanie-razdela-diska-v-linux/montirovanie-i-razmetka-diska.-prosmotr-razmera-diska.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
