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

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

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

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

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

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

— 80.73 Кб (Скачать файл)
  • ascii - таблица набора символов ASCII (ASCII character set table),
  • magic - список магических чисел для команды file, используемый по умолчанию,
  • termcap - база данных с параметрами терминалов,
  • termcap.db - база данных с параметрами терминалов.

Каталоговая структура /var

Каталог /var содержит файлы с изменяющимися данными. В их число входят каталоги и файлы спулинга, данные об администрировании и логировании, временные файлы.

Некоторые части каталоговой структуры /var не являются разделяемыми между разными системами. К ним относятся /var/log/var/lock и /var/run. Другие части могут быть разделяемыми, например,/var/mail/var/cache/man/var/cache/fonts и /var/spool/news.

Структура каталогов /var определяется в стандарте FHS с той целью, чтобы сделать возможным монтирование каталога /usr в режиме только для чтения. Все, что записывается на диск в процессе выполнения системных операций (в противоположность процессам инсталляции и поддержки программного обеспечения), должно размещаться в каталоге /var.

Следующие каталоги или символические ссылки на каталоги должны обязательно присутствовать в /var.

    cache 
    lib 
    local 
    lock 
    log 
    opt 
    run 
    spool 
    tmp
    Данные кэшей  приложений 
    Переменная информация о состоянии приложений 
    Переменные данные для /usr/local 
    Файлы блокирования устройств и программ 
    Каталоги и файлы протоколов 
    Переменные данные для /opt 
    Данные, относящиеся к запущенным процессам 
    Данные очередей, создаваемых приложениями 
    Временные файлы, сохраняемые между перезапусками системы

Несколько каталогов "зарезервированы" в  том смысле, что они не должны использоваться произвольным образом  каким-либо из новых приложений, поскольку  это противоречит исторической или  локальной практике их использования. Это следующие каталоги:

/var/backups

/var/cron

/var/msgs

/var/preserve

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

account - протоколы работы процессов, 
crash - д
ампы памяти при крахе системы, 
games - 
временные данные игровых приложений, 
mail - 
файлы почтовых ящиков пользователей, 
yp - 
файлы базы данных сетевой информационной службы (Network Information Service - NIS).

Приложения  в общем случае не должны добавлять  каталоги непосредственно в /var. Такие каталоги должны создаваться в соответствующих подкаталогах.

·  /var/cache : Данные кэша приложений

Каталог /var/cache предназначен для кэширования данных приложениями. Необходимость такого кэширования возникает при выполнении медленных процессов ввода-вывода или для хранения промежуточных результатов вычислений. В отличие от /var/spool, кэшированные файлы могут быть удалены без потери данных. Но эти данные должны сохраняться между сеансами работы приложения и при перезагрузках системы.

Файлы, расположенные в /var/cache, могут удаляться либо самим приложением, либо администратором. Приложение должно всегда иметь возможность продолжить работу, даже после удаления этих файлов вручную (например, при нехватке дискового пространства). Никаких других требований на формат данных в каталоге кэша не накладывается.

Существование отдельной директории для кэшируемых данных позволяет системным администраторам  устанавливать для этого каталога правила использования и резервного копирования, отличающиеся от правил, устанавливаемых для других каталогов  в /var.

Обычно  в этом каталоге создаются подкаталоги

    fonts - локально сгенерированные шрифты,

    man - локально отформатированные страницы руководства,

    www - кэш данных для WWW proxy,

    <package> - кэшируемые данные пакета <package>.

Каталог /var/cache/fonts должен использоваться для хранения динамически создаваемых шрифтов. В частности, все шрифты, автоматически генерируемые программой mktexpk, должны размещаться в соответствующим образом названных подкаталогах каталога /var/cache/fonts.

Примечание: Стандарт FHS не предусматривает поглощение или замену the TeX Directory Structure (документ, который задает размещение файлов формата TeX и структуру соответствующих каталогов), так что этот документ полезно прочитать. Он размещается по адресу ftp://ctan.tug.org/tex/.

Другие  динамически создаваемые шрифты могут тоже размещаться в этом дереве, в соответствующим образом  названных подкаталогах каталога /var/cache/fonts.

Каталог /var/cache/man предусмотрен для сайтов, в которых файловая система /usr монтируется только на чтение, но в которых допускается создание страниц руководства, отформатированных локально. Сайты, в которых /usr монтируется с правом записи (например, когда у системы всего в один пользователь) могут не создавать каталога /var/cache/man, а использовать вместо него каталоги cat<section> непосредственно в /usr/share/man.

Структура каталога /var/cache/man должна соответствовать наличию нескольких отдельных деревьев каталогов для страниц руководства и возможности наличия многоязыковой поддержки (смотри описание каталога /usr/share/man выше).

/var/crash : Дампы памяти  при крахе системы

Этот  каталог предназначен для записи в него содержимого оперативной  памяти (дампа памяти) в случае краха  системы. На момент выпуска данной версии настоящего стандарта дампы памяти не поддерживаются в системе Linux.

/var/lock : Файлы блокирования

Файлы блокирования устройств и других ресурсов, используемые многими приложениями, такие как файлы блокирования последовательных портов, должны храниться  в каталоговой структуре /var/lock. Названия этих файлов должны формироваться в соответствии с соглашением, согласно которому используется префикс "LCK..", за которым следует базовое имя устройства. Например, для блокирования /dev/ttyS0 должен создаваться файл "LCK..ttyS0". Любое приложение, которое хочет использовать /dev/ttyS0должно прочитать файл блокирования и действовать соответственно. Следовательно, все файлы блокирования в/var/lock должны быть доступны по чтению всем.

Внутренняя  структура таких файлов блокирования должна соответствовать формату, определенному  в HDB UUCP. Формат HDB предусматривает сохранение идентификатора процесса (PID) в виде десяти-байтового десятичного числа, за которым следует символ конца  строки. Например, если процесс 1230 создает  файл блокирования, в этом файле  будет записано 11 символов: пробел, пробел, пробел, пробел, пробел, пробел, один, два, три, ноль и конец строки.

/var/log : Каталоги и файлы  протоколов

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

Следующие файлы или символические ссылки на файлы должны быть в /var/log, если соответствующая подсистема установлена:

  • lastlog - запись о последнем входе в систему каждого пользователя,
  • messages - системные сообщения от syslogd,
  • wtmp - записи о всех входах и выходах пользователей в систему.

/var/mail : Почтовые ящики  пользователей

Область спулинга для почты должна размещаться  в /var/mail, а имена файлов с сообщениями должны иметь вид <username>. (Заметим, что /var/mail может быть символической ссылкой на другой каталог.)

Файлы почтовых ящиков в этих каталогах  должны хранится в формате стандартных  почтовых ящиков UNIX (UNIX mailbox format).

Важно заметить, что нет требования физически  переместить область спулинга в  указанный каталог. Однако программы  и заголовочные файлы должны быть изменены так, чтобы они использовали /var/mail.

/var/opt : Переменные данные  для /opt

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

/var/run : Переменные данные  времени выполнения

Этот  каталог содержит данные, описывающие  состояние системы с того момента, как она была загружена Файлы  в этом каталоге должны очищаться (удаляться  или урезаться соответствующим  образом) в начале процесса загрузки системы. Программы могут иметь  подкаталоги в каталоге /var/run; это приветствуется для программ, которые используют более одного файла времени выполнения.

Примечание: Непривилегированные пользователи должны быть лишены права записи в каталог/var/run; с точки зрения безопасности предоставление любому пользователю права записи в этот каталог представляет большую угрозу. Файлы с идентификаторами процессов (PID), которые раньше располагались в /etc, должны быть размещены в /var/run. Соглашение об именах этих файлов следующее: <program-name>.pid. Например, PID-файл для демона crond называется/var/run/crond.pid.

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