Каталог /usr – иерархия
Каталог /usr – это вторая основная секция файловой системы, разделяемая, только для чтения. В каталоге /usr должны находиться следующие каталоги:
• /bin – содержит большую часть утилит, используемых пользователем;
• /include – файлы заголовков, включаемых в С-программы;
• /lib – библиотеки;
• /local – локальная иерархия;
• /sbin – содержит не жизненно необходимые системные исполняемые файлы;
• /share – архитектурно-независимые данные;
• /X11R6 – X Window System, версия 11, выпуск 6;
• /games – игры и образовательные программы;
• /src – исходные коды.
/usr/bin – пользовательские программы
В каталоге содержится большинство программ, предназначенных для пользователей. В частности, здесь должны находиться следующие программы (если установлены соответствующие пакеты):
• perl – интерпретатор языка Perl;
• python – интерпретатор языка Python;
• tclsh – интерпретатор Tel;
• wish – простая оконная оболочка Tcl/Tk;
• expect – программа для интерактивного диалога.
/usr/include – каталог для стандартных include-файлов
В этом каталоге хранится большинство включаемых файлов, используемых компилятором C/C++.
/usr/lib – библиотеки для программирования и пакетов
Каталог содержит объектные файлы, библиотеки и другие файлы, которые не используются напрямую пользователем или скриптами командных оболочек. Если программа создает подкаталог в /usr/lib, все архитектурно-зависимые данные должны помещаться в этот каталог. Для примера: подкаталог /рег15 содержит в себе модули и библиотеки для Perl 5.
/usr/local – локальная иерархия
Каталог предназначен для системного администратора под установку локального программного обеспечения. Это необходимо для предотвращения перезаписи программного обеспечения при обновлении системного программного обеспечения. Содержит следующие каталоги:
• /bin – локальные исполняемые файлы;
• /games – локальные исполняемые файлы игр;
• /include – локальные файлы С-заголовков;
• /lib – локальные библиотеки;
• /sbin – локальные системные исполняемые файлы;
• /share – локальная архитектурно-независимая иерархия;
• /sre – локальный исходный код.
/usr/sbin – не жизненно необходимые стандартные системные программы
Каталог содержит любые не жизненно необходимые для функционирования системы исполняемые файлы, используемые исключительно системным администратором. Программы и утилиты, используемые при восстановлении работоспособности системы, должны находиться в каталоге /sbin.
/usr/share – архитектурно-независимые данные
Каталог предназначен для всех архитектурно-независимых файлов данных, предназначенных только для чтения (неизменяемых). Содержит следующие каталоги:
• /diet – списки слов (словари);
• /doc – разнообразная документация;
• /games – неизменяемые файлы данных для /usr/games;
• /info – основной каталог информационной системы GNU;
• /locale – информация для локализации системы;
• /man – файлы справочной системы;
• /misc – разнообразные архитектурно-независимые данные;
• /terminfo – каталог для базы данных terminfo;
• /zoneinfo – информация и конфигурация временной зоны (Timezone).
Любая программа или пакет, который содержит или требует данных, не нуждающихся в модификации должны хранится в /usr/share (или /usr/local/share, если программное обеспечение установлено локально).
/usr/share/dict – списки слов (словари)
Каталог содержит словари, находящиеся в системе. Традиционно в этом каталоге находится только файл с английскими словами, которые используются программой look и многими программами проверки правописания. В этот каталог можно установить свои файлы, например, с русскими словами.
/usr/share/man – страницы справочной системы
Каталог предназначен для хранения данных справочной системы. Вся справочная информация разделена на восемь больших тем, для каждой существует свой отдельный каталог – от /man1 до /man8. Содержит следующие каталоги:
• /man1 – справочные страницы, описывающие доступные пользователям программы;
• /man2 – раздел, описывающий все системные вызовы (для взаимодействия с ядром);
• /man3 – библиотечные функции и подпрограммы. Описывает программные библиотеки, напрямую не взаимодействующие с ядром операционной системы. Этот и второй разделы справочной системы представляют интерес только для программистов;
• /man4 – описывает специальные файлы, осуществляющие функции драйверов и сетевой поддержки в системе. В основном эти файлы находятся в каталоге /dev;
• /man5 – документация по множеству файловых форматов;
• /man6 – содержится документация по разнообразным играм;
• /man7 – разное. Содержит документацию, которую трудно классифицировать;
• /man8 – системное администрирование. Программы, используемые системным администратором для администрирования и сопровождения системы.
Система справочной информации должна поддерживать несколько языков одновременно, поэтому для исключения конфликтов в каталоге /usr/share/man файлы справочной системы принято хранить следующим образом:
• для каждого языка, установленного в системе (locale, локаль), в каталоге /usr/share/man создается подкаталог, носящий имя своей локали;
• в этом подкаталоге создаются каталоги /man<раздел>, причем только те, в которых есть справочная информация;
• в каталоге /man<раздел> хранятся справочные файлы, отдельные для каждой установленной программы, причем стандартом de-facto является то, что справочные файлы хранятся в архивированном виде (никто, однако, не запрещает хранить их в распакованном виде, но для экономии места на жестком диске их упаковывают).
Программа man при обращении к ней с целью получения справочной информации по какой-то программе сначала пытается получить справочную информацию на языке, соответствующем текущей локали. Если ей это не удается, то берется информация, хранящяяся в /шг/811аге/man/man<раздел>. По умолчанию в этих каталогах содержится англоязычная справочная информация.
Наименование языковых подкаталогов в /usr/share/man основывается на приложении Е стандарта POSIX 1003.1, который описывает строку-идентификатор локали. Строка-идентификатор локали согласно этому стандарту имеет вид:
<язык>[_<территория>][.<кодовая страница символов>][,<версия>]
• поле <язык> берется из стандарта ISO 639. Это должны быть два символа исключительно в нижнем регистре;
• поле <территория> должно быть двухсимвольным кодом только в верхнем регистре (согласно стандарту ISO 3166);
• поле скодовая страница символов> должно быть представлено в стандартном описании кодовой страницы. Если скодовая страница символов> содержит числовую спецификацию, она соответствует интернациональному стандарту, описывающему эту страницу;
• поле <версия> рекомендуется не использовать без крайней необходимости. Реальное его применение – например, для страны, имеющей один язык и кодировку, но разные диалекты.
Пример формирования каталогов локализованной справочной системы приведен в табл. 5.3.
Таблица 5.3. Пример формирования каталогов локализованной справочной системы
Архитектурно-зависимые справочные файлы можно помещать в отдельные каталоги, соответствующие архитектуре. Например, /usr/share/man/<locale>/ man8/i386/ctrlaltdel.8. Однако проще написать общее справочное руководство, в котором особо отметить архитектурно-зависимые случаи, чем разрабатывать справочные файлы для каждой архитектуры.
Справочная информация для программ и данных, находящихся в /usr/local, размещается в каталоге /usr/local/man. Справочная информация, касающаяся X11R6, размещается в каталоге /usr/X11R6/man.
Правило размещения справочных руководств на различных языках в отдельные подкаталоги также распространяется и на справочные руководства, хранящиеся в каталогах /usr/local/man и /usr/X11R6/man.
/usr/share/misc – различные архитектурно-независимые данные
Каталог содержит различные архитектурно-независимые файлы, которые не требуют отдельного каталога в /usr/share/. Если соответствующие пакеты установлены в системе, в каталоге должны находиться следующие файлы:
• ascii – ASCII-таблица символов;
• magic – список «магических» цифр;
• termcap – база данных совместимости терминалов.
/usr/src – исходные тексты программ
Любой исходный код нелокальной программы должен помещаться в этот каталог.
/usr/src/Liriux-2.4.3 – каталог исходного кода ядра Linux
В каталоге хранятся файлы и каталоги, содержащие исходный код ядра Linux, модулей, различная документация. Имя каталога меняется в зависимости от того, исходный код какой версии ядра Linux находится в каталоге.
/usr/src/Linux-2.4.3/Documentation – документация к ядру и модулям операционной системы Linux
В каталоге содержится документация, которая тем или иным образом касается ядра операционной системы Linux или загружаемых модулей. Типичное содержимое каталога приведено ниже:
/arm
/cdrom
/cris
/DocBook
/fb
/filesystems
/i2c
/i386
/ia64
/isdn
/kbuild
/m68k
/mips
/networking
/parisc
/powerpc
/s390
/sound
/sparc
/sysctl
/telephony
/video4linux
/vm
/usb
00-INDEX
binfmt_misc.txt
BUG-HUNTING
cachetlb.txt
cciss.txt
Changes
CodingStyle
computone.txt
Configure.help
cpqarray.txt
devices.txt
digiboard.txt
digiepca.txt
DMA-mapping.txt
dnotify.txt
exception.txt
floppy.txt
ftape.txt
hayes-esp.txt
highuid.txt
ide.txt
initrd.txt
ioctl-number.txt
IO-mapping.txt
IRQ-affinity.txt
isapnp.txt
java.txt
joystick-api.txt
joystick-paiport.txt
joystick.txt
kernel-doc-nano-HOWTO.txt
kernel-docs.txt
kernel-parameters.txt
kmod.txt
locks.txt
logo.gif
logo.txt
LVM-HOWTO
magic-number.txt
mandatoiy.txt
mca.txt
md.txt
memory.txt
mkdev.cciss
mkdev.ida
modules.txt
moxa-smartio
mtrr.txt
nbd.txt
nfsroot.txt
nmi_watchdog.txt
oops-tracing.txt
paride.txt
parport-lowlevel.txt
parport.txt
pci.txt
pcwd-watchdog.txt
pm.txt
ramdisk.txt
README.DAC960
README.moxa
README.nsp_cs.eng
riscom8.txt
rtc.txt
SAK.txt
scsi-generic.txt
scsi.txt
serial-console.txt
sgi-visws.txt
smart-config.txt
smp.tex
smp.txt
specialix.txt
spinlocks.txt
stallion.txt
SubmittingDrivers
SubmittingPatches
svga.txt
sx.txt
sysrq.txt
unicode.txt
VGA-softcursor.txt
watchdog.txt
xterm-linux.xpm
zorro.txt
/usr/X11R6 – X Window System, Version 11 Release 6
В каталоге X11R6 содержится иерархия каталогов X Window. Информацию о структуре и назначении каталогов следует искать в документации на X Window.
Данный текст является ознакомительным фрагментом.