В процессе типичной инсталляции любого дистрибутива создается корневой каталог, содержащий следующие файлы и каталоги (н/р OpenLinux):
NetWare/ bru/ initrd/ mnt/ sbin/
auto/ dev/ install@ opt/ tmp/
bin/ etc/ lib/ proc/ usr/
boot/ home/ lost+found/ root/ var/
Имена каталогов заканчиваются замыкающей косой чертой, а символические связи — замыкающим символом @ (при использовании опции -F в команде Is). Рассмотрим поближе каждый из каталогов.
Каталог /NetWare
Этот каталог используется в качестве точки автоматического монтирования для томов NetWare как части клиента NetWare.
Каталог /auto
Этот каталог используется для конфигурирования устройств с целью автоматического обнаружения и монтирования съемных носителей информации в момент их установки. Например, привод для чтения компакт-дисков можно сконфигурировать для автоматического монтирования компакт-диска после его обнаружения в устройстве. Данный метод отличен от метода конфигурирования файла /etc/fstab. Файл /etc/fstab используется для предопределенного и, при указании соответствующей опции, автоматического монтирования указанного устройства во время начальной загрузки системы, но при этом невозможно определить изменение состояния съемного носителя информации.
Каталог /bin
В каталоге /bin находятся системные и пользовательские утилиты. Большинство утилит являются бинарными файлами, отсюда и происходит название данного каталога. Некоторые утилиты в каталоге /bin в действительности являются сценариями оболочки. Для того чтобы определить — что есть что, воспользуйтесь командой file.
Каталог/boot
В нем содержатся компоненты, ключевые для начальной загрузки системы, в том числе подкаталог загрузчика операционной системы Grub. При внесении изменений, которые затрагивают процесс начальной загрузки, например при добавлении еще одного ядра, надо будет внести изменения и в конфигурации загрузчиков.
Каталог /bru
Компоненты дополнительных коммерческих программ для резервирования на магнитной ленте и восстановления находятся в каталоге /bru. Этот каталог не описан в стандарте FHS, но соответствует критериям относительно возможности резервирования и восстановления информации. Каталог /bru будет существовать только в том случае, если у вас инсталлирована коммерческая версия пакета BRU. Другие коммерческие программы создают свои собственные каталоги, которые находятся в каталогах /opt или /usr/local.
Каталог /dev
В этом каталоге находятся файлы всех устройств. Сами драйверы расположены в каталоге /lib/modules/ [версия ядра}/, но описания конкретных устройств находятся именно в каталоге /dev. Устройства более детально рассматриваются в конце этой главы. Подкаталоги в каталоге /dev служат для группировки устройств по типам.
Кроме того, в новые версии ядра 2.4.x включена виртуальная файловая система devf s. В первых дистрибутивах, содержащих новое ядро, этот тип файловой системы практически не используется, но через некоторое время она, безусловно, будет широко использоваться. Виртуальной файловой системы не существует до момента начальной загрузки операционной системы (как и файловой системы /ргос, которая будет рассмотрена позже).
Причиной создания подобной файловой системы послужило то, что с появлением инфракрасных и USB-устройств (Universal Serial Bus — универсальная последовательная шина), количество устройств, для которых необходим файл устройства, неимоверно увеличилось. Если бы каждое устройство имело статический файл устройства, занимающий определенное пространство на диске, то для того, чтобы все их хранить, очень скоро понадобилась бы чрезвычайно большая корневая файловая система.
При использовании файловой системы devfs при загрузке драйвера для каждого подключенного устройства для него в каталоге /dev динамически создается виртуальная запись. Работа с таким устройством осуществляется так же, как и с обычным устройством. Оно не существует постоянно на диске, а находится только в оперативной памяти компьютера.
Для динамического создания файлов устройств файловая система devfs использует демон devfsd. Система не создаст в каталоге /dev записи ни для одного устройства, которое не существует в системе, поэтому при использовании виртуальной файловой системы можно сократить количество записей с 1200 до нескольких сотен. Кроме того, демон devfsd использует конфигурационный файл /etc/devfsd, в котором указывается, какие типы устройств следует обнаруживать. Можно также сохранить старые названия устройств, создав соответствующие символические связи с новыми устройствами.
Каталог /etc
Более подходящим именем для этого каталога было бы config, поскольку в нем содержатся файлы конфигурации и подкаталоги с конфигурационными данными системы. Чрезвычайно важно хорошо знать и понимать значение файлов, содержащихся в этом каталоге. Они имеют критическое значение для ежедневных операций и сопровождения системы. Независимо от того, решается ли такая простая задача, как добавление нового пользователя, или более сложная, например настройка сервера DNS, конфигурационные файлы в каталоге /etc будут изменены.
Каталог /home
Этот каталог используется для хранения данных пользователей. В каталоге /home создается рабочий каталог для каждого нового пользователя. После регистрации в системе пользователь сразу попадает в свой рабочий каталог. Например, рабочим каталогом для пользователя Natalie, вероятнее всего, будет каталог /home/natalie.
Каталог /initrd
В конфигурациях некоторых систем каталог /initrd используется для нужд виртуального загрузочного диска. Например, виртуальный загрузочный диск часто используется, для того чтобы решить проблему, возникающую в ситуации, когда драйвер для монтирования SCSI—диска находится на том же диске, который следует смонтировать. Загружаемые модули детально обсуждаются в главе, касающейся инициализации системы.
Каталог install@
Это символическая связь с каталогом /var/lib/LST, в котором находятся инсталляционные сценарии и файлы.
Каталог /lib
В этом каталоге находятся общие библиотеки. Дело в том, что различные приложения могут использовать одни и те же совместно используемые библиотеки. Например, в этом каталоге хранятся библиотеки языка С, которые используются при создании программ. Библиотеки С имеют названия libc-2 .1. 3 . so или похожие, и в них содержатся функции, общие для всех программ в системе. Благодаря этому программы имеют меньший размер, поскольку они все ссылаются на общие функции из этой библиотеки. А небольшие программы занимают меньше дискового пространства, экономят оперативную память и быстрее выполняются. Без этих библиотек языка С не будет работать вся система, за исключением ядра.
Каталог /lost+found
Если при выполнении утилит файловой системы по исправлению ошибок в системе некоторые ошибки невозможно исправить или обнаруживаются файлы усеченного размера, то поврежденные данные помещаются в каталог /lost + found. Этот каталог находится на верхнем уровне каждого смонтированного раздела, имеющего тип ext2.
Каталог /mnt
В этом каталоге по умолчанию находятся подкаталоги, используемые в качестве точек монтирования для других файловых систем. Например, устройство для чтения компакт-дисков по умолчанию монтируется в каталог /mnt/cdrom, а накопитель на гибких дисках— в каталог /mnt /floppy. В качестве точек монтирования не обязательно использовать именно эти каталоги, но так сделано для удобства. При использовании демона automount файловые системы будут смонтированы в каталоге /auto. He следует использовать каталог /auto для ручного монтирования систем, поскольку в этом случае автомонтировщик будет приведен в замешательство, так как предполагается, что данный каталог используется только им.
Не существует никаких препятствий для использования любого каталога в качестве точки] монтирования, но остерегайтесь возможных последствий. Монтирование поверх существующей файловой системы сделает ее недоступной для использования.
Каталог /opt
В каталог /opt (от options— опции) инсталлируются дополнительные пакеты приложений. Так, пакеты приложения Netscape Communicator инсталлируются именно в данный каталог. В соответствии со стандартом FHS в этом каталоге должны размещаться все приложения сторонних производителей.
Каталог /ргос
Каталог /ргос фактически представляет собой специальную файловую систему. В нем содержится детальная информация о запущенных в текущий момент процессах, а также специальная информация о конфигурации аппаратных средств.
Каталог /root
Он является рабочим каталогом суперпользователя. По умолчанию пользователь root
после регистрации в системе попадает именно в этот каталог. Как отмечалось ранее, не следует путать этот каталог с каталогом /, который называется корневым (по-английски root-Прим. ред.) каталогом. I
Каталог /sbin
В каталоге /sbin содержатся системные утилиты и бинарные файлы, а также утилиты | и бинарные файлы для администрирования системы. Тут находятся все утилиты для разбивки жестких дисков на разделы, проверки целостности файловой системы, создания новых файловых систем, а также для остановки и перезагрузки системы.
Каталог /tmp
Временные файлы хранятся именно в этом каталоге. Зачастую временные файлы используются приложениями для осуществления определенных функций, а также во время инсталляции.
Каталог /usr
Предназначен для хранения совместно используемых, не изменяющихся данных. Этот каталог является главной частью файловой системы, но систему можно сконфигурировать таким образом, что этот каталог будет размещаться на другом компьютере. Большая часть документации расположена в каталоге /usr /doc, а полный исходный код ядра — в каталоге /usr/src.
Каталог /var \
Каталог /var предназначен для размещения изменяемых данных. В нем содержатся каталоги спула для почты, новостей, заданий принтера, а также другие файлы, в том числе и имеющие отношение к администрированию. Все файлы журналов, создаваемые различными процессами, сохраняются в каталоге /var.
Каталог /dev/shm
Единственной файловой системой, которая по умолчанию монтируется к каталогу /dev (хотя она может монтироваться к любому другому каталогу, включая корневой), является shm. Этот каталог никогда ни для каких целей не следует использовать. Данная файловая система используется ядром для обеспечения доступа к совместно используемой памяти. В каталоге /dev/shm изредка можно увидеть несколько файлов, которые через некоторое время исчезают. Количество доступной для общего использования памяти вычисляется ядром операционной системы во время начальной загрузки системы, когда происходит монтирование файловой системы совместно используемой памяти. Она будет частью всей виртуальной файловой системы, доступной ядру. Размер совместно используемой памяти зависит от значения параметра в файле /proc/sys/kerne 1/shmmax, но если вы не знакомы с этой файловой системой, то лучше оставить это значение как есть.
Существует несколько способов определить, что смонтировано к вашей файловой системе. Первый способ заключается в использовании команды df, которая выдает информацию о количестве свободного для использования пространства на диске в каждой смонтированной файловой системе. Однако в этом случае будет показана информация не о всех файловых системах.
Второй способ — вывести на экран содержимое файла /etc/mtab (с помощью команды cat). В нем содержится таблица смонтированных файловых систем. В таблице будут указаны файловые системы, которые монтировались при следующих условиях.
Корневая файловая система смонтирована в режиме чтения-записи. Если корневая
файловая система смонтирована только в режиме чтения, то содержимое файла
/etc/mtab может не отображать правильную информацию.
Файловая система смонтирована без опции -п (не делать запись в mtab ).
Третий способ состоит в использовании команды mount без ключей. Для получения списка смонтированных файловых систем команда mount, так же, как и команда df, использует файл /etc/mtab, поэтому при использовании этих команд возникают те же проблемы, которые есть у файла mtab.
Наконец, можно выполнить команду cat /proc/mounts для вывода на экран всех смонтированных файловых систем. Этот способ работает только при условии, что смонтирован каталог /ргос. Если /ргос не смонтирован (в течение некоторого времени в процессе загрузки), то данный метод невозможно использовать. Информация о файловой системе devf s находится только в файле /ргос /mounts, поскольку она не представляет интереса в обычном случае.
