Глава 5 Дерево каталогов Linux

Глава 5 Дерево каталогов Linux

Эта глава полностью посвящена структуре и размещению каталогов и файлов в Linux. Поскольку для различных дистрибутивов структура может слегка отличаться, для определенности будем рассматривать дистрибутив Red Hat 7.1.

Для того чтобы ориентироваться в Linux, необходимо хорошо представлять себе структуру и размещение каталогов и файлов. Эти параметры для UNIX и Linux описаны в документе "Filesystem Hierarchy Standard – Version 2.2 final", Filesystem Hierarchy Standard Group, edited by Rusty Russell and Daniel Quinlan, редакция от May 23, 2001. Дальнейший текст в основном базируется на этом документе.

Все файлы можно разделить по двум признакам – доступность (shareable, разделяемость) на сетевом уровне и изменяемость/неизменность содержимого.

Соответственно, для каждого признака можно ввести свои понятия:

•  разделяемые данные – те, которые могут использовать несколько хостов одновременно, т. е. данные, доступные для других хостов через сеть;

•  неразделяемые данные – как правило, специфичные для каждого хоста, недоступные через сеть для других хостов;

•  статические данные – включают системные файлы, библиотеки, документацию и другое, что не изменяется без вмешательства администратора;

•  динамические (переменные) данные – все то, что может изменяться пользователем.

Эти признаки взаимно ортогональны, в табл. 5.1 приведены некоторые каталоги, соответствующие этим признакам.

Таблица 5.1. Признаки данных и каталоги

Как видно из таблицы, каталог /usr – статический разделяемый, а каталог /var/lock – динамический неразделяемый. По этим признакам можно распределить все каталоги в файловой системе, о чем и будет упоминаться в соответствующих разделах. Однако такое четкое распределение не всегда наблюдается в современных UNIX-системах. Как правило, эта проблема возникает из-за поддержки совместимости со старым программным обеспечением. Каталоги, не удовлетворяющие четкому разделению, будут упомянуты особо.

Иерархия каталогов Linux

В табл. 5.2 приведена иерархия каталогов первого уровня.

Таблица 5.2. Каталоги первого уровня операционной системы Linux

Рассмотрим подробнее иерархию каталогов.

Корневой (Root) каталог

Точка монтирования всей файловой системы. Играет исключительно важную роль в процессе «жизнедеятельности» операционной системы. Для загрузки системы необходимо, чтобы в корневом разделе (корневой раздел в Linux – это аналог диска С: для DOS/Windows – только на него возможно установить операционную систему. И корневой раздел является точкой монтирования корневого каталога) находились утилиты и конфигурационные файлы, необходимые для монтирования других файловых систем. Кроме того, в корневой файловой системе должны присутствовать утилиты, необходимые для создания, восстановления или ремонта файловых систем, а также для административного восстановления (backup) системы с ленты, CD-ROM, дискет и тому подобных носителей. Каталоги /usr, /opt, /var спроектированы так, что они могут размещаться на файловых системах, отличных от корневой. В дистрибутиве Slackware в корневом каталоге по умолчанию находится ядро операционной системы (что на больших винчестерах иногда вызывало определенные проблемы), в дистрибутиве Red Hat ядро операционной системы перенесено в каталог /boot.

Имеется несколько причин, по которым корневую файловую систему рекомендуется делать минимально возможного размера:

• это позволяет монтировать файловую систему с очень маленьких носителей информации (например дискет);

• корневая файловая система не может быть разделяемой, потому что содержит много системно-зависимых конфигурационных файлов. Создание малой по объему корневой файловой системы позволяет сохранить на серверах больше места для разделяемых ресурсов;

• у маленького по объему корневого каталога меньше вероятность пострадать при крахе системы.

Каталог /bin

Содержит важные исполняемые файлы, которые используются всеми (в том числе и администратором системы) пользователями. Кроме того, в каталоге /bin должны находиться исполняемые файлы, необходимые для функционирования системы в однопользовательском режиме (single mode). Он также может содержать исполняемые файлы, которые напрямую используются в скриптах. Каталог /bin не должен содержать подкаталогов. Исполняемые файлы, от которых напрямую не зависит функционирование системы, рекомендуется размещать во вторичной иерархии – в каталоге /usr/bin.

Таким образом, в каталоге /bin должны находиться следующие файлы или символические ссылки на команды:

• cat – утилита, выдающая на стандартное устройство вывода объединенные файлы;

• chgrp – утилита, позволяющая изменить группу владельца файла;

• chmod – утилита, изменяющая права доступа к файлу;

• chown – утилита, изменяющая владельца и группу файла;

• ср – утилита, позволяющая копировать файлы и каталоги;

• date – утилита, позволяющая вывести или установить системные дату и время;

• dd – утилита, позволяющая конвертировать и копировать файл;

• df – утилита, показывающая использование дискового пространства;

• dmesg – утилита, выводящая или управляющая буфером сообщения ядра;

• echo – утилита, отображающая строку текста;

• false – утилита возвращает значение "Не успешно" (unsuccessfully);

• hostname – утилита, показывающая или устанавливающая имя хоста;

• kill – утилита, посылающая управляющие сигналы процессам;

• In – утилита, создающая линки (связи, ссылки) между файлами;

• login – утилита, начинающая сессию в системе;

• Is – утилита, показывающая содержимое каталога;

• mkdir – утилита, позволяющая создавать каталог;

• mknod – утилита, создающая блочные или символьные специальные файлы;

• more – утилита, позволяющая просматривать текстовые файлы постранично;

• mount – утилита, монтирующая файловую систему;

• mv – утилита, перемещающая или переименовывающая файлы;

• ps – утилита, показывающая статус процессов;

• pwd – утилита, выводящая имя текущего рабочего каталога;

• rm – утилита, удаляющая файлы или каталоги;

• rmdir – утилита, удаляющая пустой каталог;

• sed – редактор;

• setserial – программа настройки последовательных портов;

• sh – командная оболочка Bourne;

• sty – утилита, изменяющая и выводящая установки терминальной линии;

• su – утилита, изменяющая пользовательский идентификатор (user ID);

• sync – утилита, сбрасывающая (flush) буферы файловой системы;

• true – утилита возвращает значение «Успешно» (successfully);

• umount – утилита, размонтирующая файловые системы;

• uname – утилита, выводящая системную информацию.

Если в системе не используется утилита sh, то sh должна быть ссылкой на используемую системой командную оболочку.

Если установлены соответствующие пакеты, в каталоге /bin могут присутствовать следующие программы или символические ссылки:

• csh – командная оболочка С shell;

• ed – редактор;

• tar – архивная утилита;

• cpio – архивная утилита;

• gzip – утилита архивации файлов GNU;

• gunzip – утилита разархивации файлов GNU;

• zcat – утилита разархивации файлов GNU;

• netstat – утилита сетевой статистики;

• ping – ICMP-сетевая утилита.

Каталог /boot

Содержит все, что требуется для процесса загрузки, исключая файлы конфигурации. В каталоге /boot находятся данные, используемые ядром до того, как оно начинает исполнять программы пользовательского режима (user-mode). В этом же каталоге может находиться сохраненный сектор master boot и другие специфичные данные. Конфигурационные файлы загрузчика находятся в каталоге /etc. Ядро операционной системы, как было сказано выше, должно находиться или в корневом каталоге (дистрибутив Slackware), или в каталоге /boot (дистрибутив Red Hat). В некоторых случаях приходится создавать отдельный раздел /boot, находящийся до 1024 цилиндра. Как правило, это зависит от версии загрузчика и от BIOS компьютера. Таким образом, в каталоге /boot версии Linux Red Hat 7.1 должны находиться следующие файлы или символические ссылки на команды:

boot.0300

boot.b

chain.b

kernel.h®

kernel.h-2.4.3

map

message

module-info@

module-info-2.4.2–2

os2_d.b

System.map@

System.map-2.4.2-2

vmlinux-2.4.2–2*

vmlinuz®

vmlinuz-2.4.2–2.

Каталог /dev

Содержит файлы устройств или специальные файлы. Создание в каталоге /dev файлов устройств осуществляется с помощью предназначенной для этого утилиты makedev, находящейся в нем же. Также в этом каталоге может находиться утилита makedev.local, предназначенная для создания локальных устройств. Все устройства и специальные файлы описываются в документе Linux Allocated Devices, который поставляется вместе с исходным кодом ядра (см. также соответствующую справочную документацию).

Каталог /etc

Каталог содержит конфигурационные файлы и каталоги, которые специфичны для данной системы. В этом каталоге не должно находиться никаких исполняемых модулей. В каталоге /etc обязательно должен присутствовать каталог /opt, содержащий конфигурационные файлы для программ, установленных в каталоге /opt.

Данный текст является ознакомительным фрагментом.



Поделитесь на страничке

Похожие главы из других книг:

5.3.1.2. Элементы каталогов Linux и BSD

Из книги автора

5.3.1.2. Элементы каталогов Linux и BSD Хотя мы только что сказали, что вам следует использовать лишь члены d_ino и d_name структуры struct dirent, стоит знать о члене d_type в struct dirent BSD и Linux. Это значение unsigned char, в котором хранится тип файла, имя которого находится в элементе каталога:struct dirent


Глава 8 Файловые системы и обходы каталогов

Из книги автора

Глава 8 Файловые системы и обходы каталогов Данная глава завершает обсуждение файловых систем и каталогов Linux (и Unix). Сначала мы опишем, как к логическому пространству имен файловой системы добавляется (и удаляется) раздел диска, содержащий файловую систему, таким образом,


Базисное дерево

Из книги автора

Базисное дерево Так как ядро должно проверять наличие страниц в страничном кэше перед тем, как запускать любую операцию страничного ввода-вывода, то этот поиск должен выполняться быстро. В противном случае затраты на поиск могут свести на нет все выгоды кэширования (по


Глава 21 Консоль Linux

Из книги автора

Глава 21 Консоль Linux Консоль Linux, как правило, имитирует последовательный терминал. Выводя специальные последовательности символов в компонент консоли, можно управлять всеми аспектами воспроизведения на экране. Для вывода информации на экран обычно применяются S-Lang, curses


Глава 1 Особенности ОС Linux

Из книги автора

Глава 1 Особенности ОС Linux Я считаю, что Microsoft создала объективно плохую операционную систему, и мне интересно наблюдать, как это постепенно доходит до людей. Линус Торвальдс, создатель ОС Linux Мир операционных систем предоставляет пользователям достаточно большое их


Глава 2 Возможности Linux

Из книги автора

Глава 2 Возможности Linux В этой главе пойдет разговор об администраторах, офисном и домашнем применении Linux. Автор достаточно долго занимался сопровождением как программ, так и локальных сетей и компьютеров, поэтому не понаслышке знает проблемы администратора.


Глава 7. Wi-Fi для Linux

Из книги автора

Глава 7. Wi-Fi для Linux Каждый беспроводной сетевой адаптер (за исключением Apple AirPort Card) поставляется с драйверами и конфигурационными инструментами для Microsoft Windows, но это не означает, что Windows является единственной операционной системой, которая будет работать с данным


4.1. Файлы и каталоги. Дерево каталогов

Из книги автора

4.1. Файлы и каталоги. Дерево каталогов В свое время, при использовании DOS вводилось определение файла как поименованной области данных на диске — на то DOS и дисковая операционная система. В Linux понятие файла значительно расширено. Практически все, с чем вы имеете дело в Linux,


20.5.1 Дерево SMI

Из книги автора

20.5.1 Дерево SMI Вспомним, что первоначально SNMP предполагался как временное решение до выпуска стандартов управления ISO. На рис. 20.4 дерево администрирования/именования отражает первичные попытки согласования с ISO. Рис. 20.4. Дерево администрирования и именования SMIУзлы вверху


12.3. Совместное использование каталогов в Linux Mandrake

Из книги автора

12.3. Совместное использование каталогов в Linux Mandrake Конфигуратор diskdrake-fileshare позволяет очень быстро настроить пакет Samba для разрешения совместного использования каталогов («расшаривания» каталогов). Убедитесь, что запущены сервисы nfs и smb, если это не так, запустите их:# service


Wood (Дерево)

Из книги автора

Wood (Дерево) Текстура дерева имеет большое значение при разработке дизайна. Рисунок поверхности среза дерева часто используется для декорирования объектов интерьера. Рисунок дерева наносится на предметы мебели, сделанные из ДСП, пластика и других материалов, бытовую


Дерево модели

Из книги автора

Дерево модели Древовидное представление трехмерной модели (сборки или детали) в девятой версии претерпело значительные изменения. В частности, была добавлена возможность представления состава модели в виде структурированных разделов (рис. 1.72, а). При этом элементы


Глава 9. От новичка до гуру. Дерево развития технаря

Из книги автора

Глава 9. От новичка до гуру. Дерево развития технаря Технарь – слово всеобъемлющее. С одной стороны, «технарь» – это образ жизни, но с другой – только начало пути специалиста. Потому что, если у человека есть желание занять высокий пост, то придется быть не только технарем,


Сортирующее дерево

Из книги автора

Сортирующее дерево Классическая структура данных, используемая для создания очереди по приоритету, известна под названием сортирующего дерева (или "кучи"). Сортирующее дерево (heap), на которое еще ссылаются как на частично упорядоченное полное двоичное дерево, - это


10.2. AVL-дерево: приближенно сбалансированное дерево

Из книги автора

10.2. AVL-дерево: приближенно сбалансированное дерево AVL-дерево — это дерево, обладающее следующими свойствами:(1) Левое и правое поддеревья отличаются по глубине не более чем на 1.(2) Оба поддерева являются AVL-деревьями.Деревья, удовлетворяющие этому определению, могут быть


2.6. Дерево модели

Из книги автора

2.6. Дерево модели Дерево построения документа — структурированный список («дерево») объектов, отражающий последовательность создания документа. Отображение значка «+» рядом с объектом означает, что он имеет подчиненные объекты. Чтобы развернуть их список, щелкните