Настройка и работа в Linux
adb5321d

Рекомендации


Следующие команды или символические ссылки должны быть размещены в /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] Вот некоторые из таких файлов:

  • { airport, birthtoken, eqnchar, getopt, gprof.callg, gprof.flat, inter.phone, ipfw.samp.filters, ipfw.samp.scripts, keycap.pcvt, mail.help, mail.tildehelp, man.template, map3270, mdoc.template, more.help, na.phone, nslookup.help, operator, scsi_modes, sendmail.hf, style, units.lib, vgrindefs, vgrindefs.db, zipcodes }
  • Previous: /usr/sbin : Не обязательные стандартные команды

    Next: /usr/src : Исходные коды (optional)

    Up: Оглавление

    Translated by troff2html v1.5 on 29 March 2002 by Daniel Quinlan



    Содержание раздела