Litvek: лучшие книги недели
Топ книга - Подстрочник: Жизнь Лилианны Лунгиной, рассказанная ею в фильме Олега Дормана [Олег Вениаминович Дорман] - читаем полностью в LitvekТоп книга - Исповедь экономического убийцы [Джон Перкинс] - читаем полностью в LitvekТоп книга - Казус Кукоцкого [Людмила Евгеньевна Улицкая] - читаем полностью в LitvekТоп книга - Манюня [Наринэ Юрьевна Абгарян] - читаем полностью в LitvekТоп книга - Вафельное сердце [Мария Парр] - читаем полностью в LitvekТоп книга - Хранитель древностей [Юрий Осипович Домбровский] - читаем полностью в LitvekТоп книга - Цель-2. Дело не в везении  [Элияху Моше Голдратт] - читаем полностью в LitvekТоп книга - Эмоциональный интеллект [Дэниел Гоулман] - читаем полностью в Litvek
Litvek - онлайн библиотека >> Ричард Стоунс и др. >> Программирование: прочее и др. >> Основы программирования в Linux >> страница 231
системы Последний стандарт, который мы собираемся, рассмотреть в этой главе, — Filesystem Hierarchy Standard (FHS, стандарт иерархии файловой системы). Его можно найти по адресу http://www.pathname.com/fhs/.

Назначение этого стандарта — определение типовых мест хранения в файловой системе Linux для того, чтобы как разработчики, так и пользователи могли делать обоснованные предположения относительно местонахождения тех или иных файлов. Многолетние пользователи UNIX-подобных операционных систем долгое время жаловались на трудноуловимые различия в схемах расположения файловых систем, и стандарт FHS предлагает дистрибутивам Linux способ избежать повторения этого прерывистого пути.

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

□ файлы и каталоги, уникальные для конкретной работающей системы Linux, такие как сценарии запуска и файлы конфигурации;

□ файлы и каталоги, предназначенные только для чтения и, возможно, совместно используемые несколькими работающими системами Linux, например исполняемые файлы приложений;

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

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

В стандарте FHS определена структура верхнего уровня, имеющая ряд обязательных подкаталогов и несколько необязательных каталогов; основные из них приведены в табл. 18.3.


Таблица 18.3

Каталог Обязательный? Назначение /bin Да Важные системные двоичные файлы /boot Да Файлы, необходимые для загрузки системы /dev Да Устройства /etc Да Системные файлы конфигурации /home Нет Каталоги для файлов пользователей /lib Да Стандартные библиотеки /media Да Место для съемных монтируемых носителей с отдельными подкаталогами для каждого типа носителей, поддерживаемого системой /mnt Да Удобная точка для временно монтируемых устройств, таких как CD-ROM и накопители флэш-памяти /opt Да Дополнительное прикладное программное обеспечение /root Нет Файлы пользователя root /sbin Да Важные системные двоичные файлы, которые необходимы в процессе запуска системы /srv Да Предназначенные только для чтения данные для сервисов, предоставляемых данной системой /tmp Да Временные файлы /usr Да Вспомогательная иерархия. Традиционно файлы пользователей также хранятся здесь, но в наши дни это считается дурным стилем и обычным пользователем не следует предоставлять право записи в этот каталог /var Да Переменные данные, например файлы регистрации Кроме того, могут существовать и другие каталоги, начинающиеся с lib, хотя это и не распространено. Как правило, вы также будете встречать каталог /lost+found (для восстановления файловой системы с помощью программы fsck) и каталог /proc, представляющий собой псевдофайловую систему, обеспечивающую отображение работающей системы. Текущая версия стандарта FHS усиленно поддерживает файловую систему /proc, но ее присутствие не обязательно. Подробности, касающиеся системы /proc, в основном выходят за рамки тем, обсуждаемых в этой книге, хотя мы и привели ее краткий обзор в главе 3.

Далее познакомимся вкратце с назначением каждого из стандартных подкаталогов корневого каталога /.

□ /bin — содержит двоичные файлы, которые могут использовать как пользователь root, так и обычные пользователи и которые важны для функционирования в однопользовательском режиме, когда некоторые другие структуры каталогов могут не монтироваться. Например, обычно здесь можно найти команды ядра cat и ls, как и команду sh.

□ /boot — применяется для файлов, требуемых во время загрузки системы Linux. Часто этот каталог очень мал, менее 10 Мбайт, и часто это отдельный раздел. Это очень удобно в системах на базе PC, в которых есть ограничения BIOS для активного раздела, который должен находиться в первых 2 или 4 Гбайт диска. Имея этот каталог в виде отдельного раздела, вы будете обладать большей гибкостью при размещении остальных разделов диска.

□ /dev — содержит специальные файлы устройств, отображаемые на аппаратные устройства. Например, /dev/had будет отображаться на первый диск IDE.

□ /etc — содержит файлы конфигурации. По традиции здесь можно найти и некоторые двоичные файлы, но это уже не соответствует действительности для большинства современных систем Linux. Самый известный файл в каталоге /etc — это, вероятно, файл passwd, содержащий информацию о пользователях. Другие полезные файлы — fstab с перечнем вариантов монтирования; hosts со списком отображений IP-адресов в имена компьютеров, и каталог httpd, содержащий конфигурацию для сервера Apache.

□ /home — каталог для файлов пользователей. Обычно у каждого пользователя в этом каталоге есть один каталог с именем, совпадающим с регистрационным именем пользователя, и он будет регистрационным каталогом по умолчанию. Например, после регистрации пользователь rick почти наверняка обнаружит себя в каталоге /home/rick.

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

□ /media — задуман как каталог верхнего уровня для хранения каталогов-точек монтирования для съемных носителей. Цель — иметь возможность удалять ненужные каталоги верхнего уровня, такие как /cdrom и /floppy.

□ /mnt — просто удобное место для монтирования на время дополнительных файловых систем. По сложившейся традиции некоторые дистрибутивы добавляли в  каталог /mnt подкаталоги для разных устройств, таких как /cdrom и /floppy, но в настоящее время предпочтительнее размещать их в каталоге /media, вернув /mnt его первоначальное назначение — единое место размещения верхнего уровня для временного монтирования (single top-level temporary mount location).

□ /opt — каталог для поставщиков программного
Litvek: лучшие книги месяца
Топ книга - Атаман Ермак со товарищи [Борис Александрович Алмазов] - читаем полностью в LitvekТоп книга - Физика невозможного [Мичио Каку] - читаем полностью в LitvekТоп книга - Пробуждение Левиафана [Джеймс С. А. Кори] - читаем полностью в LitvekТоп книга - Технический анализ фьючерсных рынков: Теория и практика [Мэрфи Джон Дж] - читаем полностью в LitvekТоп книга - Счастливый брак по-драконьи. Поймать пламя [Александра Черчень] - читаем полностью в LitvekТоп книга - Тринадцатая сказка [Диана Сеттерфилд] - читаем полностью в LitvekТоп книга - Проходные дворы биографии [Александр Анатольевич Ширвиндт] - читаем полностью в LitvekТоп книга - Будущее [Дмитрий Алексеевич Глуховский] - читаем полностью в Litvek