Иерархия каталогов и файловых систем в Linux

Автор работы: Пользователь скрыл имя, 04 Января 2012 в 20:10, статья

Краткое описание

В статье рассказывается о разработанном в рамках проекта Open Source стандарте на структуру каталоговUNIX-подобных операционных систем (подразумеваются Linux и BSD-системы).

Содержимое работы - 1 файл

Иерархия каталогов и файловых систем в Linux.docx

— 80.73 Кб (Скачать файл)

Следующие каталоги и файлы либо символические  ссылки на них должны быть расположены  в /etcесли соответствующие пакеты установлены в системе:

Таблица 3. Подкаталоги и файлы в каталоге /etc

/X11 Конфигурационные  файлы системы X Window
/sgml Конфигурационные  файлы для SGML и XML
csh.login Общесистемный инициализационный файл для C shell logins
exports Список контроля доступа для сетевой файловой системы NFS
fstab Постоянная  информация для монтирования файловых систем
ftpusers Список контроля доступа для демона FTP
gateways Файл, содержащий список шлюзов для демона routed
gettydefs Установки терминала, используемые демоном getty
group Файл, определяющий списки групп пользователей в  системе
host.conf Файл конфигурации для системы разрешения имен
hosts Постоянная  информация об именах хостов
hosts.allow Список хостов, с которых разрешен доступ в систему
hosts.deny Список хостов, с которых запрещен доступ в систему
hosts.equiv Список доверенных (разрешенных) имен хостов для rlogin, rsh, rcp
hosts.lpd Список доверенных (разрешенных) имен хостов для демона печати lpd
inetd.conf Конфигурационный  файл для демона inetd
inittab Конфигурационный  файл для демона init
issue Сообщение, выдаваемое системой до регистрации пользователя
ld.so.conf Список дополнительных каталогов для поиска разделяемых  библиотек
motd Сообщение, выдаваемое системой после регистрации пользователя
mtab Динамически изменяющаяся информация о смонтированных файловых системах
mtools.conf Конфигурационный  файл для mtools
networks Статическая информация о сетевых именах
passwd Файл паролей  пользователей
printcap База данных с настройками принтеров для  демона lpd
profile Общесистемный файл инициализации для оболочки, запускаемой при входе пользователя в систему
protocols Перечень IP-протоколов
resolv.conf Конфигурационный  файл для системы разрешения имен
rpc Перечень протоколов удаленного вызова процедур
securetty Файл со списком  устройств, с которых может заходить пользователь root
services Имена портов для  сетевых сервисов
shells Список путей  доступа для имеющихся в системе  оболочек
syslog.conf Конфигурационный  файл для демона syslogd

Файл mtab не соответствует неизменяемой природе файлов, размещенных в /etc; он помещен в данный каталог в виде исключения по историческим причинам. Впрочем, в некоторых системах он является символической ссылкой на /proc/mountsв этом случае делать исключение не требуется.

Каталог /etc/X11 - это место размещения всех конфигурационных данных для X11, специфичных для данного хоста. Эта директория необходима для того, чтобы обеспечить локальное управление системой X Window в том случае, когда файловая система /usr монтируется только на чтение.

Следующие файлы или символические ссылки на соответствующие файлы должны находиться в /etc/X11:

  • Xconfig - Конфигурационный файл для ранних версий XFree86
  • XF86Config - Конфигурационный файл для XFree86 версий 3 и 4
  • Xmodmap - Глобальный файл модификации клавиатуры в X11

Среди подкаталогов в /etc/X11 могут находиться отдельные подкаталоги с конфигурационной информацией для xdm и других программ (например, для оконных менеджеров), которые в такой информации нуждаются.

Каталог /home

В небольших  системах каждый домашний каталог пользователя является одним из непосредственных подкаталогов каталога /home, таких как /home/smith, /home/torvalds, /home/operator и так далее. В больших системах (особенно когда каталоги /home являются разделяемыми между многими хостами посредством NFS) полезно объединить домашние каталоги в группы, введя подкаталоги групп такие как/home/staff, /home/guests, /home/students и так далее. Но как бы то ни было, структура домашних каталогов различается от хоста к хосту. Следовательно, никакая программа не должна полагаться на какие-то предположения о структуре домашних каталогов.

Каталог /lib

Каталог /lib содержит те разделяемые библиотеки, которые необходимы для загрузки системы и запуска команд, расположенных в каталогах /bin и /sbin.

По крайней  мере, один из файлов, соответствующих  каждому из следующих шаблонов, должен найтись в данном каталоге (это  могут быть либо реальные файлы, либо символические ссылки):

  • libc.so.* Динамически подсоединяемые библиотеки C;
  • ld* Загрузчик/линковщик времени выполнения.

По историческим причинам, если препроцессор языка  Си установлен, файл /lib/cpp должен быть ссылкой на него.

Не должны располагаться в /lib разделяемые библиотеки, которые необходимы только исполняемым файлам, расположенным в /usr (таким, как бинарные файлы системы X Window). В частности, библиотекаlibm.so.* может быть расположена в /usr/lib, если она не требуется никаким программам из /bin или/sbin.

Более одного варианта каталога /lib может существовать в системах, поддерживающих более одного формата исполняемых файлов (например, 32-х и 64-х разрядные форматы), при этом для каждого формата требуется свой отдельный вариант разделяемых библиотек (которые могут называться /lib32 и /lib64).

Каталог /mnt

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

Этот  каталог не должен использоваться программами  инсталляции ПО; для создания и  хранения временных файлов на этапе  инсталляции должны использоваться временные каталоги, не используемые системой

Каталог /opt

Стандарт FHS резервирует каталог /opt для установки дополнительных пакетов программного обеспечения. Предполагается, что любой пакет, который устанавливается в каталог /opt, должен размещать свои статические файлы в отдельной каталоговой структуре /opt/<package>, где <package> - название соответствующего пакета программного обеспечения.

Как правило, все данные, необходимые для поддержки  функционирования пакета, должны присутствовать в каталоге /opt/<package>, включая файлы, копируемые в каталоги /etc/opt/<package> и/var/opt/<package> а также специально создаваемые для пакета каталоги в /opt.

Каталоги /opt/bin/opt/doc/opt/include/opt/info/opt/lib и /opt/man зарезервированы для использования локальным системным администратором. Пакеты могут предоставлять "front-end" файлы, которые локальный системный администратор может разместить в этих зарезервированных каталогах (либо путем копирования, либо установив ссылку), но любой пакет должен нормально функционировать и в случае отсутствия этих зарезервированных директорий.

Программы, вызываемые на исполнение пользователем, должны располагаться в каталоге/opt/<package>/bin. Если пакет ПО содержит в своем составе страницы обычного в UNIX интерактивного руководства man, они должны устанавливаться в каталог /opt/<package>/man, который должен иметь такую же структуру, как и каталог /usr/share/man.

Файлы пакета, которые являются переменными (изменяемыми при выполнении стандартных  операций), должны устанавливаться  в /var/opt. Специфичные для хоста конфигурационные данные должны устанавливаться в /etc/opt.

Никакие файлы пакета не должны размещаться  вне каталогов /opt/var/opt и /etc/opt, кроме тех файлов, которые должны оказаться в других местах по той причине, что иначе пакет не сможет функционировать нормально. Например, файлы блокирования устройств должны располагаться в/var/lock, а файлы устройств должны располагаться в /dev.

Дистрибутивы  могут устанавливать программное  обеспечение в каталог /opt, но не должны модифицировать или удалять ПО, установленное местным системным администратором, без разрешения этого самого администратора.

Каталог /root

Каталог /root - это домашний каталог суперпользователя. Он может быть задан разработчиком  или определен при инсталляции  системы, но рекомендуемое место  его расположения по умолчанию –  корневая файловая система.

В стандарте FHS подчеркивается, что бюджет суперпользователя должен использоваться исключительно для системного администрирования и его не рекомендуется использовать для выполнения задач, которые могут быть выполнены непривилегированным пользователем. По этой причине не стоит размещать подкаталоги для почты и других приложений в домашнем каталоге пользователя root. Почта для таких администраторских ролей как root, postmaster и webmaster должна пересылаться соответствующему пользователю.

Каталог /sbin

Утилиты для выполнения задач системного администрирования (и другие команды, используемые только пользователем root) размещаются в /sbin/usr/sbin и /usr/local/sbin. Каталог /sbin содержит исполняемые файлы, необходимые для загрузки системы и ее восстановления в различных ситуациях (restoring, recovering, and/or repairing the system), не попавшие в каталог /bin.

Информация о работе Иерархия каталогов и файловых систем в Linux