Рекомендации
Следующие команды или символические ссылки должны быть размещены в /sbin, если только соответствующие пакеты установлены в системе:
fastboot | Команда перезагрузки системы без проверки дисков (optional) |
fasthalt | Команда остановки системы без проверки дисков (optional) |
fdisk | Программа переразбиения диска (optional) |
fsck | Утилита для проверки и восстановления файловых систем (optional) |
fsck.* | Утилиты для проверки и восстановления отдельных типов файловых систем (optional) |
getty | Программа getty (optional) |
halt | Команда остановки системы (optional) |
ifconfig | Утилита конфигурирования сетевых интерфейсов (optional) |
init | Первоначальный процесс (optional) |
mkfs | Команда создания файловой системы (optional) |
mkfs.* | Команда создания файловой системы конкретного типа (optional) |
mkswap | Команда создания файла или раздела подкачки (swap-раздела) (optional) |
reboot | Команда перезагрузки системы (optional) |
route | Утилита определения таблицы статической IP-маршрутизации (optional) |
swapon | Утилита подключения механизма свопинга (optional) |
swapoff | Утилита отключения свопинга (optional) |
update | Демон периодической очистки системных буферов (optional) |
Таблица 3.14.3.2
[15] Когда-то исполняемые файлы, размещаемые теперь в /sbin, помещались в /etc. Программы, которые выполняются после того, когда смонтирован каталог /usr (если монтирование прошло без проблем) обычно размещаются в /usr/sbin. Локально устанавливаемые программы для системного администрирования должны быть размещены в /usr/local/sbin. [примечание 16]
[16] Принять решение о том, какие программы разместить в каталогах "sbin", довольно просто: если обычный пользователь (не системный администратор) когда-либо запускает программу, она должна размещаться в одном из каталогов "bin". Обычные пользователи не должны указывать каталоги sbin в списке путей, просматриваемых по умолчанию (в своей переменной PATH).
Такие, к примеру, файлы, как chfn, которые пользователи запускают очень редко и только в особых случаях, должны, тем не менее, размещаться в /usr/bin. Команда ping, хотя она абсолютно необходима суперпользователю для решения задач сетевой диагностики и восстановления сети, часто используется и рядовыми пользователями, и по этой причине должна размещаться в /bin.
Мы рекомендуем предоставить всем пользователям право на чтение и выполнение для всех файлов, расположенных в /sbin, кроме, может быть тех программ, для которых установлены биты setuid и setgid. Разделение каталогов /bin и /sbin делается не из соображений безопасности и не для того, чтобы лишить пользователей возможности видеть системные утилиты. Целью такого деления является установление явного различия между исполняемыми файлами, которые используются всеми, и теми утилитами, которые в основном используются для решения административных задач. С точки зрения безопасности нет никаких преимуществ в том, чтобы сделать /sbin недоступным для пользователей.
Previous: /root : Домашний каталог пользователя root (optional)
Next: /tmp : Временные файлы
Up: Оглавление
Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan
Следующие каталоги или символические ссылки на каталоги должны иметься в /, если соответствующие подсистемы установлены:
"/" home lib<qual> root |
"Корневой каталог" Домашние каталоги пользователей (optional) Основные разделяемые библиотеки для альтернативных форматов (optional) Домашний каталог пользователя root (optional) |
Дерево 3.3.1
Каждый из перечисленных выше каталогов рассматривается в отдельной секции настоящего документа.
Previous: /: Требования
Next: /bin : Основные исполняемые файлы (доступные всем пользователям)
Up: Оглавление
Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan
Следующие программы или символические ссылки на программы должны находиться в каталоге /bin если только соответствующие пакеты установлены в системе:
csh | оболочка C-shell (optional) |
ed | редактор `ed' (optional) |
tar | утилита архивации tar (optional) |
cpio | утилита архивации cpio (optional) |
gzip | утилита сжатия (компрессии), разработанная в рамках проекта GNU (optional) |
gunzip | утилита декомпрессии, разработанная в рамках проекта GNU (optional) |
zcat | утилита декомпрессии, разработанная в рамках проекта GNU (optional) |
netstat | утилита сетевой статистики (optional) |
ping | утилита тестирования сети с помощью протокола ICMP (optional) |
Таблица 3.4.3.2
Если файлы gunzip и zcat существуют, они должны быть символическими или жесткими ссылками на gzip. /bin/csh может быть символической ссылкой либо на /bin/tcsh, либо на /usr/bin/tcsh.
Если может потребоваться создавать файлы устройств в /dev вручную, каталог /dev должен содержать команду MAKEDEV, которая может создать файл устройства в случае необходимости. Он может также содержать MAKEDEV.local для любых локальных устройств.
Если требуется, MAKEDEV должен иметь возможность создания любого устройства, которое может быть установлено в системе, а не только тех устройств, которые устанавливаются при какой-либо конкретной реализации.
Previous: /boot : Статические файлы для системного загрузчика
Next: /etc : Специфичная для данного хоста конфигурационная информация
Up: Оглавление
Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan
Следующие каталоги либо символические ссылки на них должны быть расположены в /etc, если соответствующие пакеты установлены в системе:
"/etc" X11 sgml |
"Конфигурационная информация для данного хоста" Конфигурация системы X Window (optional) Конфигурация для SGML и XML (optional) |
Дерево 3.7.3.2
Следующие файлы либо символические ссылки на них должны быть расположены в /etc, если соответствующие пакеты установлены в системе: [примечание 5]
csh.login | Общесистемный инициализационный файл для оболочки C-shell (optional) |
exports | Список контроля доступа для сетевой файловой системы NFS (optional) |
fstab | Постоянная информация для монтирования файловых систем (optional) |
ftpusers | Список контроля доступа для демона FTP (optional) |
gateways | Файл, содержащий список шлюзов для демона routed (optional) |
gettydefs | Установки терминала, используемые демоном getty (optional) |
group | Файл, определяющий списки групп пользователей в системе (optional) |
host.conf | Файл конфигурации для системы разрешения имен (optional) |
hosts | Постоянная информация об именах хостов (optional) |
hosts.allow | Список хостов, с которых разрешен доступ в систему (optional) |
hosts.deny | Список хостов, с которых запрещен доступ в систему (optional) |
hosts.equiv | Список доверенных хостов для rlogin, rsh, rcp (optional) |
hosts.lpd | Список доверенных (разрешенных) имен хостов для демона печати lpd (optional) |
inetd.conf | Конфигурационный файл для демона inetd (optional) |
inittab | Конфигурационный файл для init (optional) |
issue | Сообщение, выдаваемое системой до регистрации пользователя (optional) |
ld.so.conf | Список дополнительных каталогов для поиска разделяемых библиотек (optional) |
motd | Сообщение, выдаваемое системой после регистрации пользователя (optional) |
mtab | Динамически изменяющаяся информация о смонтированных файловых системах (optional) |
mtools.conf | Конфигурационный файл для mtools (optional) |
networks | Статическая информация о сетевых именах (optional) |
passwd | Файл паролей (optional) |
printcap | База данных с настройками принтеров для lpd (optional) |
profile | Общесистемный файл инициализации для оболочки, запускаемой при входе пользователя в систему (optional) |
protocols | Перечень IP-протоколов (optional) |
resolv.conf | Конфигурационный файл для системы разрешения имен (optional) |
rpc | Перечень протоколов удаленного вызова процедур (RPC) (optional) |
securetty | Файл со списком устройств, с которых может заходить пользователь root (optional) |
services | Имена портов для сетевых сервисов (optional) |
shells | Список путей доступа для имеющихся в системе оболочек (optional) |
syslog.conf | Конфигурационный файл для демона syslogd (optional) |
Таблица 3.7.3.1
Файл mtab не соответствует неизменяемой природе файлов, размещенных в /etc: он помещен в данный каталог в виде исключения по историческим причинам.[примечание 6]
Следующие каталоги или символические ссылки на каталоги должны находиться в /lib, если соответствующая подсистема установлена:
"/lib" modules |
"Основные разделяемые библиотеки и модули ядра" Загружаемые модули ядра (optional) |
Дерево 3.9.3.1
[10]
Разделяемые библиотеки, которые необходимы только исполняемым файлам, расположенным в /usr (таким как бинарные файлы системы X Window) НЕ должны располагаться в /lib. Только те разделяемые библиотеки, которые необходимы для запуска программ из /bin и /sbin могут располагаться здесь. В частности, библиотека libm.so.* может быть расположена в /usr/lib, если она не требуется никаким программам из /bin или /sbin.
[11] Обычное местоположение этого бинарного файла - /usr/lib/gcc-lib/<target>/<version>/cpp. /lib/cpp может быть либо прямой ссылкой на этот файл, либо ссылкой на любой другой указатель этого файла, существующий в файловой системе. (Например, часто используется /usr/bin/cpp).
Previous: /home : Домашние каталоги пользователей (optional)
Next: /lib<qual> : Основные разделяемые библиотеки альтернативных форматов (optional)
Up: Оглавление
Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan
Следующие файлы или символические ссылки на файлы должны быть в /usr/share/dict, если соответствующие подсистемы установлены:
words | Список слов английского языка (optional) |
Таблица 4.11.4.2.1
В системах, где необходим как американский, так и британский английский, можно сделать words ссылкой на /usr/share/dict/american-english или /usr/share/dict/british-english.
Списки слов для других языков могут быть добавлены, используя английское название соответствующего языка, например, /usr/share/dict/french, /usr/share/dict/danish, и так далее. В названиях должен, по возможности, использоваться набор символов ISO 8859, соответствующий данному языку; если возможно, надо использовать набор символов Latin1 (ISO 8859-1) (зачастую это невозможно).
Другие списки слов тоже могут включаться в этот каталог, если они присутствуют.
Следующие каталоги или символические ссылки на каталоги должны быть в /usr/share/<mandir>/<locale>, если только она не пуста.[примечание 28]
"<mandir>/<locale>" man1 man2 man3 man4 man5 man6 man7 man8 |
"Иерархия страниц интерактивного руководства" Пользовательские программы (optional) Системные вызовы (optional) Библиотечные вызовы (optional) Специальные файлы (optional) Форматы файлов (optional) Игры (optional) Разное (optional) Системное администрирование (optional) |
Дерево 4.11.5.2.3
Компонент <section> задает секцию руководства.
Некоторые дополнения должны быть сделаны в структуре каталога /usr/share/man для поддержки страниц руководства, написанных на разных (или нескольких) языках. При внесении этих изменений необходимо иметь в виду место расположения и ссылки на эти страницы. Кроме того, приходится учитывать такие особенности языка как различия, обусловленные географическими факторами и различными кодировками.
Способ именования специфичных для языка подкаталогов /usr/share/man основан на Приложении E стандарта POSIX 1003.1, которое задает формат строки, идентифицирующей локаль, -- это общепринятый метод определения особенностей, определяемых культурой той или иной страны. Строка <locale> имеет следующий формат:
<language>[_<territory>][.<character-set>][,<version>]
Поле <language> должно браться из стандарта ISO 639 (коды для представления названий языков). Оно должно состоять из двух символов и записываться только в нижнем регистре.
Поле <territory> представляет собой, если это возможно, двух-буквенный код из ISO 3166 (спецификация представления названий стран). (a specification of representations of countries). (Большинство людей знакомы с двухбуквенными кодами, используемыми для обозначения стран в почтовых адресах. [примечание 29]). Это поле должно состоять из двух символов, записываемых только в верхнем регистре (заглавными буквами),
Следующие файлы или символические ссылки на файлы должны иметься в /usr/share/misc, если соответствующие подсистемы установлены.
ascii | таблица набора символов ASCII (ASCII character set table) (optional) |
magic | Список магических чисел (list of magic numbers) для команды file, используемый по умолчанию (optional) |
termcap | База данных с параметрами терминалов (optional) |
termcap.db | База данных с параметрами терминалов (optional) |
Таблица 4.11.6.1.3
Другие (специфические для отдельных приложений) файлы тоже могут размещаться здесь [примечание 30], но разработчики могут при желании разместить их также в /usr/lib.
Следующие каталоги или символические ссылки на каталоги должны быть в /usr/share/sgml, если соответствующие подсистемы установлены:
"/usr/share/sgml" docbook tei html mathml |
"данные для SGML и XML" docbook DTD (optional) tei DTD (optional) html DTD (optional) mathml DTD (optional) |
Дерево 4.11.7.2.4
Другие файлы, которые не относятся к данному DTD, могут располагаться в их собственных подкаталогах.
[25] Многие их этих данных когда-то размещались в /usr (man, doc) или /usr/lib (dict, terminfo, zoneinfo).
[26] Очевидно, что файлы интерактивного руководства не нужны в корневой файловой системе /, потому что они не требуются во время загрузки системы и не являются необходимыми в чрезвычайных обстоятельствах. [примечание 27]
[27] Действительно.
[28] Например, если /usr/local/man не содержит файлов руководства в секции 4 (Устройства), то /usr/local/man/man4 может не создаваться.
[29] Главным исключением из этого правила является Великобритания (the United Kingdom), которая в ISO 3166 обозначается как `GB', а в большинстве почтовых адресов как `UK'.
[30] Вот некоторые из таких файлов:
Previous: /usr/sbin : Не обязательные стандартные команды
Next: /usr/src : Исходные коды (optional)
Up: Оглавление
Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan