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

/lib содержит разделяемые библиотеки, необходимые для загрузки системы и запуска команд из каталогов /bin и /sbin. По крайней мере, один из файлов, соответствующих каждому из следующих шаблонов, должен найтись в данном каталоге (это могут быть либо реальные файлы, либо символические ссылки): libc.so.*, динамически подсоединяемые библиотеки Cи; ld*, загрузчик/ времени выполнения. Не должны располагаться в /lib разделяемые библиотеки, которые необходимы только исполняемым файлам, расположенным в /usr (таким, как двоичные файлы X Window). В частности, библиотека libm.so.* может быть расположена в /usr/lib, если она не требуется никаким программам из /bin или /sbin. Может существовать более одного варианта каталога /lib в системах, поддерживающих более одного формата исполняемых файлов (например, 32–разрядные и 64-разрядные форматы), при этом для каждого формата требуется свой отдельный вариант разделяемых библиотек (которые могут называться /lib32 и /lib64).

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

/opt резервируется стандартом FHS для установки дополнительных программных пакетов. Предполагается, что любой такой пакет должен размещать свои статические файлы в отдельной структуре /opt/<package>, где <package> — название пакета. Исполняемые программы располагаются в каталоге /opt/<package>/bin, а в /opt/<package>/man размещаются страницы обычного для Unix интерактивного руководства man. Файлы пакета, которые являются переменными (изменяемыми при выполнении стандартных операций), должны устанавливаться в /var/opt, а специфичные для хоста конфигурационные данные должны устанавливаться в /etc/opt. Никакие файлы пакета не должны размещаться вне каталогов /opt, /var/opt и /etc/opt, кроме тех файлов, которые должны оказаться в других местах по той причине, что иначе пакет не сможет функционировать нормально. Например, файлы блокирования устройств должны располагаться в /var/lock, а файлы устройств должны располагаться в /dev.

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

/sbin содержит утилиты для выполнения задач системного администрирования (и другие команды, используемые только пользователем root). Этот каталог содержит исполняемые файлы, необходимые для загрузки системы и ее восстановления в различных ситуациях (restoring, recovering, and/or repairing the system), не попавшие в каталог /bin. Единственная команда, которая обязательно должна присутствовать в /sbin, — shutdown. К примеру, команда ping, хотя она абсолютно необходима суперпользователю, часто используется и рядовыми пользователями, и по этой причине должна размещаться в /bin. Авторы стандарта рекомендуют предоставить всем пользователям право на чтение и выполнение для всех файлов, расположенных в /sbin, кроме, может быть тех программ, для которых установлены биты setuid и setgid. Разделение каталогов /bin и /sbin делается с целью установления явного различия между исполняемыми файлами, которые используются всеми, и теми утилитами, которые в основном используются для решения административных задач. С точки зрения безопасности нет никаких преимуществ в том, чтобы сделать /sbin недоступным для пользователей.

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

Для сохранения совместимости со старыми системами (до тех пор, пока все реализации не начнут использовать каталоги, размещенные непосредственно в /var) могут создаваться следующие символические ссылки:

/usr/spool -> /var/spool

/usr/tmp -> /var/tmp

/usr/spool/locks -> /var/lock

Каталог /usr/local используется для установки программ, которые будут использоваться локально в рамках данного хоста. Он может использоваться для программ и данных, не попавших в каталог /usr, доступ к которым разрешен с других хостов. Этот каталог не должен перезаписываться при обновлениях системного программного обеспечения. Поскольку в этот каталог устанавливаются программные пакеты, в нем создается структура подкаталогов, аналогичная структуре корневого каталога и каталога /usr.

/usr/share содержит все файлы, которые предназначены только для чтения и не зависят от архитектуры. Скажем, компьютеры на платформах i386, Alpha и PowerPC могут поддерживать один общий каталог /usr/share, который монтируется на остальных компьютерах. Примерами файлов, которые размещаются в этом каталоге, могут служить файлы документации (man, doc) или базы данных (dict, terminfo, zoneinfo). Любая программа или пакет, который содержит или требует данных, не подлежащих модификации, должны хранить эти данные в каталоге /usr/share (или /usr/local/share, если пакет установлен локально). В каталоге /usr/share создаются следующие подкаталоги или символические ссылки:

man — интерактивные руководства;

misc — различные архитектурно-независимые данные, для которых не требуется отдельный подкаталог в /usr/share;

dict — словари (факультативно), обычно здесь находится только файл words для английского языка, который используется утилитой look и различными программами проверки правописания; списки слов для других языков могут быть добавлены, используя английское название соответствующего языка, например, /usr/share/dict/french, /usr/share/ dict/danish и т.д.;

doc - различная документация (факультативно);

games - файлы статических данных для /usr/games (факультативно);

info - основной каталог для системы GNU Info (факультативно);

locale - локальная информация (факультативно);

nls - каталоги сообщений для поддержки языков (факультативно);

sgml - данные для SGML и XML (факультативно);

terminfo - каталог базы данных для terminfo (факультативно);

tmac - макросы для troff (факультативно);

zoneinfo - конфигурационные файлы и информация о временной зоне (факультативно).

Данные игровых программ, сохраняемые в /usr/share/games, должны быть статическими. Любые модифицируемые файлы, такие как файлы с протоколами и результатами игр, должны размещаться в каталоге /var/games.

Как известно, страницы интерактивного руководства man традиционно разбиты на секции. Для каждой секции создается отдельный каталог с именем <mandir>/<locale>/manN/<arch>, где <arch> — указание на архитектуру (например, i386), а строка <locale> определяет язык, страну и кодировку и имеет следующий формат:

<language>[_<territory>][.<character-set>][,<version>].

Каталог /var содержит файлы с изменяющимися данными: каталоги и файлы очередей, данные об администрировании, временные файлы. Некоторые части каталоговой структуры /var не являются разделяемыми между разными системами. К ним относятся /var/log, /var/lock и /var/run. Другие части могут быть разделяемыми, например, /var/mail, /var/cache/man, /var/cache/fonts и /var/spool/news. Структура каталогов /var определяется в стандарте FHS с той целью, чтобы сделать возможным монтирование каталога /usr в режиме только для чтения. Все, что записывается на диск в процессе выполнения системных операций (в противоположность процессам установки и поддержки программ), должно размещаться в каталоге /var. Несколько подкаталогов «зарезервированы» — они не должны использоваться произвольным образом, поскольку это противоречит сложившейся практике: /var/backups, /var/cron, /var/msgs,

/var/preserve.

К-во Просмотров: 437
Бесплатно скачать Реферат: Иерархия каталогов и файловых систем в Linux