Каталог /usr - это второй по важности раздел файловой системы. /usr содержит разделяемые данные, предназначенные только для чтения. Это означает, что /usr может быть доступен с различных FHS-совместимых хостов и права записи в него не должно быть. Любая информация, которая является специфичной для конкретного хоста или может изменяться со временем, должна записываться в другое место.
Следующие каталоги или символические ссылки на каталоги должны присутствовать в /usr.
bin |
Это основное место для размещения исполняемых файлов системы. /usr/bin/X11 должен быть символической ссылкой на /usr/X11R6/bin если последний существует. Следующие файлы или символические ссылки на файлы должны быть размещены в /usr/bin, если только соответствующие пакеты установлены в системе: perl - Язык Perl (The Practical Extraction and Report Language) python - Интерпретирующий язык Python tclsh - Оболочка интерпретатора Tcl wish - Оболочка Tcl/Tk expect - Программа для организации интерактивного диалога Поскольку интерпретаторы скриптов оболочки (вызываемые командой вида #!<path> в первой строке скрипта) не могут полностью полагаться на эту строку, имеет смысл стандартизовать их расположение. Размещение интерпретаторов оболочек Борна и C-shell уже зафиксировано в каталоге /bin, но интерпретаторы языков Perl, Python и Tcl часто размещаются в самых разных местах. В каталоге /usr/bin можно оставить только символические ссылки на действительное местоположение интерпретаторов. |
include |
Это место, где должны быть размещены все системные подключаемые файлы общего пользования для языка программирования C, в частности файлы заголовков (header files), включаемые в программы на языке C. Символическая ссылка /usr/include/X11 должна указывать на /usr/X11R6/include/X11, если только последний существует. |
lib |
Каталог /usr/lib содержит объектные файлы, библиотеки и внутренние исполняемые файлы, которые не могут вызываться непосредственно пользователями из командной строки или скриптов оболочки. (Различные архитектурно-зависимые статические файлы и подкаталоги, специфичные для отдельных приложений, должны размещаться в /usr/share. ) Приложения могут использовать отдельные подкаталоги в /usr/lib. Если приложение использует подкаталог, все архитектурно-зависимые данные, используемые только этим приложением, должны размещаться внутри этого подкаталога. (Например, подкаталог perl5 для модулей и библиотек Perl 5.) По историческим причинам /usr/lib/sendmail должен быть символической ссылкой на /usr/sbin/sendmail, если последний существует. (Некоторые исполняемые команды, такие как makewhatis и sendmail тоже по традиции размещаются в /usr/lib. makewhatis - это внутреннй исполняемый файл и должен размещаться в подкаталоге для бинарных файлов; пользователям предоставляется доступ только к catman. Исполняемые файлы последних версий sendmail теперь по умолчанию располагаются в /usr/sbin. Кроме того, системы, использующие sendmail-совместимые агенты передачи почты, должны делать /usr/sbin/sendmail символической ссылкой к соответствующему исполняемому файлу.) Если /lib/X11 существует, /usr/lib/X11 должен быть символической ссылкой на /lib/X11, либо на тот каталог, на который ссылается /lib/X11. (Специфичные для каждого хоста данные для системы X Window не должны размещаться в /usr/lib/X11. Специфичные для хоста конфигурационные файлы, такие как Xconfig или XF86Config должны храниться в /etc/X11. Это требование относится и к таким фонфигурационным данным, как system.twmrc, даже если это только символическая ссылка на более общий конфигурационный файл, вероятно в /usr/X11R6/lib/X11). |
local |
Каталоговая структура для локально устанавливаемого программного обеспечения (пустая непосредственно после инсталляции системы) |
sbin |
Этот каталог содержит системные команды, используемые исключительно системным администратором, не являющиеся жизненно-важными для системы. Программы для выполнения задач системного администрирования, которые необходимы для восстановления системы, монтирования /usr, или для других самых важных системных задач, должны размещаться в /sbin. (Локально устанавливаемые программы для системного администрирования должны размещаться в /usr/local/sbin.) |
share |
Архитектурно-независимые данные |