Файлы, каталоги и папки в Linux. Структура файловой системы

При работе с Linux вы можете выбирать тип файловой системы, как и многие другие параметры. Вероятнее всего, вы будете работать с разделами Linux, на которых используется одна из расширенных файловых систем, поддерживаемых всеми дистрибутивами Linux и являющихся надежными готовыми решениями.

Разметка жесткого диска в Linux Ubuntu во время установки

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

Итак, в качестве примера мы будем использовать актуальную на данный момент версию Linux Ubuntu , т.е. давайте представим, что Вы устанавливаете Ubuntu (или любой другой производный дистрибутив, например, Kubuntu, Lubuntu, Ubuntu MATE и другие) и дошли до шага, когда Вам необходимо выбрать «Тип установки», т.е. тип разметки диска, например: автоматический – это первый пункт «Стереть диск и установить Ubuntu», или «Другой вариант» — это именно тот тип, при котором мы можем самостоятельно разметить диск, его мы сейчас и рассмотрим.

Примечание! В данной статье мы рассмотрим первоначальную разметку чистого диска, т.е. на котором еще нет разделов и данных.

Оптимизация и тонкая настройка файловой системы

Одной из ответственных задач системного администратора является обеспечение доступа к данным пользователей за определенное время. Так же, как и в операционной системе Windows, наблюдение за производительностью системы является в Linux одной из главных задач. Как и производительность сети, производительность дисковой подсистемы чтения/записи может стать узким местом в системе, поэтому она требует оптимизации и тонкой настройки.

Читайте также:  Настройка Linux Mint 18.3, часть 1: драйверы и кодеки

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

  • Применить инструмент tune2fs.
  • Изменить точки монтирования в файле /etc/fstab.
  • Изменить параметры ядра.

Настройка с помощью tune2fs

Утилита командной строки tune2fs используется для настройки параметров жесткого диска. Например, если у вас имеются директории большого объема на разделе с файловой системой ext3, то можно ускорить обращения к ним с помощью хешированных b-деревьев, для чего используется переключатель tune2fs dir_index:

# tune2fs -O dir_index /dev/sda5

Команду tune2fs следует запускать с привилегиями пользователя root. Переключатель -O определяет опцию для указанного раздела.

Монтирование с использованием специальных опций

Процесс, после которого файловая система становится доступной для использования, называется монтированием файловой системы. На практике для этого используется команда mount. Когда вы включаете компьютер с Linux, то система должна знать, как монтировать доступные файловые системы. Для этих целей служит файл /etc/fstab. Как и любые другие конфигурационные файлы Linux, этот файл можно редактировать с помощью любого текстового редактора, например, viили vim. Внутри файла /etc/fstab указаны точки монтирования различных файловых систем. При настройке параметров монтирования используется четвертый столбец. Например, чтобы отключить аудит времени последнего доступа к файлам для определенной файловой системы (что потенциально может повысить производительность), можно добавить опциюnoatime. Если у вас имеется файловая система, в которую пользователи не должны записывать данные (например, если в ней хранятся архивы), то можно смонтировать ее с опцией ro («только для чтения»).

Для изменения параметров монтирования в файле /etc/fstab используйте следующую командную строку:

UUID=97ee2cc4-8a26-41e9-9da1 /archives ext4 defaults,ro,noatime 1 2

Все изменения, которые вы вносите в файл /etc/fstab, вступают в силу после перезагрузки компьютера. Чтобы применить их без перезагрузки, можно демонтировать и повторно смонтировать затрагиваемую файловую систему с помощью командыmount:

# mount -o remount /archives

Если раздел можно демонтировать в текущей рабочей среде, то команда mount -o remount позволит избежать перезагрузки системы после изменения файла /etc/fstab.

Настройка параметров ядра

Для просмотра и изменения параметров ядра используется команда sysctl. Чтобы получить список параметров, относящихся к файловой системе, и их текущие значения, выполните команду sysclt -a | grep fs, как показано в листинге 3. Листинг 3. Просмотр параметров ядра, относящихся к файловой системе

# sysctl -a | grep fs. | less …. = 1 = 23 _dquots = 0 _dquots = 0 _hits = 0 = 0 = 0 = 0 = 0 _dumpable = 0 _queued_events = 16384 _user_watches = 8192 _user_instances = 128 = 65536 = 0 = 45 = 1 = 1 = 65534 = 65534 = 26674 23765 45 0 0 0 = 102263 ………

В листинге 3 показан фрагмент списка параметров ядра, относящихся к файловой системе и отфильтрованных с помощью команды grep. Изменить эти параметры можно с помощью команды sysclt -w. Например, если ваш сервер обрабатывает большое количество мелких файлов и на нем постоянно возникают ошибки с сообщением «running out of file handles» (недостаточно обработчиков файлов), то можно увеличить максимальное число дескрипторов открытых файлов с помощью команды sysclt -w file-max=xxxxxx, где xxxxxx – необходимое максимальное количество обработчиков.

Любые изменения, сделанные с помощью sysctl, работают до первой перезагрузки. Чтобы эти изменения действовали после перезагрузки, необходимо открыть файл /etc/sysconf в любом текстовом редакторе и внести изменения в него. В этом файле содержатся не все параметры ядра, поэтому если вы не нашли в нем нужный параметр, то просто добавьте его вместе с нужным значением.

Сосуществует с домашним сервером и NAS

Итак, я решил перенести некоторые функции моего домашнего сервера на Synology DS918 +. Что происходит с домашним сервером сейчас? Мой первоначальный план (возможно, так и есть) – заменить сервер AMD 5350 на Intel NUC. Фактически, я уже приобрел основной комплект Intel NUC 8 (NUC8i7BEH) с 32 ГБ оперативной памяти. NUC Intel общеизвестно дороги и негибки (подумайте о расширении), но они могут быть компактными HTPC / домашними серверами.

Сначала я хотел, чтобы Synology выполняла только те операции с файлами, которые выполняются на NUC с Plex. Процессор Intel Core i7-8559U имеет Passmark 12 206, что в 5 раз больше, чем у DS918 + или моего нынешнего AMD 5350. Он может обрабатывать несколько потоков Plex с транскодированием без проблем. Благодаря TDP всего 28 Вт соотношение производительности и энергопотребления у i7-8559U просто потрясающее. Если бы я использовал NUC исключительно для экономии энергии, мне потребуются годы, если не минимум десятилетие, чтобы окупить дополнительные затраты.

Но на данный момент я смотрю только на 2 одновременных потока Plex. Это может измениться в будущем, и в этот момент я могу переместить свой Plex обратно на свой домашний сервер. Поэтому я решил сохранить свой старый домашний сервер с 256 ГБ SSD только для приложений Docker: Sonarr, Radarr, Home Assistant и т.д. С моими общими папками DS918 +, установленными на нем. Я могу рассмотреть возможность добавления еще 8 ГБ оперативной памяти. Вместо того, чтобы тратить около 700 долларов США на новую систему NUC, для меня это может оказаться более выгодным.

Если вы планируете перейти с Home Server на NAS, то я надеюсь, что опыт, которым я поделился в этом посте, будет вам полезен.

Источник записи:

/usr — программы пользователя

Этот каталог является самым большим и имеет много функций. Вкратце рассмотрим его структуру: /usr/bin/ — исполняемые файлы (графические редакторы, браузеры, плееры — не используются при загрузке системы); /usr/sbin/ — бинарные файлы программ, предназначенных для системного администрирования (выполняются с правами суперпользователя); /usr/lib/ — библиотеки для программ из /usr/sbin либо /usr/bin; /usr/local — файлы пользователя (программы, библиотеки и настройки, созданные пользователем).