Часть полного текста документа:Иерархия каталогов и файловых систем в Linux Виктор Костромин Структура каталогов понятие чисто логическое и к реальным механизмам работы с файлами отношения не имеет. Каждая конкретная операционная система могла бы строить ее по-своему, что привело бы к несовместимости и непереносимости программ. Группой энтузиастов был разработан стандарт FHS иерархии файловых систем для Unix-подобных операционных систем. Любой пользователь знаком сегодня с понятиями файла и каталога (с точки зрения Unix каталог тот же файл) [1-3]. Группой энтузиастов из сообщества разработчиков программ с открытым кодом была предложена спецификация структуры каталогов для Unix-подобных систем, так называемый стандарт иерархии файловых систем (Filesystem Hierarchy Standard, FHS). Работа над FHS началась в августе 1993 года с попытки упорядочить структуру файлов и каталогов Linux. Вначале его называли проектом стандартов файловой системы Filesystem Standards Project (FSSTND), а первая версия была выпущена 14 февраля 1994 года. В начале 1995 года была поставлена задача по созданию более общей версии FSSTND, предназначенной не только для Linux, но и для других Unix-подобных систем, в первую очередь BSD 4.4. Учитывая расширение сферы действия стандарта, его переименовали в FHS (www.pathname.com/fhs). Стандарт вобрал положительные качества, присущие BSD и другим системам в части поддержки различных архитектур и учета требований работы в гетерогенных сетях. Во-первых, учитывалось, что, хотя в Unix-подобных системах структура каталогов представлена в виде единого дерева, отдельные его "ветви" могут располагаться на разных носителях или в разных файловых системах. Размещение файлов на разных носителях позволяет оптимизировать процессы загрузки, последующего функционирования и возможного обновления системы. При этом файловые системы могут физически располагаться на разных компьютерах и быть различными по своей внутренней организации (ext2fs, vfat и т.д.). Во-вторых, любая Unix-система - система сетевая. Поэтому при размещении отдельных файлов в различных частях файловой структуры учитывалось, что некоторые файлы должны быть доступны с других компьютеров в сети, а к другим файлам доступ по сети необходимо ограничить. Группа неразделяемых файлов вычленяется как по соображениям безопасности, так и просто потому, что эти файлы определяют локальную конфигурацию системы и поэтому нужны только на данном компьютере. Выделение группы разделяемых файлов позволяет также экономить общее дисковое пространство. В третьих, существуют файлы, изменять которые может только администратор, и те, которые любой пользователь может менять самостоятельно. К числу статических относятся исполняемые файлы, библиотеки, документация и др. Для рядовых пользователей эти файлы должны быть доступны только на чтение. Знание этих предпосылок помогает понять логику размещения отдельных файлов и каталогов в структуре каталогов, предлагаемой стандартом FHS. Корневой каталог Стандарт FHS предлагает создать в корневом каталоге следующие подкаталоги: bin - файлы основных команд (утилит), которые необходимы, когда никакая другая файловая система еще не смонтирована (например, в однопользовательском режиме); boot - неизменяемые файлы, необходимые для загрузки системы; dev - файлы устройств; etc - файлы конфигурации системы на данном компьютере; home - домашние каталоги пользователей (факультативно); lib - основные разделяемые библиотеки и модули ядра; lib - основные разделяемые библиотеки для альтернативных форматов (факультативно); mnt - точку монтирования для временно подключаемых файловых систем; root - домашний каталог пользователя root (факультативно); opt - дополнительные пакеты программного обеспечения; sbin - основные системные исполняемые файлы; tmp - временные файлы; usr - иерархию второго уровня; var - переменные данные. ............ |