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

ЖАНРЫ

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

Шрифт:

Кроме того, система ReiserFS является журналируемой, т. е. в ней решена проблема быстрого восстановления после сбоев. Решена в ReiserFS и проблема с ограничением на размер файла. По всей видимости, именно эта файловая журналируемая система в ближайшее время станет стандартом de-facto для многих дистрибутивов Linux.

Ссылки

• e2fsprogs.sourceforge.net – утилиты файловой системы Ext2.

• ftp.uk.linux.org/pub/linux/sct/fs/ji\'s/ – код и документация Ext3.

• www.atni.csiro.au/~rgooch/linux/docs/vfs.txt – обзор виртуальной файловой системы.

• www.osp.ru/pcworld/2000/02/064.htm – Виктор Хименко. Файлы, файлы, файлы. Обзор файловых систем.

• www.linux-ve.chat.ru –

виртуальная библиотека 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 – утилита, выводящая имя текущего рабочего каталога;

Поделиться с друзьями: