Администрирование систем Linux. Разделы жестких дисков
Оригинал: Disk partitions
Автор: Paul Cobbaut
Дата публикации: 12 марта 2015 г.
Перевод: A. Панин
Дата перевода: 29 марта 2015 г.
Глава 5. Разделы жестких дисков
Прочитав данную главу, вы будете подготовлены к чтению следующей главы, в которой будет описываться процесс создания файловых систем в подготовленных разделах.
5.1. Информация о разделах жестких дисков
5.1.1. Первичные, расширенные и логические разделы
Для корректного функционирования дистрибутива Linux вам потребуется создать один или несколько разделов (partitions) на жестком диске. Далее будут приведены подробные пояснения относительно создания и использования разделов жестких дисков.
Геометрия раздела (geometry), а также его размер обычно описываются с помощью номеров начального и конечного цилиндра (а иногда начального и конечного сектора). Разделы могут быть первичными (primary, максимум четыре), расширенными (extended, максимум один) или логическими (logical, размещаются внутри расширенного раздела). Каждый раздел имеет поле типа, которое содержит соответствующий код. Данный код позволяет идентифицировать операционную систему компьютера или файловую систему раздела.
Таблица 5.1. Первичные, расширенные и логические разделы
| Тип раздела | Порядковый номер |
|---|---|
| Первичный (максимум 4) | 1-4 |
| Расширенный (максимум 1) | 1-4 |
| Логический | 5- |
5.1.2. Имена файлов устройств, соответствующих разделам
Таблица 5.2. Имена файлов устройств, соответствующих разделам
| Раздел | Устройство |
|---|---|
| /dev/hda1 | Первый первичный раздел на устройстве, представленном файлом /dev/hda |
| /dev/hda2 | Второй первичный раздел или расширенный раздел на устройстве, представленном файлом /dev/hda |
| /dev/sda5 | Первый логический раздел на устройстве, представленном файлом /dev/sda |
| /dev/sdb6 | Второй логический раздел на устройстве, представленном файлом /dev/sdb |
На рисунке ниже представлены схематичные изображения двух жестких дисков (с вращающимися шпинделями) с разделами. Обратите внимание на то, что расширенный раздел выступает в роли контейнера, содержащего логические разделы.
5.2. Обнаружение разделов жестких дисков
5.2.2. Файл /proc/partitions
Дополнительный номер устройства является уникальным идентификатором экземпляра устройства данного типа. Файл devices.txt в дереве исходного кода ядра Linux содержит полный список основных и дополнительных номеров устройств.
5.2.3. Parted и другие утилиты
Ниже приведен пример использования утилиты parted при работе с дистрибутивом CentOS.
5.3. Создание разделов на новых дисках
5.3.1. Обнаружение жесткого диска
5.3.2. Открытие дискового устройства с помощью утилиты fdisk
После этого мы можем приступить к созданию раздела на жестком диске, представленном файлом устройства /dev/sdb, с помощью утилиты fdisk. Для начала мы должны передать путь к файлу устройства /devsdb в качестве параметра утилиты fdisk. Следует проявить крайнюю осторожность и убедиться еще раз в том, что вы создаете раздел именно на новом диске!!
5.3.3. Пустая таблица разделов
Работая с инструментом fdisk, вы можете выполнить команду p для того, чтобы ознакомиться с текущей таблицей разделов диска.
5.3.4. Создание нового раздела
На данный момент на диске не существует разделов, поэтому мы должны выполнить команду n для создания нового раздела. Мы будем вводить символ p для создания первичного раздела и число 1 в качестве номера раздела, а также число 1 в качестве номера начального цилиндра и число 14 в качестве номера конечного цилиндра.
Теперь мы снова можем выполнить команду p для проверки внесенных нами изменений, причем эти изменения еще не записаны на диск, поэтому мы все еще можем отменить эту операцию! Так как внесенные изменения кажутся нам корректными, мы можем выполнить команду w для записи изменений на диск с последующим завершением работы утилиты fdisk.
5.3.5. Вывод информации о новом разделе
5.4. О таблице разделов
5.4.1. Основная загрузочная запись
Информация из таблицы разделов (об основных и расширенных разделах) записывается в основную загрузочную запись (Master Boot Record или MBR). Вы можете использовать утилиту dd для копирования данных из основной загрузочной записи в файл.
В данном примере осуществляется копирование основной загрузочной записи с первого жесткого диска с интерфейсом SCSI.
Этот же инструмент также может использоваться для удаления всей информации о разделах на диске. В данном примере область основной загрузочной записи заполняется нулевыми байтами.
Или удаления всей информации из раздела на жестком диске или со всего диска.
5.4.2. Утилита partprobe
5.4.3. Логические разделы
В данном примере показана методика создания резервной копии таблицы всех разделов жесткого диска, включая логические, с записью данных в файл.
А в данном примере осуществляется копирование основной загрузочной записи и информации обо всех логических разделах с устройства, представленного файлом /dev/sda, на устройство, представленное файлом /dev/sdb.
5.5. Практическое задание: разделы жестких дисков
4. Создайте основной раздел размером в 200 МБ на жестком диске малого объема.
5. Создайте основной раздел размером в 400 МБ и два логических раздела размером в 300 МБ каждый на жестком диске большого объема.
9. Создайте резервную копию таблицы разделов, содержащей информацию о вашем первичном разделе размером в 400 МБ и о логических разделах размером в 300 МБ каждый. Убедитесь в том, что информация о логических разделах добавлена в файл резервной копии таблицы разделов.
10. (дополнительное задание). Удалите информацию обо всех ваших разделах с помощью утилиты fdisk. После этого восстановите ее из файлов резервных копий.
5.6. Корректная процедура выполнения практического задания: разделы жестких дисков
3. Сравните вывод утилиты fdisk с выводом утилиты df.
Информация о некоторых разделах жестких дисков будет присутствовать в выводах обоих утилит (возможно, одним из таких разделов будет раздел, представленный файлом устройства /dev/sda1 или /dev/hda1).
4. Создайте основной раздел размером в 200 МБ на жестком диске малого объема.
Выберите один из добавленных ранее дисков (в данном примере используется диск, представленный файлом устройства /dev/sdc).
5. Создайте основной раздел размером в 400 МБ и два логических раздела размером в 300 МБ каждый на жестком диске большого объема.
Выберите один из добавленных ранее дисков (в данном примере используется диск, представленный файлом устройства /dev/sdb).
10 (дополнительное задание). Удалите информацию обо всех ваших разделах с помощью утилиты fdisk. После этого восстановите ее из файлов резервных копий.
ИТ База знаний
Полезно
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Работа с жесткими дисками в Linux
В статье, мы разберем как работать в операционной системе Linux с HDD, Logical Volume и все что с этим связанно. А также рассмотрим утилиты для работы с HDD. Разберем, что такое LVM.
Вводная
Директория «/opt» в данной директории находится программное обеспечение от третьих поставщиков. Некоторые серверные дистрибутивы тоже хранят ее на отдельном логическом разделе.
Директория «/var» здесь хранятся все часто меняющиеся данные. Например, логи различного программного обеспечения или изменяющиеся программные данные. Возможно для этой директории имеет смысл использовать быстрые диски, например, SSD. Потому, что к ним будет идти очень частое обращение программного обеспечения.
Директория «/usr» в ней находятся все установленные пакеты программ, документация и исходный код ядра. Чаще всего данная директория смонтирована вообще в режиме «только чтения» и в принципе она может быть расположена вообще на каком ни будь медленном диске или папке в сети.
Директория «/tmp» предназначена для хранения временных файлов. Важной особенностью данной папки является то, что хранящиеся файлы в ней, будут удалены в случае перезагрузки машины. Т.е при перезагрузки данная папка очищается автоматически. Существует еще один отдельный раздел подкачки swap. Обычно операционная система windows использует файл подкачки, то Linux чаще всего использует раздел подкачки, хотя может использовать и файл. Данный раздел не монтируется в нашу файловую систему, он просто существует отдельно.
Как это выглядит в консоли.


Начать работать со вторым жестким диском, необходимо сначала указать, как определенный файл. Устройства лежат в директории «/dev«. Пишем команду fdisk /dev/sdb
Получается следующая картина:

А нажав букву m мы можем получить доступ к справке по работе с данной утилитой. Как можно заметить функционал утилиты достаточно обширен. Можно добавлять партиции, можно удалять партиции. Следующим шагом необходимо создать новый раздел. Выбираем опцию n. Далее предлагается выбор primary или extended. Мы выбираем primary ключ p. Далее выбираем номер раздела 1-4. Например, 1. Далее система спрашивает где будет (на каком секторе) начинаться разметка раздела. Можно выбрать по умолчанию. На следующем шаге мы можем указать сектор, но это крайне неудобно, проще указать сколько мы хотим выделить под размер, например, +10G. И этот раздел станет 10 гигабайт.

Попробуем второй вариант с созданием раздела, он будет расширенный (extended). Выбираем ключ e, выбираем 2 раздел. Выбираем с какого сектора он начнется. Следующим шагом +8G. Мы создали расширенный диск на 8 GB. Далее создаем sdb3 на оставшихся 2 GB. А также 8GB расширенного диска разбиваем на 2 логических по 4 GB каждый. Все операции одинаковые. В после создания последнего раздела выбираем опцию w. Которая записывает все изменения.
В итоге
Прежде чем использовать эти разделы их необходимо отформатировать.

Теперь немного, о разделе подкачки swap.

Командой cat /etc/fstab мы можем посмотреть, какие разделы монтируются при загрузке. Выглядит это примерно так:

Создадим новую директорию командой mkdir mounted и смонтируем туда раздел. Например, /dev/sdb5. Используем команду mount /dev/sdb5 /mounted. Чтобы отмонтировать используем команду umount /mounted.

В данном случае на картинке есть, 3 HDD, на каждом есть определенное количество разделов. И мы можем из них собрать группу томов vg1. Которая будет видеть свои разделы, как физические тома, те объединяются в группу томов, а внутри этой группы мы можем создавать логические тома, вообще не указывая где они находятся, и они сами распределяются между дисками. Соответственно на каждом логическом томе будет какая-то файловая система.
Чтобы посмотреть физические тома пользуемся командой pvdisplay. Посмотреть volume group, команда vgdisplay. Посмотреть логические тома lvdisplay.
Удаляем, через fdisk все разделы на жестком диске /dev/sdb. Создаем 2 раздела по 4 ГБ основных с типом 8e, т.е. LVM тип. Создадим физический том командой pvcreate /dev/sdb1, аналогично делаем для второго раздела.
Команда fdisk. Управление разделами жёсткого диска
fdisk (сокращение от “format disk“, форматировать диск) — это наиболее распространенная утилита командной строки для работы с дисками в Linux/Unix системах. При помощи этой команды можно просматривать, создавать, удалять, изменять, копировать и перемещать разделы на жёстком диске, используя простой интерфейс текстовых меню.
Это очень полезный инструмент для выделения пространства для новых разделов, организации пространства на новых дисках, реорганизации старых дисков, а также копирования или перемещения данных на новых дисков. Он позволяет создавать до четырех первичных разделов и некоторое количество логических (расширенных) разделов в зависимости от размера жесткого диска в вашей системе.
Мы рассмотрим ряд базовых команд fdisk для управления таблицей разделов в Linux. Для запуска команды fdisk нужно обладать root-привилегиями (или использовать sudo), иначе будет выведена ошибка “command not found”.
Просмотр всех разделов диска
Просмотр разделов заданного диска
Командный режим
Для получения списка команд, которые fdisk может выполнить на диске, введите “m”. Рассмотрим значение этих команд.
Удаление раздела
Допустим, нам нужно удалить определенный раздел, например, /dev/sda4, с определенного жёсткого диска, например, /dev/sda. Сначала нужно зайти в командный режим:
Затем введите d для удаления раздела. После этого у вас будет запрошен номер раздела для удаления с диска /dev/xvdb. Для удаления раздела номер 2 (то есть, /dev/xvdb2) нужно ввести соответствующую цифру, 2. Затем нужно ввести команду w, чтобы записать таблицу на диск и выйти.
Как мы видим раздел /dev/xvdb2 был удален.
Внимание : будьте осторожны с этой командой, потому что удаление раздела полностью уничтожит все данные на нем.
Создание нового раздела
Войдите в командный режим и введите “n”:
Теперь мы видим на диске /dev/xvdb два раздела.
Также при создании раздела можно указать размер раздела с помощью опции +size
Форматирование раздела
После создания нового раздела не забудьте отформатировать его командой mkfs. Для этого выполните следующую команду:
Проверка размера раздела
Исправление нумерации в таблице разделов
Если вы удалили логический раздел, возможны ошибки вида ‘partition out of order‘ (нарушение порядка разделов) или ‘Partition table entries are not in disk order‘ (записи таблицы разделов не соответствуют порядку дисков). Допустим у нас диск со следующими разделами
Например, при удалении трёх логических разделов xvdb2, xvdb3 и xvdb4 и создании нового раздела можно предположить, что его имя будет xvdb2. Однако, система создаст раздел xvdb3. Это происходит потому, что после удаления раздела xvdb5 будет перемещена на место xvdb2, а свободное пространство — перераспределено в конец.
Для исправления подобных проблем и назначения вновь созданному разделу имени xvdb2 нужно перейти в режим дополнительных функций ( x ) и выполнить экспертную команду ( f) :
Флаг загрузочного раздела
Вы увидите на диске /dev/sda1 флаг загрузочного раздела (звёздочка ‘*’)
Для назначения загрузочного диска нужно также использовать опцию «a». Например назначим загрузочным диск xvda2
Заключение
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Структура директорий Linux. Важные файлы Linux
Особенности организации файлов в Linux
В Linux файловая система организована иначе чем в Windows.
Первое, что бросается в глаза, нет дисков C, D, E и так далее.
Второе, про что часто говорят, но не совсем просто осознать — всё в Linux является файлами. То есть сами файлы, очевидно, являются файлами; директории также являются файлом особого вида; физические устройства (диски, клавиатура, мышь и т. д. — это всё тоже файлы) и даже сетевые соединения — это тоже файлы.
Третье — в Linux есть root. Имеется ввиду корень файловой системы, который обозначается как «/». Ещё в Linux есть главный пользователь, имя которого тоже root — не нужно путаться, это довольно разные вещи. Кстати, ведь ещё есть и директория с именем /root. Говоря про корень файловой системы, имеется ввиду «/», а не «/root».
Где в Linux диски C, D, E?
Допустим имя диска /dev/hdc, что можно сказать о нём? Можно утверждать, что это жёсткий диск и он третий в системе.
Диски могут иметь и другие имена, например, у меня системный диск называется /dev/nvme0n1 — я погуглил, оказывается это новый вид твердотельных дисков NVM Express (NVMe).
Итак, мы уже нашли диск C? Не совсем. Имя /dev/sda это всего лишь обозначение устройства, которое предполагает использование имени для управления самим устройством. Например, если мы хотим создать новый раздел на диске или изменить размеры существующих, то мы откроем соответствующую программу, и в качестве параметра передадим ей имя диска, с которым хотим работать. Мы не можем открывать файлы обращаясь к диску по имени вида /dev/*
Монтирование дисков в Linux
В Linux есть такое понятие как «монтирование» диска. Чтобы получить доступ к файлам на этом диске, его нужно сначала смонтировать. Может возникнуть вопрос, зачем такие сложности? Я и сам так думал, т. к. во времена моего первого знакомства с Linux это мне казалось чем-то излишним и запутанным. Но монтирование это мощнейшая вещь, которая позволяет поразительно гибко настроить файловую систему!
Суть монтирования в том, что в файловой системе создаётся новая директория (обычная папка), допустим, это папка /mnt/disk_d. А затем командой mount указывается, что теперь, например, диск /dev/sda смонтирован в директорию /mnt/disk_d. После этого можно получить доступ к файлам диска /dev/sda открыв папку /mnt/disk_d в любом менеджере файлов:

Зачем нужно монтирование
С помощью такого подхода — когда любой диск может быть любой папкой в системе, можно делать очень гибкую настройку. Самый частый пример, встречающийся на практике: файлы пользователя хранятся в папке /home/имя_пользователя/, например, у меня это папка /home/mial/. При установке операционной системы я могу сделать так, что мой второй или третий диск (а не системный) будет смонтирован в точку /home/mial/. То есть вся операционная система будет располагаться на одном диске, а все мои пользовательские файлы — на другом. Что это даёт? В случае переустановки системы, я вновь настрою монтирование диска с моими файлами в папку /home/mial/ и в результате в новой, только что установленной системе, уже будут на месте все мои документы, фотографии и прочее!
Поскольку часто узким местом в мощных компьютерах является скорость чтения с диска, то на на серверах с высокой нагрузкой практикуется перенос файлов баз данных (например, /var/lib/mysql/ на другой диск), возможен перенос файлов сервера (/srv/http/) на третий диск, файлов логов (/var/log/httpd/) на ещё один диск и т. д. Это позволяет добиться того, что данные из баз данных считываются независимо от записи журналов, то есть пока выполняются операции чтения-записи для одного процесса, другому процессу не нужно ждать своей очереди — всё выполняется одновременно.
В общем, несмотря на то, что монтирование является чем-то непривычным для пользователей Windows, это потрясающая функция! Причём ничего сложного в этом нет, если понять суть.
Что такое корень файловой системы?
Понятно, что корень файловой системы — это главная директория, в которой находятся все другие. Но что это в физическом смысле? Как я уже сказал, диски могут монтироваться в самые разные места файловой системы, сменные носители и постоянные диски довольно часто монтируются в /mnt/ или в /media/, так как они специально предназначены для этого (это понятно даже из названия). Так вот, корневая файловая система — эта та точка, куда смонтирован системный диск. Можно сказать, что корень файловой системы Linux, это как примерно диск C в Windows. Другие диски, вместо присвоения им букв D, E, F и пр., монтируются ниже по иерархии в какие-то указанные для них точки файловой системы.
О командах для перемещения по директориям файловой системы смотрите «Азы работы в командной строке Linux (часть 1)».
Описание директорий Linux
Далее рассмотрим значение всех важнейших папок (здесь они называются директориями) в корневой файловой системе Linux, а также познакомимся с важнейшими файлами в них.
Чтобы посмотреть, какие директории есть в корне файловой системы, можно выполнить команду:

Давайте рассмотрим значение и содержимое каждой папки в Linux.
/bin : Все исполнимые бинарные программы (файлы) необходимые во время загрузки, восстановления и ремонта системы; файлы, необходимые для запуска в однопользовательском режиме и другие важные, основные команды, такие как cat, du, df, tar, rpm, wc, history, и др. В настоящее время обычно представляет собой ссылку на директорию /usr/bin, то есть фактически исполнимые файлы находятся в папке /usr/bin.
/boot : Содержит важные файлы для процесса загрузки, включая ядро Linux. В современных системах при установке обычно на главном диске создаётся небольшой раздел, который затем монтируется в директорию /boot
/dev : Содержит файлы устройств для всех физических устройств на данной машине, например, cdrom, cpu и т. д. Как мы уже знаем, здесь же размещены файлы дисков — на случай, если понадобится смонтировать новый диск или сменный носитель.
/dev/disk — содержит 4 поддиректории: by-id, by-partuuid, by-path и by-uuid. В которых перечислены уникальные идентификаторы дисков и разделов устройств хранения по которым также можно обращаться к дискам, например, в файле /etc/fstab. Подробности смотрите в статье «Постоянные имена для блочных устройств».
/dev/nvme* — устройства NVM Express (NVMe), например, /dev/nvme0n1. Это разновидности SSD дисков
/dev/null — своеобразная чёрная дыра. Если запущенная программа выводит какую-то информацию, но она вам не нужна, то вы можете перенаправить её в /dev/null, и она исчезнет без вывода на экран
/dev/random — является источником случайных чисел (например, чтобы заполнить ими диск для надёжного удаления данных)
/dev/sdX — блочные устройства к которым относятся внутренние диски, USB флешки и диски, а также карты памяти. В именах вместо X используются буквы a, b, c и так далее, например /dev/sda и /dev/sdb
/dev/stderr, /dev/stdin и /dev/stdout — стандартный вывод ошибок, стандартный ввод и стандартный вывод соответственно. Если программа не поддерживает стандартный ввод, то для обхода можно использовать /dev/stdin, это нужно указать вместо имени файла. Если программа поддерживает только сохранение результатов в файл, но не поддерживает стандартный вывод, то можно в качестве имени файла указать /dev/stdout и результаты будут выведены в стандартный вывод (на экран) вместо сохранения в файл.
/dev/zero — возвращает бесконечные нули (иногда нужно)
/etc : Содержит файлы конфигурации приложений, а также файлы управления службами Systemd.
То есть настройки системы, программ и служб хранятся именно в этой папке. Количество папок и файлов здесь может быть различным в зависимости от количество установленных программ на данной системе.
Рассмотрим только некоторые из них, с которыми приходится сталкиваться чаще, чем с другими.
/etc/crypttab— аналог /etc/fstab для зашифрованных дисков, то есть содержит конфигурацию для зашифрованных блочных устройств
/etc/fstab — статичная информация о файловой системе. В этом файле содержится информация для автоматического монтирования дисков при загрузке компьютера.
Посмотрим на мой файл
Из этого файла следует, что раздел /dev/nvme0n1p1 (в данном случае диски обозначаются по их UUID) монтируется в /boot, раздел /dev/nvme0n1p2 монтируется в / (корень файловой системы), диск /dev/sda (он не разделён на разделы) монтируется в /mnt/disk. И ещё есть файл /swapfile, который выполняет роль свопа (файла подкачки).
/etc/anacrontab — одно из расположений периодически запускаемых задач cron
/etc/bashrc — глобальный скрипт запуска
/etc/cron.hourly/ — одно из расположений периодически запускаемых задач cron
/etc/cron.daily/ — одно из расположений периодически запускаемых задач cron
/etc/cron.weekly/ — одно из расположений периодически запускаемых задач cron
/etc/cron.monthly/ — одно из расположений периодически запускаемых задач cron
/etc/cron.d/ — одно из расположений периодически запускаемых задач cron
/etc/group — группы пользователей
/etc/host.conf — файл настройки для resolver
/etc/resolv.conf — ещё один файл настройки для resolver, содержит список DNS серверов, к которым должна обращаться система
Пример содержимого файла /etc/resolv.conf:
/etc/hosts — файл с информацией об IP адресах указанных хостов. Подробности смотрите в статье «Как настроить локальный DNS используя файл /etc/hosts в Linux».
/etc/mtab — динамическая информация о файловых системах
/etc/passwd — раньше этот файл хранил информацию о паролях пользователей, но теперь здесь просто список пользователей и информация об их оболочке
/etc/shadow — в этом файле хранятся хеши паролей пользователей
/etc/profile — общесистемный файл инициализации для входа в оболочку (сюда можно прописать переменные среды или функции, которые должны быть доступны для каждого пользователя в терминале после загрузки компьютера)
/etc/profile.d/* — директория, содержащая глобальные скрипты запуска
/etc/protocols — список IP протоколов
/etc/services — имена портов для сетевых служб
/etc/my.cnf — файл конфигурации MySQL/MariaDB (содержит отсылку на /etc/my.cnf.d)
/etc/my.cnf.d/ — директория, в которой фактически располагаются конфигурации MySQL/MariaDB
/etc/my.cnf.d/client.cnf — конфигурация клиента MySQL/MariaDB
/etc/my.cnf.d/server.cnf — конфигурация сервера MySQL/MariaDB
/etc/apache2/ — директория с настройками веб-сервера (когда служба называется apache2 — то есть в таких системах как Debian и производных)
/etc/apache2/conf/httpd.conf — главный конфигурационный файл Apache
/etc/apache2/conf/sites-enabled/ — включённые виртуальные хосты Apache
/etc/httpd/ — директория с настройками веб-сервера (когда служба называется httpd — то есть в таких системах как Arch Linux и производных)
/etc/httpd/conf/httpd.conf — главный конфигурационный файл Apache
/etc/httpd/conf/sites-enabled/ — включённые виртуальные хосты Apache
/etc/php/php.ini — главный конфигурационный файл PHP
/etc/systemd/ — директория с файлами Systemd. Подробности смотрите в статье «Как использовать Systemctl для управления службами Systemd и юнитами».
/etc/NetworkManager/system-connections/ — подключения к сети, которые настроены через NetworkManager.
/etc/openvpn — папки и файлы с настройками и сертификатами OpenVPN
/etc/ssh/ — конфигурационные файлы и ключи SSH
/etc/ssh/ssh_config — конфигурационный файл клиента SSH
/etc/ssh/sshd_config — конфигурационный файл сервера SSH
/etc/ssh/ssh_host_* (/etc/ssh/ssh_host_dsa_key, /etc/ssh/ssh_host_dsa_key.pub и другие) — SSH ключи
/etc/easy-rsa — здесь могут находиться файлы и сертификаты CA (Центра авторизации)
/home : домашний каталог пользователей. Каждый раз, когда создаётся новый пользователь, в домашнем каталоге создаётся каталог в соответствии с именем пользователя (например, для пользователя mial это будет /home/mial/), который содержит другие каталоги, такие как Рабочий стол (Desktop), Загрузки (Downloads), Документы (Documents) и т. д.
Исключением является только пользователь root, его файлы хранятся в директории /root (об этом ниже).
В некоторых дистрибутивах путь
/bin (то есть папка bin в домашней директории пользователя), добавлены в системную переменную $PATH. Это означает, что если поместить в эту папку файл, то он будет доступен в консоли по имени файла (не нужно указывать полный путь).
/.bashrc — специфичный для пользователя скрипт запуска
/.bash_login — специфичный для пользователя скрипт запуска
/.bash_profile — специфичный для пользователя скрипт запуска
/.profile — специфичный для пользователя скрипт запуска
/.bash_history — история команд, введённых пользователем
/.ssh/ — ключи и другие файлы клиента SSH
Аналогичные файлы также содержатся в директории /root/.
/lib : Каталог lib содержит модули ядра и образы общих библиотек, необходимые для загрузки системы и запуска команд в корневой файловой системе.
/lost+found : Этот каталог создаётся во время установки Linux, полезен для восстановления файлов, которые могут быть повреждены из-за неожиданного завершения работы. Если программа для поиска ошибок в файловой системе выявила проблема (например, нашла повреждённые файлы), то эти файлы будут перемещены в этот каталог.
/media : Точки монтирования для съёмных носителей, таких как CD-ROM (появились в FHS-2.3).
/mnt : Каталог монтирования для временного монтирования файловых систем (внешних дисков, USB накопителей и т.д.).
/opt : Аббревиатура от слова «опциональный», то есть необязательный. Содержит стороннее программное обеспечение, такое как Java, cuda, dropbox, metasploit, viber, vuze и т.д.
/proc : Виртуальная и псевдо-файловая система, которая содержит информацию о запущенных процессах и настройках ядра в виде файлов. Виртуальная файловая система, предоставляющая информацию о процессах и ядре в виде файлов. В Linux соответствует монтированию procfs. Обычно автоматически генерируется и заполняется системой на лету.
Подробности и описание самых востребованных файлов и каталогов этой директории смотрите в статье «Что такое файловая система /proc в Linux».
Примеры файлов в директории /proc:
/proc/partitions – Информация о доступных в системе разделах.
/proc/stat – Записи или различные статистики хранимые с последней перезагрузки.
/proc/swaps – Информация о swap разделе.
/proc/uptime – Информация об аптайме (времени работы) (в секундах).
/root : Это домашний каталог пользователя root, и его никогда не следует путать с «/».
Домашний каталог суперпользователя (root) находится в /root, а не в /home/root, так как учётная запись суперпользователя предназначена исключительно для администрирования операционной системы. Это помогает повысить надёжность системы: /root обычно располагается на том же разделе, где и система, что позволяет производить обслуживание и настройку операционной системы, смонтировав лишь корневой раздел.
/run : Информация о системе с момента её загрузки, в том числе данные, необходимые для работы демонов (pid-файлы, UNIX-сокеты и т.д.).
/sbin : Содержит двоичные исполняемые программы, необходимые системному администратору для обслуживания: iptables, fdisk, ifconfig, swapon, reboot и т.д.
/srv : Название директории является аббревиатурой от «сервисы». Эта директория содержит файлы, имеющие отношение к сервисам. Например здесь хранят файлы такие сервисы как deluge, ftp, http.
/srv/http/ — некоторые дистрибутивы (например, Arch Linux) хранят здесь файлы веб-сервера.
/sys : Содержит информацию об устройствах, драйверах, а так же некоторых свойствах ядра.
Современные дистрибутивы Linux включают директорию /sys в качестве виртуальной файловой системы, которая хранит и позволяет модифицировать устройства, подключённые к системе.
/sys/block/ — содержит информацию о дисках
/sys/block/sda/device/model — содержит информацию о модели диска sda
/tmp : Системный временный каталог, доступный пользователям и root. Сохраняет временные файлы для пользователя и системы, которые удаляются при следующей загрузке.
/usr : Содержит исполняемые файлы, документацию, исходный код, библиотеки для программ второго уровня.
/usr/bin — дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме.
/usr/include — стандартные заголовочные файлы (хедэры).
/usr/lib — библиотеки для программ, находящихся в /usr/bin и /usr/sbin.
/usr/local — третичная иерархия для данных, специфичных для данного хоста. Обычно содержит такие подкаталоги, как bin, lib, share.
/usr/sbin — дополнительные системные программы (такие как демоны различных сетевых сервисов).
/usr/share — архитектурно-независимые общие данные.
/usr/share/easy-rsa — здесь могут находиться файлы и сертификаты CA (Центра авторизации)
/usr/share/webapps — веб-приложения веб-сервера, например, owncloud, phpMyAdmin и др.
/usr/src — исходные коды (например, здесь располагаются исходные коды ядра).
/var : Директория для переменных данных. Содержимое файлов в этой директории, как ожидается, будет расти. Этот каталог содержит файлы журналов, lock, spool, почты и временных файлов.
/var/cache — кэш приложений. Такие данные генерируются локально в результате ресурсозатратных вычислений или операций ввода-вывода. Приложение обязано уметь регенерировать эти данные. Данные файлы могут быть удалены без потери данных.
/var/lib — информация о состоянии. Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.).
/var/lock — файлы блокировки, указывающие на занятость некоторого ресурса.
/var/log/ — содержит логи различных программ и служб
/var/log/apache2/ — логи веб-сервера Apache (в Debian и производных)
/var/log/httpd/ — логи веб-сервера Apache (в Arch Linux)
/var/log/wtmp (в некоторых системах /var/log/utmp) — файл, содержащий записи входов. Просмотреть записи можно командой «last»
/var/mail — почтовые ящики пользователей.
/var/run — каталог для хранения информации о системе с момента её загрузки, на данный момент устарел. Допускается делать его ссылкой на /run. Каталог оставлен для обратной совместимости с программами, которые всё ещё используют каталог /var/run.
/var/spool — задачи, ожидающие обработки (например, очереди печати, непрочитанные или неотправленные письма).
/var/spool/cron/ — одно из расположений периодически запускаемых задач cron
/var/spool/cron/crontabs/ — одно из расположений периодически запускаемых задач cron
/var/spool/mail — местоположение пользовательских почтовых ящиков (устаревшее).
/var/tmp — временные файлы, которые должны быть сохранены между перезагрузками.
/var/www/html/ — директория с файлами веб-сайтов веб-сервера Apache в Debian и производных дистрибутивах.
Заключение
Если я пропустил какие-то важные папки или файлы, то пишите их в комментариях!
Дополнительную информацию о директориях вы также найдёте в статье «Какие файлы можно удалить при нехватке места на диске Linux».
Связанные статьи:

Рекомендуется Вам:
5 комментариев to Структура директорий Linux. Важные файлы Linux
Ps Кроме упомянутого способа адресации устройства (в статье приведена адресация по имени устройства) в Linux cуществуют ещё как минимум два: адресация по ID (индификатору устройства ) Lebel (адресация по лейболу устройства) о которых автор скромно умолчал.
Приветствую! Статья не претендует ни на какую новизну или полноту описания темы. Цель статьи — ответить на простейшие вопросы, которые настолько просты, что на них никто не удосуживается ответить ни в инструкциях, ни в книгах по Linux:
— зачем при установке предлагают смонтировать домашнюю папку на другой диск?
— зачем вообще нужно монтирование дисков?
— где второй и другие диски в Linux?
— для чего каждая папка в Linux и почему их так много?
— где в Linux находится файл отвечающий за…?
На начальном этапе знакомства с Linux я был бы рад прочитать именно ответы на похожие вопросы, а не про синтаксис команды mount (какая мне разница, какой у неё синтаксис, если я не понимал для чего в принципе нужно монтирование).
Про адресацию к дискам, ну да, в директории /dev/disk/ есть ещё четыре поддиректории:
В принципе, их можно упомянуть при описании директорий. Но не стоит перенагружать новичков, которые впервые увидели /dev/sda, /dev/sdb, /dev/nvme0n1 и прочее.
Я хоть и Linux-оид, но красными глазами и предвзятостью не страдаю. Поэтому не приковыривайтесь к автору и идите википедию читайте! К вашему огромному сожалению идентификация по ID файловой системы еще задолго до Linux-а появилась. Поэтому прежде чем поучать идите вначале информацию проверяйте!
Автор нормально все написано. Побольше таких статей.
Приветствую! Спасибо за поддержку, но я чуть отредактировал ваш комментарий — не нужно грубостей.
Я хорошо отношусь к критике, если она нормальная. Благодаря комментариям, как с вопросами, так и с критикой, некоторые статьи стали лучше. Поэтому всё нормально.





