Алексей Стахнов - Linux
Рекомендуется для каталога /var выделить отдельный раздел на жестком диске. В том случае, если это невозможно, не следует размещать его в корневой файловой системе. Это позволит избежать некоторых проблем, возникающих при переполнении диска. Приложения не должны создавать каталоги в верхнем уровне иерархии /var. В каталоге /var должны присутствовать следующие каталоги:
• /cache – каталог кэша программ;
• /db – каталог для файлов баз данных;
• /games – файлы для игровых программ;
• /lib – библиотеки;
• /local – изменяемые данные для /usr/local;
• /lock – Lock-файлы (файлы-защелки);
• /log – Log-файлы и каталоги (файлы журналов);
• /lost+found – каталог для файлов, восстановленных после краха системы;
• /mail – каталог, содержащий почтовые ящики пользователей;
• /named – файлы DNS-сервера;
• /opt – переменные данные для /opt;
• /run – данные о запущенных процессах;
• /spool – spool-данные приложений;
• /state – состояние приложений;
• /tmp – временные файлы, сохраняемые между перезагрузками системы.
/var/cache – кэш программКаталог используется для хранения временных «короткоживущих» данных, создаваемых программами. Это могут быть буферы ввода/вывода или файлы, содержащие какие-нибудь промежуточные данные. Подкаталоги в /var/cashe создаются при установке пакетов и обычно носят имя соответствующей программы.
Если соответствующие пакеты установлены в системе, в каталоге должны находиться следующие файлы:
• /fonts – каталог для хранения динамически создаваемых шрифтов;
• /man – сформатированные страницы руководств. Справочные страницы в /usr/man хранятся в специальном виде и перед тем, как показать справочное руководство пользователю, страницы необходимо сформатировать;
• /www – файлы или кэш-данные прокси-сервера WWW;
• /<пакет> – кэш соответствующего пакета.
/var/games – файлы для игровых программВ этом каталоге должны храниться файлы, которые могут изменяться, например файлы, содержащие таблицы результатов, файлы сохраненных игр и т. п.
/var/lib – библиотекиНемного неверное наименование раздела. В этом каталоге содержатся различные файлы, входящие в какие-либо пакеты, которые можно отнести к системным. Обычно каждый пакет, который сохраняет какие-то файлы в каталог /var/lib, создает свой каталог, имеющий вид Даг/НЬ<имя_пакета>. Если соответствующие пакеты установлены в системе, в каталоге должны находиться следующие файлы:
• /misc – разные несистематизированные файлы;
• /<редактор> – каталог соответствующего редактора, в котором хранятся резервные копии файлов и файлы состояния;
• /rpm – каталог для менеджера пакетов RPM. В нем содержатся базы установленных в системе пакетов и другая служебная информация;
• /<пакет> – файлы соответствующего пакета;
• /xdm – данные Х-менеджера.
/var/lock – lock-файлы (файлы-защелки)Lock-файлы (файлы-защелки) – файлы, которые «закрепляют» какое-либо оборудование или файлы для использования только программой, создающей файл-защелку. Обычно уничтожаются по окончании работы программы или если файл или оборудование не нужны в данный момент программе. В каталоге /var/lock могут находиться, например, следующие подкаталоги:
• /console – данные, относящиеся к консоли системы;
• /samba – данные, связанные с программой Samba.
/var/log – файлы и каталоги журналов (log-файлов)Каталог содержит разнообразные файлы журналов. Также для некоторых пакетов используются каталоги, в которых хранятся соответствующие файлы журналов. Если соответствующие пакеты установлены в системе, в каталоге должны находиться следующие файлы:
• /httpd – каталог для журнальных файлов Web-cepвepa;
• /samba – каталог для журнальных файлов сервера Samba;
• /squid – каталог для журнальных файлов SQUID;
• /uucp – каталог для журнальных файлов UUCP.
Также в каталоге /var/log должны находиться следующие файлы:
• сгоп – события демона сгоп;
• dmesg – сообщения в течение дня;
• lastlog – записи о последней регистрации в системе каждого пользователя;
• maillog – регистрация событий, связанных с почтовыми сообщениями;
• messages – системные сообщения от syslogd;
• secure – сообщения, связанные с безопасностью;
• statistics – файл статистики;
• usracct – файл активности пользователей;
• wtmp – записи всех logins и logouts;
• boot.log – журнал загрузки системы;
• htmlaccess.log – журнал доступа к Web-cepвepy;
• XFree86.0.1og – журнал XFree86.
/var/mail – пользовательские почтовые ящикиЭтот каталог хранит пользовательские почтовые ящики, сохраненные в стандартном формате UNIX mailbox.
/var/opt – изменяемые данные для каталога /optВ этом каталоге должны храниться изменяемые данные пакетов, устанавливаемые в каталог /opt. Рекомендуется для каждого пакета создать свой каталог вида /ор1/<имя_пакета>.
/var/run – переменные файлы времени исполненияКаталог содержит системную информацию, описывающую состояние системы. Файлы в этом каталоге при загрузке системы должны быть удалены или усечены до нулевого размера. Программы, если это им необходимо, могут иметь подкаталоги, при условии, что эти программы создают во время функционирования более чем один файл (однако, например, демон FTP создает следующие файлы: ftp.pids-all, ftp.pids-local, ftp.pids-other, а отдельного каталога не имеет).
В каталоге, в основном, содержатся файлы-идентификаторы процессов (PID, Process identifie file), имеющие имя <имя_программы>.pid. К примеру, /var/run/named.pid. Pid-файл должен содержать символы, соответствующие номеру PID и символ перевода строки.
Каталог /var/run должен быть недоступен для записи непривилегированными пользователями, поскольку запись информации или ее удаление из каталога /var/run может привести к печальным последствиям, вплоть до краха системы.
/var/spool – spool-данные приложенийКаталог /var/spool – содержит данные, которые ожидают какой-либо обработки. После обработки (программой, пользователем, администратором) они должны быть удалены из каталога. Если соответствующие пакеты установлены в системе, в каталоге должны находиться следующие файлы:
• /at – spool-каталог программы at;
• /сгоп – spool-каталог программы сгоп;
• /lpd – spool-катал or программы печати;
• /mail – каталог входящей почты;
• /mqueue – исходящая почтовая очередь;
• /news – spool-каталог сервера новостей;
• /samba – spool-каталог сервера Samba;
• /squid – spool-каталог SQUID;
• /uucp – spool-каталог для UUCP.
/var/tmp – временные файлы, сохраняемые между перезагрузкамиКаталог /var/tmp используется для того, чтобы временные файлы, необходимые для программ, сохранялись при перезагрузке системы. Файлы, находящиеся в /tmp, при перезагрузке системы могут быть удалены.
/var/yp – файлы баз данных Network Information Service (NIS) (опционально)Если в системе установлена сетевая информационная служба (Network Information Service, NIS), так же известная, как Желтые страницы (Sun Yellow Pages, YP), то в этом каталоге хранятся ее базы данных.
Ссылки
• http://www.pathname.com/fhs/ – Filesystem Hierarchy Standard в различных текстовых форматах.
• http://www.kerael.org/pub/llniix/docs/device-list/devices.txt – список устройств и специальных файлов.
• proc.txt – документация по файловой системе procfs. Входит в состав документации к ядру Linux.
• Соответствующие тап-страницы.
• Соответствующие HOWTO (см. гл. 13):
– Networking-HOWTO;
– SMB-HOWTO;
– DNS-HOWTO;
– LILO-HOWTO.Глава 6 Процесс загрузки Linux
Для того чтобы достичь полного контроля над операционной системой крайне важно представлять себе, как происходит процесс ее загрузки.
Вот нажатием кнопки Power вы включили компьютер. Сначала специальная программа, зашитая в ПЗУ материнской платы, производит тестирование установленного в компьютере оборудования. В случае неудачи вы либо услышите из встроенного динамика компьютера серию гудков, либо программа тестирования оборудования выведет на дисплей предупреждающее сообщение.
Если система успешно прошла тестирование, на дисплее можно будет увидеть перечень установленного оборудования, емкость оперативной памяти и жесткого диска. После этого программа BIOS (Basic Input/Output System – базовая система ввода/вывода), хранящаяся в ПЗУ материнской платы, определит, с какого устройства будет происходить загрузка (например, с жесткого диска С:), и считает из первого сектора загрузочного диска короткую программу-загрузчик. Эта программа (LILO, GRUB) загружает с жесткого диска ядро Linux, которое имеет имя vmlinuz-x.y.z-a (где x.y.z – это номер версии ядра, например, 2.4.3, а строка а – признак сборки, может быть каким-то числом или словом) и находится в каталоге /boot (для Red Hat-подобных дистрибутивов) или в корне файловой системы (для дистрибутива Slackware). Во время загрузки ядру можно передать различные параметры, позволяющие более тонко настроить систему (об этом немного позже). Сразу после загрузки ядро производит инициализацию устройств, установленных в компьютере. Затем пробует загрузить и монтировать корневую (root) файловую систему. Ядру необходимо тем или иным образом сообщить, где искать корневую файловую систему. Если ядро Linux не может ее найти, оно выдает соответствующее сообщение и останавливается.