Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Глава 4. Знакомство с файловой системой ext2fs

Предыдущий раздел Оглавление Следующий раздел

4.3. Назначение основных системных каталогов

Если вы работали, например, с Windows 95, то вы знаете, что, хотя пользователь имеет полную свободу в организации структуры каталогов, некоторые "обычаи" все же сохраняются. Так системные файлы располагаются обычно в подкаталоге C:\Windows, вновь устанавливаемые программы по умолчанию размещаются в каталоге C:\Program Files и т. д.. В Linux типовая структура каталогов выдерживается, пожалуй, даже более строго. Более того, существует даже стандарт на структуру каталогов для UNIX-подобных ОС, так называемый Filesystem Hierarchy Standart (FHS), полный текст которого можно найти по адресу http://www.pathname.com/fhs/ (Примеч.10). Дистрибутив Red Hat в основном придерживается стандарта FHS.

В табл. 4.1 дан краткий перечень основных стандартно создаваемых каталогов той файловой структуры, которая создается при установке дистрибутива Red Hat (и его последователей).

В левом столбце перечислены подкаталоги корневого каталога, во втором столбце — некоторые основные (далеко не все!) подкаталоги второго уровня, а в третьем столбце даны краткие пояснения о назначении всех этих каталогов. Пояснения по необходимости очень краткие, более подробно с основными каталогами вы можете познакомиться по тексту стандарта FHS (http://www.pathname.com/fhs/).

Таблица 4.1. Структура каталогов Red Hat Linux

Каталог

Подкаталоги

Назначение

/bin


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

/boot


Содержит основные постоянные файлы для загрузки системы, в частности загружаемое ядро. Файлы из этого каталога нужны только во время загрузки системы

/dev


Каталог специальных файлов или файлов устройств. О них мы поговорим чуть подробнее в одном из следующих подразделов. Можете также заглянуть в man mknod(1)

/etc


Этот каталог и его подкаталоги содержат большинство данных, необходимых для начальной загрузки системы и основные конфигурационные файлы. В /etc находятся, например, файл inittab, определяющий загружаемую конфигурацию, и файл паролей пользователей passwd. Часть конфигурационных файлов может находится и в /usr/etc. Каталог /etc не должен содержать двоичных файлов (их следует перенести в /bin или /sbin). Ниже приводится назначение основных (но далеко не всех!) подкаталогов каталога /etc


/etc/rc.d

Этот подкаталог содержит файлы, которые используются в процессе начальной загрузки системы. Подробнее о них и вообще о процессе загрузки будет рассказано в разд. 8.2


/etc/skel

Когда создается новый пользователь и account для него, то файлы из этого каталога копируются во вновь созданный домашний каталог пользователя


/etc/sysconfig

Каталог, содержащий некоторые (но не все) конфигурационные файлы системы


/etc/X11

Каталог для конфигурационных файлов подсистемы X11 (например, XF86Config)

/home


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

/lib


Этот каталог содержит разделяемые библиотеки функций, необходимых компилятору языка C и модули (драйверы устройств). Даже если в системе не установлен компилятор языка C, разделяемые библиотеки необходимы, поскольку они используются многими прикладными программами. Они загружаются в память по мере необходимости выполнения каких-то функций, что позволяет уменьшить объем кода программ — в противном случае один и тот же код многократно повторялся бы в различных программах

/lost+found


Этот каталог используется при восстановлении файловой системы командой fsck. Если fsck обнаруживает файл, родительский каталог которого определить невозможно, она помещает такой файл в каталог /lost+found. Поскольку родительский каталог потерян, то таким файлам присваиваются имена, совпадающие с номерами их индексных дескрипторов

/mnt


Это точка монтирования для временно монтируемых файловых систем. Если на компьютере запускается поочередно Linux и MS DOS, то этот каталог обычно используется, чтобы монтировать файловую систему MS DOS. Если вы имеете привычку монтировать несколько дополнительных носителей, например, дискеты, CD-ROM, дополнительный жесткий диск и т. д., то можно создать в нем соответственно дополнительные подкаталоги для каждого носителя

/proc


Это точка монтирования для файловой системы proc, которая обеспечивает информацию о выполняющихся процессах, ядре, оборудовании вычислительной установки и т. д. Это псевдо-файловая система, подробности о которой можно узнать по команде man 5 proc. Специальные файлы из этого каталога используются для получения и передачи данных ядру

/root


Это домашний каталог суперпользователя. Обратите внимание на то, что он расположен не там, где располагаются личные каталоги остальных пользователей (в /home)

/sbin


Подобно каталогу /bin содержит в основном исполняемые файлы — программы и утилиты ОС, используемые в процессе загрузки и запускаемые системным администратором. В стандарте FHS говорится, что в этот каталог надо помещать те исполняемые файлы, которые используются после успешного подключения файловой системы /usr. Минимальное содержимое этого каталога включает программы clock, getty, init, update, mkswap, swapon, swapoff, halt, reboot, shutdown, fdisk, fsck.*, mkfs.*, lilo, arp, ifconfig, route

/tmp


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

/usr


Этот каталог огромен и его структура в основном повторяет структуру корневого каталога. В его подкаталогах находятся все основные приложения. В соответствии со стандартом FHS рекомендуется выделять для этого каталога отдельный раздел диска или вообще располагать его на сетевом диске, общем для всех компьютеров в сети. Такой раздел или диск монтируют только для чтения и располагают в нем общие конфигурационные и исполняемые файлы, документацию, системные утилиты и библиотеки, а также включаемые файлы (файлы типа include)


/usr/bin

Готовые к исполнению программы — утилиты и приложения, которые часто вызывают обычные пользователи.

/usr/bin/X11 — Обычное место для расположения готовых к исполнению программ из X-Window в Linux. Часто это символическая ссылка на /usr/X11R6/bin


/usr/dict

Этот каталог содержит файлы со словарным запасом для программ проверки корректности написания слов.


/usr/etc

Здесь содержатся конфигурационные файлы для группы машин. Однако, команды и программы должны смотреть в каталог /etc, в котором должны быть линки к файлам в каталоге /usr/etc


/usr/include

Этот каталог содержит исходный код стандартных библиотек языка C, подставляемый в программы директивой препроцессора include. Поэтому пользователю надо иметь, по крайней мере, право на чтение из этого каталога. Ни в коем случае не следует модифицировать файлы в этом каталоге, потому что они тщательно отлажены разработчиком системы (разве что вы знаете систему лучше разработчика)


/usr/lib

В данном каталоге содержится объектные библиотеки подпрограмм, динамические библиотеки, некоторые готовые к исполнению программы, которые не вызываются непосредственно. Сложные программные системы могут иметь свои подкаталоги в этом каталоге.

  • /usr/lib/X11 — Обычное место для помещения файлов связанных с X-Window, а также конфигурационных файлов самой системы X-Window. В Linux это обычно символическая ссылка на каталог /usr/X11R6/lib/X11.

  • /usr/lib/gcc-lib — Содержит готовые к исполнению программы и файлы типа include для компилятора GNU C (gcc).

  • /usr/lib/groff — Файлы для системы форматирования текстов groff.

  • /usr/lib/uucp — Файлы для UUCP.

  • usr/lib/zoneinfo — Файлы для определения временной зоны. Смотрите также страницы руководств named-xfer (8), tzfile (5), tzselect (8), zdump (8), zic (8)


/usr/local

Обычно здесь помещают программы и подкаталоги, которые являются локальными (уникальными) для данной машины.

  • /usr/local/bin — Обычно здесь помещают готовые к исполнению программы, которые являются локальными (уникальными) для данной машины.

  • /usr/local/doc — Здесь располагается документация ко всем установленным на Вашем компьютере пакетам прикладного ПО.

  • /usr/local/etc — Конфигурационные файлы для локально установленных программ.

  • /usr/local/lib — Библиотеки и файлы для локально установленных программ и систем.

  • /usr/local/info — Страницы описаний, которые просматриваются посредством программы info, для локально установленных программ.

  • /usr/local/man — Страницы описаний, которые просматриваются посредством программы man, для локально установленных программ.

  • /usr/local/sbin — Локальные программы системного администратора.

  • /usr/local/src — Исходные тексты программ, установленных на данной машине


/usr/man

Страницы интерактивного руководства man в исходном формате (не подготовленные для просмотра).

/usr/man/<locale>/man[1-9] — Эти каталоги содержат страницы руководств на различных языках (в зависимости от значения locale). Системы, которые используют один язык и один кодовый набор, могут не использовать подстроку <locale>


/usr/sbin

Этот каталог содержит готовые к исполнению программы для системного администрирования, которые не используются во время загрузки


/usr/src

Исходные тексты для различных частей Linux.
/usr/src/linux — исходные тексты для ядра Linux


/usr/tmp

Еще одно место для хранения временных файлов. Обычно это символическая ссылка на каталог /var/tmp


/usr/X11R6

Файлы относящиеся к системе X-Window (версии 11, релиз 6).

  • /usr/X11R6/bin — Готовые к исполнению программы системы X-Window.

  • /usr/X11R6/lib — Файлы и библиотеки, связанные с системой X-Window

/var


Этот каталог содержит файлы, в которых сохраняются различные переменные данные, определяющие конфигурацию некоторых программ при следующем запуске или временно сохраняемую информацию, которая будет использоваться позже в ходе текущего сеанса. Объем данных в этом каталоге может сильно изменяться, поскольку он содержит, например, файлы протоколов (логи), файлы спулинга и блокировки (locking), временные файлы и т. д.


/var/adm

Содержит учетную и диагностическую информацию, необходимую системному администратору


/var/backups

Этот каталог используется, чтобы сохранить резервную копию важных системных файлов


/var/catman/cat[1-9]

Этот каталог используется, чтобы хранить уже сформированные страницы руководств в соответствии с номером главы


/var/lock

Здесь содержатся управляющие файлы системы, которые используются для резервирования использования тех или иных ресурсов системы


/var/log

Различные файлы протоколов (логи)


/var/run

Переменные файлы времени выполнения различных программ. Они содержат идентификаторы процессов (PIDs) и записывают текущую информацию (utmp). Файлы в этом каталоге обычно очищаются во время загрузки системы


/var/spool

Файлы различных программ, поставленные в очередь на обслуживание.

  • /var/spool/at — Файлы заданий, запущенных посредством команды at.

  • /var/spool/cron — Файлы системы cron.

  • /var/spool/lpd — Файлы, ожидающие вывода на печать.

  • /var/spool/mail — Пользовательские почтовые ящики.

  • /var/spool/news — Файлы системы news.

  • /var/spool/uucp — Файлы системы uucp


/var/tmp

Временные файлы


Предыдущий раздел Оглавление Следующий раздел