Чтение онлайн

на главную

Жанры

Стахнов Алексей Александрович

Шрифт:

• /man5 – документация по множеству файловых форматов;

• /man6 – содержится документация по разнообразным играм;

• /man7 – разное. Содержит документацию, которую трудно классифицировать;

• /man8 – системное администрирование. Программы, используемые системным администратором для администрирования и сопровождения системы.

Система справочной информации должна поддерживать несколько языков одновременно, поэтому для исключения конфликтов в каталоге /usr/share/man файлы справочной системы принято хранить следующим образом:

• для каждого языка, установленного в системе (locale, локаль), в каталоге /usr/share/man создается подкаталог, носящий имя своей локали;

• в этом подкаталоге создаются каталоги /man<раздел>, причем только те, в которых есть справочная информация;

• в каталоге /man<раздел> хранятся справочные файлы, отдельные для каждой установленной программы, причем стандартом de-facto является то, что справочные файлы хранятся в архивированном виде (никто, однако, не запрещает хранить их в распакованном виде, но для экономии места на жестком диске их упаковывают).

Программа man при обращении к ней с целью получения справочной информации по какой-то программе сначала пытается получить справочную информацию на языке, соответствующем текущей локали. Если ей это не удается, то берется информация, хранящяяся в /шг/811аге/man/man<раздел>. По умолчанию в этих каталогах содержится англоязычная справочная информация.

Наименование языковых подкаталогов в /usr/share/man основывается на приложении Е стандарта POSIX 1003.1, который описывает строку-идентификатор локали. Строка-идентификатор локали согласно этому стандарту имеет вид:

<язык>[_<территория>][.<кодовая страница символов>][,<версия>]

• поле <язык>

берется из стандарта ISO 639. Это должны быть два символа исключительно в нижнем регистре;

• поле <территория> должно быть двухсимвольным кодом только в верхнем регистре (согласно стандарту ISO 3166);

• поле скодовая страница символов> должно быть представлено в стандартном описании кодовой страницы. Если скодовая страница символов> содержит числовую спецификацию, она соответствует интернациональному стандарту, описывающему эту страницу;

• поле <версия> рекомендуется не использовать без крайней необходимости. Реальное его применение – например, для страны, имеющей один язык и кодировку, но разные диалекты.

Пример формирования каталогов локализованной справочной системы приведен в табл. 5.3.

Таблица 5.3. Пример формирования каталогов локализованной справочной системы

Архитектурно-зависимые справочные файлы можно помещать в отдельные каталоги, соответствующие архитектуре. Например, /usr/share/man/<locale>/ man8/i386/ctrlaltdel.8. Однако проще написать общее справочное руководство, в котором особо отметить архитектурно-зависимые случаи, чем разрабатывать справочные файлы для каждой архитектуры.

Справочная информация для программ и данных, находящихся в /usr/local, размещается в каталоге /usr/local/man. Справочная информация, касающаяся X11R6, размещается в каталоге /usr/X11R6/man.

Правило размещения справочных руководств на различных языках в отдельные подкаталоги также распространяется и на справочные руководства, хранящиеся в каталогах /usr/local/man и /usr/X11R6/man.

/usr/share/misc – различные архитектурно-независимые данные

Каталог содержит различные архитектурно-независимые файлы, которые не требуют отдельного каталога в /usr/share/. Если соответствующие пакеты установлены в системе, в каталоге должны находиться следующие файлы:

• ascii – ASCII-таблица символов;

• magic – список «магических» цифр;

• termcap – база данных совместимости терминалов.

/usr/src – исходные тексты программ

Любой исходный код нелокальной программы должен помещаться в этот каталог.

/usr/src/Liriux-2.4.3 – каталог исходного кода ядра Linux

В каталоге хранятся файлы и каталоги, содержащие исходный код ядра Linux, модулей, различная документация. Имя каталога меняется в зависимости от того, исходный код какой версии ядра Linux находится в каталоге.

/usr/src/Linux-2.4.3/Documentation – документация к ядру и модулям операционной системы Linux

В каталоге содержится документация, которая тем или иным образом касается ядра операционной системы Linux или загружаемых модулей. Типичное содержимое каталога приведено ниже:

/arm

/cdrom

/cris

/DocBook

/fb

/filesystems

/i2c

/i386

/ia64

/isdn

/kbuild

/m68k

/mips

/networking

/parisc

/powerpc

/s390

/sound

/sparc

/sysctl

/telephony

/video4linux

/vm

/usb

00-INDEX

binfmt_misc.txt

BUG-HUNTING

cachetlb.txt

cciss.txt

Changes

CodingStyle

computone.txt

Configure.help

cpqarray.txt

devices.txt

digiboard.txt

digiepca.txt

DMA-mapping.txt

dnotify.txt

exception.txt

floppy.txt

ftape.txt

hayes-esp.txt

highuid.txt

ide.txt

initrd.txt

ioctl-number.txt

IO-mapping.txt

IRQ-affinity.txt

isapnp.txt

java.txt

joystick-api.txt

joystick-paiport.txt

joystick.txt

kernel-doc-nano-HOWTO.txt

kernel-docs.txt

kernel-parameters.txt

kmod.txt

locks.txt

logo.gif

logo.txt

LVM-HOWTO

magic-number.txt

mandatoiy.txt

mca.txt

md.txt

memory.txt

mkdev.cciss

mkdev.ida

modules.txt

moxa-smartio

mtrr.txt

nbd.txt

nfsroot.txt

nmi_watchdog.txt

oops-tracing.txt

paride.txt

parport-lowlevel.txt

parport.txt

pci.txt

pcwd-watchdog.txt

pm.txt

ramdisk.txt

README.DAC960

README.moxa

README.nsp_cs.eng

riscom8.txt

rtc.txt

SAK.txt

scsi-generic.txt

scsi.txt

serial-console.txt

sgi-visws.txt

smart-config.txt

smp.tex

smp.txt

specialix.txt

spinlocks.txt

stallion.txt

SubmittingDrivers

SubmittingPatches

svga.txt

sx.txt

sysrq.txt

unicode.txt

VGA-softcursor.txt

watchdog.txt

xterm-linux.xpm

zorro.txt

/usr/X11R6 – X Window System, Version 11 Release 6

В каталоге X11R6 содержится иерархия каталогов X Window. Информацию о структуре и назначении каталогов следует искать в документации на X Window.

Каталог /var

Каталог содержит изменяемые файлы. Сюда входят spool-каталоги и файлы, административные и журнальные данные, временные файлы. Некоторые каталоги, входящие в иерархию /var, такие как /var/log, /var/lock и /var/run, не должны быть разделяемыми между различными системами. Другие каталоги, такие как /var/mail, /var/cache/man, /var/cache/fonts и /var/spool/news, могут быть разделяемыми.

Рекомендуется для каталога /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), то в этом каталоге хранятся ее базы данных.

Ссылки

•– Filesystem Hierarchy Standard в различных текстовых форматах.

•– список устройств и специальных файлов.

• 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 не может ее найти, оно выдает соответствующее сообщение и останавливается.

Во многих дистрибутивах и практически всегда при загрузке с дискеты в оперативной памяти создается псевдодиск (RAM-disk, виртуальный диск), который и выступает в роли корневой файловой системы. Для этого есть две причины. Во-первых, оперативная память на несколько порядков быстрее, чем дискета, и во-вторых – на виртуальный диск ядро может загрузить с дискеты и распаковать сжатую файловую систему, что позволяет поместить на дискете намного больше файлов.

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

Программы-загрузчики

Используются для загрузки ядра операционной системы Linux, передачи параметров ядру и организации загрузки нескольких операционных систем, установленных на компьютере.

LILO – LInux LOader

Программа-загрузчик, на сегодняшний день является стандартом de-facto практически для любого дистрибутива Linux. LILO (LInux LOader – загрузчик Linux) без проблем может загружать DOS, OS/2, Linux, FreeBSD, Windows и множество других операционных систем.

Стандартно сконфигурированная программа LILO после запуска приостановит свое выполнение и выведет на экран графическое изображение с меню, пунктами которого являются варианты загрузки. Несколько секунд LILO ожидает ввода пользователем варианта загрузки (или специальных команд) и, в случае их отсутствия, запускает вариант загрузки, выбранный при конфигурировании по умолчанию. Обычные варианты загрузки в LILO носят название linux и dos (если в системе установлены одновременно операционная система Windows 9х и Linux).

Конфигурационный файл LILO – /etc/lilo.conf, формат его можно найти в соответствующей справочной документации.

GRUB

GRand Unified Bootloader (Главный унифицированный загрузчик) – универсальный загрузчик, разработан в Фонде свободного программного обеспечения. Имеет больше возможностей по сравнению с LILO, а также избавлен от некоторых ограничений. В последнее время стал очень популярен, и по распространенности скоро догонит LILO.

LoadLin

Еще одна программа запуска Linux, которая, правда, не используется при старте компьютера, а позволяет загрузить ядро Linux из командной строки DOS (с параметрами загрузки). Применение LoadLin оправдано в том случае, если мы не хотим устанавливать загрузчик типа LILO в MBR (Master Boot Record) винчестера. Этот загрузчик также необходим, если у нас имеется оборудование, использующее драйвер DOS для установки в определенное состояние.

Поделиться:
Популярные книги

Студент

Гуров Валерий Александрович
1. Студент
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Студент

Варлорд

Астахов Евгений Евгеньевич
3. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Варлорд

Как я строил магическую империю

Зубов Константин
1. Как я строил магическую империю
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Как я строил магическую империю

Кодекс Охотника. Книга XII

Винокуров Юрий
12. Кодекс Охотника
Фантастика:
боевая фантастика
городское фэнтези
аниме
7.50
рейтинг книги
Кодекс Охотника. Книга XII

Неудержимый. Книга II

Боярский Андрей
2. Неудержимый
Фантастика:
городское фэнтези
попаданцы
5.00
рейтинг книги
Неудержимый. Книга II

Измена

Рей Полина
Любовные романы:
современные любовные романы
5.38
рейтинг книги
Измена

Пенсия для морского дьявола

Чиркунов Игорь
1. Первый в касте бездны
Фантастика:
попаданцы
5.29
рейтинг книги
Пенсия для морского дьявола

Не грози Дубровскому! Том V

Панарин Антон
5. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том V

Утопающий во лжи 3

Жуковский Лев
3. Утопающий во лжи
Фантастика:
фэнтези
рпг
5.00
рейтинг книги
Утопающий во лжи 3

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

Средневековая история. Тетралогия

Гончарова Галина Дмитриевна
Средневековая история
Фантастика:
фэнтези
попаданцы
9.16
рейтинг книги
Средневековая история. Тетралогия

Измена. Возвращение любви!

Леманн Анастасия
3. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Возвращение любви!

Комбинация

Ланцов Михаил Алексеевич
2. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Комбинация

Кодекс Охотника. Книга V

Винокуров Юрий
5. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
4.50
рейтинг книги
Кодекс Охотника. Книга V