Загрузка данных


Отлично. Тогда соберём это не как набор команд, а как **теоретическую картину**, чтобы ты понимал, что именно происходило с диском на каждом этапе и мог объяснить это преподавателю.

---

# 1. Главная идея: диск → раздел → файловая система → монтирование

Это самое важное, что нужно понять.

Когда ты подключил новый виртуальный диск на 100 ГБ, он прошёл через несколько независимых этапов:

```text
Виртуальный HDD 100 ГБ
        │
        ▼
      /dev/sdb
        │
        │ разметка fdisk
        ▼
 ┌──────────────┬──────────────┐
 │   /dev/sdb1  │   /dev/sdb2  │
 │     ~50 ГБ   │     ~50 ГБ   │
 └──────────────┴──────────────┘
        │                │
        │ mkfs.ext4      │ mkfs.xfs
        ▼                ▼
      ext4              XFS
        │                │
        │ mount          │ mount
        ▼                ▼
 /mnt/fam_ext      /mnt/fam_xfs
```

И вот здесь важно различать четыре понятия:

### Диск

Физический или виртуальный накопитель:

```text
/dev/sdb
```

### Раздел

Часть диска:

```text
/dev/sdb1
/dev/sdb2
```

### Файловая система

Способ организации файлов внутри раздела:

```text
ext4
xfs
```

### Точка монтирования

Каталог, через который файловая система становится доступной:

```text
/mnt/fam_ext
/mnt/fam_xfs
```

---

# 2. Что такое `/dev`

`/dev` — один из важнейших каталогов Linux.

В нём находятся **файлы устройств**.

Например:

```text
/dev/sda
/dev/sdb
/dev/sdb1
/dev/sdb2
```

Это не обычные файлы с содержимым диска.

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

Поэтому:

```text
/dev/sdb
```

означает:

> устройство, соответствующее второму диску.

А:

```text
/dev/sdb1
```

означает:

> первый раздел второго диска.

---

# 3. Как Linux называет диски

В классической схеме:

```text
/dev/sda
/dev/sdb
/dev/sdc
/dev/sdd
```

То есть:

```text
a → первый диск
b → второй
c → третий
d → четвёртый
```

Разделы получают номер:

```text
/dev/sda1
/dev/sda2

/dev/sdb1
/dev/sdb2
```

Однако в современных системах ты также можешь встретить:

```text
/dev/nvme0n1
/dev/nvme0n1p1
/dev/nvme0n1p2
```

Это NVMe-накопители.

Здесь:

```text
nvme0n1
```

— сам диск,

а:

```text
nvme0n1p1
```

— его первый раздел.

---

# 4. Что произошло, когда мы добавили диск

Когда ты создал виртуальный HDD в VirtualBox, гипервизор предоставил виртуальной машине новое блочное устройство.

Linux обнаружил его и создал соответствующий device node:

```text
/dev/sdb
```

Важно:

**Linux обнаружил диск, но это ещё не означает, что на нём есть файловая система.**

На начальном этапе это был просто:

```text
/dev/sdb
100 ГБ
```

Практически пустой накопитель.

---

# 5. Что такое блочное устройство

Диски относятся к **block devices**.

Можно посмотреть:

```bash
ls -l /dev/sdb
```

или:

```bash
lsblk
```

Блочные устройства работают с данными блоками.

Другой распространённый тип устройств — **character devices**.

Например:

```text
/dev/tty
/dev/null
```

Упрощённо:

* block device → диски, SSD, разделы;
* character device → устройства, работающие с потоками символов/байтов.

---

# 6. Зачем нужна разметка диска

Изначально у нас:

```text
/dev/sdb
┌────────────────────────────────────┐
│              100 GB                │
└────────────────────────────────────┘
```

Мы захотели получить два отдельных раздела:

```text
/dev/sdb
┌──────────────────┬─────────────────┐
│     sdb1         │      sdb2       │
│      50 GB       │       50 GB     │
└──────────────────┴─────────────────┘
```

Для этого используется **таблица разделов**.

Она хранит информацию о том:

* где начинается раздел;
* где заканчивается;
* какой у него тип;
* какой размер;
* какие характеристики он имеет.

---

# 7. Что такое `fdisk`

`fdisk` — консольная программа для управления таблицами разделов.

Мы запускали:

```bash
sudo fdisk /dev/sdb
```

То есть сказали:

> «Работай с таблицей разделов диска `/dev/sdb`».

Важно понимать:

**`fdisk` не создаёт файловую систему.**

Он только создаёт/изменяет **разделы**.

То есть:

```text
fdisk
   ↓
/dev/sdb1
/dev/sdb2
```

А уже:

```text
mkfs.ext4
mkfs.xfs
```

создают файловые системы.

---

# 8. Что такое таблица разделов

Таблица разделов — это структура на самом диске, описывающая его разделы.

Сегодня наиболее распространены:

### MBR

Старый формат.

Ограничения:

* максимум 4 primary-раздела;
* ограничение на размер диска примерно 2 ТБ при классическом использовании;
* используется в старых системах.

### GPT

Современный стандарт.

Преимущества:

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

На современных системах обычно используется **GPT**.

---

# 9. Что делает команда `n` в fdisk

Когда мы вводили:

```text
n
```

мы говорили:

> New partition — создать новый раздел.

После этого `fdisk` спрашивал:

```text
Partition number
First sector
Last sector
```

---

# 10. Что такое сектор

Диск физически/логически разделён на небольшие блоки адресуемого пространства — сектора.

Например:

```text
Sector 2048
Sector 2049
Sector 2050
...
```

Поэтому `fdisk` позволяет указать:

```text
First sector
Last sector
```

Когда мы написали:

```text
+50G
```

мы фактически сказали:

> Сделай этот раздел размером примерно 50 ГБ.

---

# 11. Почему после `fdisk` появились `sdb1` и `sdb2`

Потому что мы изменили таблицу разделов:

```text
/dev/sdb
```

превратился логически в:

```text
/dev/sdb1
/dev/sdb2
```

Но **разделы всё ещё не были готовы для хранения файлов**.

Это очень важный момент.

После `fdisk`:

```text
sdb1 → раздел
sdb2 → раздел
```

Но ещё не:

```text
sdb1 → ext4
sdb2 → xfs
```

---

# 12. Что делает `mkfs`

`mkfs` означает:

> **make filesystem**

То есть создать файловую систему.

Например:

```bash
sudo mkfs.ext4 /dev/sdb1
```

означает:

> Создать файловую систему ext4 на разделе `/dev/sdb1`.

А:

```bash
sudo mkfs.xfs /dev/sdb2
```

означает:

> Создать XFS на `/dev/sdb2`.

---

# 13. Что происходит при создании файловой системы

Это гораздо интереснее, чем кажется.

Файловая система создаёт на разделе собственные структуры данных.

Условно:

```text
/dev/sdb1
┌──────────────────────────────────────┐
│ метаданные файловой системы          │
├──────────────────────────────────────┤
│ информация о файлах                  │
├──────────────────────────────────────┤
│ таблицы/структуры                    │
├──────────────────────────────────────┤
│ данные файлов                        │
├──────────────────────────────────────┤
│ ...                                  │
└──────────────────────────────────────┘
```

Файловая система отвечает за:

* имена файлов;
* каталоги;
* права доступа;
* владельцев;
* размеры;
* расположение данных;
* свободное место;
* метаданные.

---

# 14. Что такое inode

Особенно важно для ext4.

Файл — это не просто:

```text
имя → данные
```

Файловая система должна хранить информацию о файле:

* размере;
* владельце;
* правах;
* времени создания/изменения;
* где находятся его блоки данных.

В Unix-подобных файловых системах значительная часть этой информации хранится в **inode**.

Упрощённо:

```text
filename
   │
   ▼
 inode
   │
   ├── owner
   ├── permissions
   ├── size
   ├── timestamps
   └── pointers → blocks with data
```

При этом имя файла и inode — концептуально разные вещи.

---

# 15. Что такое ext4

**ext4** — одна из основных файловых систем Linux.

Название:

> Fourth Extended Filesystem.

То есть четвёртая версия семейства ext.

Характеристики ext4:

* журналирование;
* поддержка больших файлов;
* поддержка больших файловых систем;
* inode;
* extents;
* хорошая универсальность;
* широко используется в Linux.

---

# 16. Что такое журналирование

ext4 является **journaling filesystem**.

Идея примерно такая.

Представим, что система выполняет сложную операцию записи.

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

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

Упрощённо:

```text
Операция
   ↓
journal
   ↓
изменение ФС
```

После сбоя система может использовать журнал для восстановления согласованности.

---

# 17. Что такое XFS

**XFS** — высокопроизводительная журналируемая файловая система Linux.

Она особенно хорошо подходит для:

* больших файлов;
* больших файловых систем;
* серверов;
* больших объёмов данных;
* высоких нагрузок на ввод-вывод.

У XFS есть важная особенность:

> **XFS нельзя штатно уменьшить.**

То есть:

```text
100 GB XFS
   ↓
50 GB
```

сделать простым уменьшением файловой системы нельзя.

Обычно нужно создавать новую файловую систему нужного размера и переносить данные.

---

# 18. ext4 vs XFS

| Характеристика  | ext4             | XFS                            |
| --------------- | ---------------- | ------------------------------ |
| Linux           | Да               | Да                             |
| Журналирование  | Да               | Да                             |
| Большие файлы   | Да               | Да                             |
| Серверы         | Да               | Да                             |
| Можно увеличить | Да               | Да                             |
| Можно уменьшить | Да               | Нет                            |
| Универсальность | Очень высокая    | Очень высокая                  |
| Использование   | Общее назначение | Часто серверные/большие данные |

Не стоит воспринимать это как:

> XFS хорошая, ext4 плохая.

Это разные инструменты для разных сценариев.

---

# 19. Зачем был нужен `xfsprogs`

Ты устанавливал:

```bash
sudo apt install xfsprogs
```

`xfsprogs` содержит инструменты для работы с XFS.

Например:

```bash
mkfs.xfs
xfs_info
xfs_repair
xfs_growfs
```

Поэтому после установки стало возможно выполнить:

```bash
sudo mkfs.xfs /dev/sdb2
```

---

# 20. Что такое UUID

После создания файловой системы у неё появляется идентификатор:

```text
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
```

UUID — **Universally Unique Identifier**.

Посмотреть его можно:

```bash
blkid
```

или:

```bash
lsblk -f
```

Например:

```text
/dev/sdb1
UUID="1234-5678..."
TYPE="ext4"

/dev/sdb2
UUID="abcd-efgh..."
TYPE="xfs"
```

---

# 21. Почему `fstab` использует UUID

Можно было написать:

```text
/dev/sdb1 /mnt/fam_ext ext4 defaults 0 2
```

Но это не лучший вариант.

Потому что имена устройств могут измениться.

Сегодня:

```text
/dev/sdb
```

завтра устройство в другой конфигурации может оказаться:

```text
/dev/sdc
```

UUID файловой системы при этом остаётся тем же.

Поэтому:

```text
UUID=...
```

надёжнее.

---

# 22. Что такое монтирование

Вот это одна из **самых важных концепций Linux**.

В Windows ты привык:

```text
C:\
D:\
E:\
```

В Linux нет такого принципа.

Есть **единое дерево каталогов**, начинающееся с:

```text
/
```

Новый диск не становится автоматически:

```text
D:\
```

Вместо этого его файловая система подключается к существующему каталогу.

Например:

```text
/mnt/fam_ext
```

---

# 23. Что произошло при `mount`

Мы выполнили:

```bash
sudo mount /dev/sdb1 /mnt/fam_ext
```

Это означает:

> Возьми файловую систему, находящуюся на `/dev/sdb1`, и подключи её к каталогу `/mnt/fam_ext`.

До монтирования:

```text
/mnt/fam_ext
```

был обычным каталогом.

После:

```text
/mnt/fam_ext
       │
       ▼
    /dev/sdb1
       │
       ▼
      ext4
```

Теперь содержимое `/dev/sdb1` доступно через:

```text
/mnt/fam_ext
```

---

# 24. А что происходит со старыми файлами каталога?

Это интересный момент.

Если в:

```text
/mnt/fam_ext
```

были какие-то файлы, а потом туда смонтировали файловую систему, эти файлы **не удаляются**, но становятся временно невидимыми.

Почему?

Потому что поверх каталога появилась смонтированная файловая система.

После `umount` они снова станут видны.

---

# 25. `mount` и `umount`

Монтирование:

```bash
mount
```

Размонтирование:

```bash
umount
```

Например:

```bash
sudo umount /mnt/fam_ext
```

Обрати внимание:

команда называется **`umount`**, а не `unmount`.

---

# 26. Почему нельзя просто так размонтировать занятую файловую систему

Если какой-нибудь процесс использует:

```text
/mnt/fam_ext
```

Linux может сказать:

```text
target is busy
```

Например, если ты находишься внутри:

```bash
cd /mnt/fam_ext
```

и пытаешься:

```bash
sudo umount /mnt/fam_ext
```

может возникнуть проблема.

Нужно сначала выйти:

```bash
cd ~
```

и потом размонтировать.

---

# 27. Что такое `/mnt`

`/mnt` — стандартное место для **временного/ручного монтирования файловых систем**.

Например:

```text
/mnt/fam_ext
/mnt/fam_xfs
```

Также существует:

```text
/media
```

который часто используется для автоматически подключаемых съёмных носителей.

---

# 28. Важные каталоги Linux

Это тоже стоит знать.

## `/`

Корень файловой системы.

Всё начинается здесь:

```text
/
```

---

## `/bin`

Основные пользовательские команды.

В современных Debian `/bin` часто является символической ссылкой на `/usr/bin`.

Например:

```text
/bin/ls
/bin/cp
/bin/mv
```

---

## `/sbin`

Системные административные программы.

Например:

```text
/sbin/fsck
```

В современных Debian также часто связан с `/usr/sbin`.

---

## `/etc`

**Конфигурация системы.**

Очень важный каталог.

Например:

```text
/etc/fstab
/etc/hosts
/etc/passwd
/etc/ssh/
```

В нашей лабораторной именно здесь находится:

```text
/etc/fstab
```

---

# 29. `/home`

Домашние каталоги пользователей:

```text
/home
├── user1
├── user2
└── nasyrov
```

Например:

```text
/home/nasyrov
```

---

# 30. `/root`

Домашний каталог суперпользователя `root`.

Не путать:

```text
/
```

и:

```text
/root
```

`/` — корень всей файловой системы.

`/root` — домашний каталог пользователя root.

---

# 31. `/var`

Переменные данные:

```text
/var/log
/var/cache
/var/lib
```

Например:

```text
/var/log
```

содержит журналы системы и программ.

---

# 32. `/tmp`

Временные файлы.

```text
/tmp
```

Используется программами для временных данных.

---

# 33. `/usr`

Один из крупнейших каталогов Linux.

В нём находятся:

* программы;
* библиотеки;
* документация;
* другие ресурсы.

Например:

```text
/usr/bin
/usr/lib
/usr/share
```

---

# 34. `/dev`

Представление устройств:

```text
/dev/sda
/dev/sdb
/dev/null
/dev/random
```

---

# 35. `/proc`

Очень интересный каталог.

Это **виртуальная файловая система**, предоставляющая информацию о ядре и процессах.

Например:

```text
/proc/cpuinfo
/proc/meminfo
/proc/1/
```

Это не обычные файлы, лежащие на диске.

---

# 36. `/sys`

Ещё одна виртуальная файловая система.

Она предоставляет информацию о:

* устройствах;
* драйверах;
* ядре;
* аппаратных компонентах.

---

# 37. `/run`

Временные данные работающей системы:

```text
/run
```

Например:

* PID-файлы;
* Unix sockets;
* runtime information.

---

# 38. Что такое `/etc/fstab`

Название исторически означает:

> **filesystem table**

То есть таблица файловых систем.

Файл:

```text
/etc/fstab
```

описывает файловые системы, которые должны автоматически подключаться системой.

Пример:

```text
UUID=... /mnt/fam_ext ext4 defaults 0 2
UUID=... /mnt/fam_xfs xfs defaults 0 2
```

---

# 39. Структура строки `fstab`

У нас:

```text
UUID=... /mnt/fam_ext ext4 defaults 0 2
```

Есть шесть полей:

```text
┌──────────┬──────────────┬──────┬──────────┬─────┬─────┐
│ device   │ mount point  │ type │ options  │dump │fsck │
└──────────┴──────────────┴──────┴──────────┴─────┴─────┘
```

### 1. Device

```text
UUID=...
```

Что монтировать.

### 2. Mount point

```text
/mnt/fam_ext
```

Куда.

### 3. Filesystem type

```text
ext4
```

Какая файловая система.

### 4. Options

```text
defaults
```

Параметры монтирования.

### 5. Dump

```text
0
```

Не использовать старый механизм `dump`.

### 6. fsck

```text
2
```

Порядок проверки файловой системы.

---

# 40. Что означает `defaults`

Это набор стандартных параметров монтирования.

Обычно включает:

* `rw` — read/write;
* `suid`;
* `dev`;
* `exec`;
* `auto`;
* `nouser`;
* `async`.

То есть:

```text
defaults
```

— стандартное поведение.

---

# 41. Что такое `fsck`

`fsck`:

> **filesystem check**

Инструмент проверки файловой системы.

Условно:

```text
fsck
 │
 ├── обнаруживает проблемы
 └── пытается исправить их
```

Для ext4 используется соответствующий механизм проверки, например `e2fsck`.

Для XFS применяется собственный инструмент:

```text
xfs_repair
```

---

# 42. Почему в `fstab` стоит `0 2`

Мы уже обсуждали:

```text
0
```

— не использовать `dump`.

А:

```text
2
```

— при необходимости проверять файловую систему после корневой.

Обычно:

```text
/ → 1
остальные локальные ФС → 2
не проверять → 0
```

---

# 43. Зачем нужен `mount -a`

Очень полезная команда:

```bash
sudo mount -a
```

`-a` означает:

> Mount all.

Linux читает `/etc/fstab` и пытается смонтировать файловые системы, которые там указаны и должны автоматически монтироваться.

Поэтому после изменения:

```text
/etc/fstab
```

можно не перезагружать компьютер.

Просто:

```bash
sudo mount -a
```

Если ошибок нет — конфигурация, скорее всего, корректна.

---

# 44. Как проверить диски

### `lsblk`

Главный инструмент для просмотра блочных устройств:

```bash
lsblk
```

Более информативно:

```bash
lsblk -f
```

Показывает:

* устройство;
* раздел;
* файловую систему;
* UUID;
* точку монтирования.

---

### `blkid`

```bash
sudo blkid
```

Показывает:

* UUID;
* тип файловой системы;
* иногда label.

---

### `df`

```bash
df -h
```

Показывает **использование смонтированных файловых систем**.

Например:

```text
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1        50G  100M   47G   1% /mnt/fam_ext
```

Ключ:

```text
-h
```

означает human-readable.

---

### `du`

А вот `du` отвечает уже за использование места **конкретными файлами/каталогами**.

Например:

```bash
du -sh /mnt/fam_ext
```

---

# 45. Разница между `df` и `du`

Очень полезно запомнить:

```text
df → сколько занято на файловой системе
du → сколько занимают конкретные файлы
```

Например:

```bash
df -h /mnt/fam_ext
```

и:

```bash
du -sh /mnt/fam_ext
```

отвечают на немного разные вопросы.

---

# 46. Что такое `sudo`

Мы постоянно использовали:

```bash
sudo fdisk ...
sudo mkfs...
sudo mount...
```

`sudo` позволяет выполнить команду с правами другого пользователя, обычно `root`.

Работа с:

* дисками;
* файловыми системами;
* `/etc`;
* монтированием

обычно требует административных прав.

---

# 47. Почему нельзя бездумно использовать `mkfs`

Команда:

```bash
mkfs.ext4 /dev/sdb1
```

**создаёт новую файловую систему и фактически уничтожает существующую файловую систему на этом разделе.**

Поэтому очень опасно перепутать:

```text
/dev/sdb1
```

с:

```text
/dev/sda1
```

Если сделать:

```bash
sudo mkfs.ext4 /dev/sda1
```

на системном разделе, последствия будут совсем другими.

Поэтому перед работой с дисками всегда:

```bash
lsblk
```

---

# 48. Полный жизненный цикл диска

Теперь можешь мысленно воспроизвести всю лабораторную:

### Шаг 1. Гипервизор

Создаём:

```text
Virtual HDD 100 GB
```

↓

### Шаг 2. Linux обнаруживает устройство

```text
/dev/sdb
```

↓

### Шаг 3. Размечаем диск

```text
fdisk /dev/sdb
```

↓

Получаем:

```text
/dev/sdb1
/dev/sdb2
```

↓

### Шаг 4. Создаём файловые системы

```text
sdb1 → ext4
sdb2 → XFS
```

↓

### Шаг 5. Создаём точки монтирования

```text
/mnt/fam_ext
/mnt/fam_xfs
```

↓

### Шаг 6. Монтируем

```text
sdb1 → /mnt/fam_ext
sdb2 → /mnt/fam_xfs
```

↓

### Шаг 7. Получаем UUID

```bash
blkid
```

↓

### Шаг 8. Записываем в `/etc/fstab`

```text
UUID=... /mnt/fam_ext ext4 defaults 0 2
UUID=... /mnt/fam_xfs xfs defaults 0 2
```

↓

### Шаг 9. Проверяем

```bash
mount -a
```

↓

### Шаг 10. Проверяем результат

```bash
lsblk -f
df -h
```

---

# 49. Что нужно уметь объяснить преподавателю

Если это лабораторная защита, я бы особенно хорошо выучил следующие вопросы.

### «Чем диск отличается от раздела?»

**Диск** — весь накопитель:

```text
/dev/sdb
```

**Раздел** — выделенная область диска:

```text
/dev/sdb1
```

---

### «Чем раздел отличается от файловой системы?»

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

---

### «Что делает `fdisk`?»

Создаёт и изменяет таблицу разделов. Саму файловую систему он не создаёт.

---

### «Что делает `mkfs.ext4`?»

Создаёт файловую систему ext4 на указанном разделе.

---

### «Что такое mount?»

Подключает файловую систему к определённой точке дерева каталогов Linux.

---

### «Почему `/dev/sdb1` можно смонтировать в `/mnt/fam_ext`?»

Потому что `/dev/sdb1` — устройство, содержащее файловую систему, а `/mnt/fam_ext` — точка, через которую эта файловая система становится доступной пользователю.

---

### «Почему используется UUID?»

Чтобы однозначно идентифицировать файловую систему независимо от имени устройства вроде `/dev/sdb1`.

---

### «Для чего `/etc/fstab`?»

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

---

### «Что делает `mount -a`?»

Пытается смонтировать файловые системы из `/etc/fstab`, которые ещё не смонтированы и которым разрешено автоматическое монтирование.

---

### «Что такое ext4 и XFS?»

Это файловые системы Linux.

---

### «Зачем `xfsprogs`?»

Это пакет с инструментами для работы с XFS.

---

### «Что такое `/mnt`?»

Стандартный каталог для временных/ручных точек монтирования.

---

### «Что такое `/dev`?»

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

---

# 50. Самая важная схема для запоминания

Если тебе нужно оставить в голове **одну схему**, то вот эту:

```text
                   ДИСК
                /dev/sdb
                    │
             ┌──────┴──────┐
             │  fdisk      │
             ▼             ▼
          /dev/sdb1     /dev/sdb2
             │             │
          mkfs.ext4     mkfs.xfs
             │             │
            ext4           XFS
             │             │
           mount          mount
             │             │
             ▼             ▼
      /mnt/fam_ext   /mnt/fam_xfs
             │             │
             └──────┬──────┘
                    │
               /etc/fstab
                    │
                    ▼
          автоматическое
           монтирование
```

А рядом держи в голове:

```text
fdisk   → разделы
mkfs    → файловая система
mount   → подключение ФС к каталогу
fstab   → автоматическое подключение
UUID    → идентификатор ФС
lsblk   → посмотреть диски
blkid   → посмотреть UUID и ФС
df      → посмотреть использование ФС
umount  → отключить ФС
```

Если ты понимаешь именно эту цепочку, то ты уже не просто «выполнил команды по инструкции», а понимаешь, **как Linux превращает пустой виртуальный диск в доступное файловое хранилище**.