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

ЖАНРЫ

Linux-сервер своими руками

Колисниченко Денис Николаевич

Шрифт:

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

Переменная окружения $cwd содержит имя символической ссылки каталога, если такая существует. Просмотреть ее значение можно с помощью команды:

echo $cwd

4.4. Стандартные имена устройств в Linux

Как уже отмечалось раньше, все устройства в Linux являются

файлами. Файлы устройств находятся в специальном каталоге /dev. Для просмотра данного каталога удобнее всего использовать команду mc. Запустите mc и перейдите в каталог /dev. Если возле файла слева вы видите +, то данное устройство подключено и функционирует.

В этом пункте я вкратце постараюсь объяснить, какие файлы ассоциируются с какими устройствами. Договоримся, что символ N обозначает номер устройства, например, ttyN обозначает устройства /dev/tty1…/dev/ttyN, а x — символ. Наиболее используемые стандартные имена устройств (в соответствии с принятыми обозначениями) приведены в табл. 4.2.

Наиболее используемые стандартные имена устройств Таблица 4.2

Файл Устройство
TtyN Консоль
mouse Мышь
audio Звуковая карта
modem Модем. Обычно файл /dev/modem является ссылкой на один из файлов /dev/ttyS0
ttySN Последовательный порт. Файл /dev/ttyS0 аналогичен файлу COM1 в DOS
IpN Параллельный порт
cuaN Могут обозначать последовательные порты. Используются немного в другом контексте, чем ttySN
hdxN IDE жесткий диск
sdxN SCSI жесткий диск
fd0 Первый дисковод для гибких дисков, то есть А:, для В: используется имя /dev/fd1
stN Стример с интерфейсом SCSI
nrtfN Стример с интерфейсом FDC
mdN Массив RAID
ethN Сетевая плата
null Пустое устройство

На устройствах hdxN и sdxN необходимо остановиться подробнее. Известно, что к (E)IDE (ATA) контроллеру можно подключить четыре IDE-устройства: Primary Master, Primary Slave, Secondary Master, Secondary Slave.

Этим устройствам соответствуют символы: а, b, с, d. Например, /dev/hda — Primary Master, a /dev/hdd — Secondary Slave. Номер N в обозначении устройства обозначает номер раздела на жестком диске. Первичный раздел DOS на первом жестком диске обозначается так: /dev/hda1.

4.5. Стандартные каталоги

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

Стандартные каталоги Таблица 4.3

Каталог Назначение
/ Корневой каталог
/bin Содержит стандартные программы
/home Содержит домашние каталоги пользователей
/usr Содержит все программы, используемые системой
/sbin Команды для системного администрирования
/var Содержит файлы, которые постоянно изменяются, например, спулы для принтеров, а также файлы почтовых ящиков
/etc Содержит файл настройки системы
/dev Здесь находятся файлы устройств
/tmp Каталог для временных файлов
/mnt Обычно здесь создаются точки монтирования. Тем не менее, подмонтировать файловую систему можно к любому другому каталогу, а использование каталога /mnt не является обязательным

4.6.

Создание файловой системы. Типы файловых систем

Каждая операционная система имеет основной тип файловой системы, а также дополнительные типы, поддержка которых осуществляется модулями (драйверами), подключаемыми к ядру. В случае с Linux поддержку той или иной файловой системы можно встроить непосредственно в ядро. Основной файловой системой Linux на момент написания этих строк является ext2fs, однако на ее смену сейчас приходит ext3fs и последние версии дистрибутивов Linux используют именно ее. Переход на новую файловую систему обеспечивает более надежную ее работу.

Кроме основной файловой системы, Linux поддерживает файловые системы, указанные в табл. 4.4.

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

Типы файловых систем Таблица 4.4

Файловая система Комментарий
Minix Filesystem (minix) Устаревшая и практически неиспользуемая в наше время файловая система
Xia Filesystem (xia) Редко используется
UMSDOS Filesystem (umsdos) Использовалась для установки Linux в раздел MSDOS
MSDOS Filesystem (msdos) Файловая система msdos
(*) VFAT Filesystem (vfat) Файловая система Windows
NT Filesystem (ntfs) Файловая система Windows NT
HPFS Filesystem (hpfs) High Performance FS. Файловая система OS/2
(*) ISO 9660 Файловая система, используемая большинством CDROM
(*) /proc Предоставляет информацию о процессах
Extended Filesystem (ext) Устаревшая версия основной файловой системы Linux
(*) Second Extended Filesystem (ext2) или Third Extended Filesystem (ext3) Основная файловая система
Network Filesystem (nfs) Сетевая файловая система

Внимание! Старайтесь никогда не использовать файловую систему msdos. Она поддерживает только имена в формате 8+3 (так называемые короткие имена файлов). Вместо нее нужно использовать файловую систему vfat. Она поддерживает «длинные» имена файлов и нормально работает со старыми разделами (дискетами), отформатированными под файловую систему msdos.

Прежде чем перейти к созданию файловой системы, хочу рассмотреть несколько новых файловых систем, которые, скорее всего, становятся стандартом в настоящее время. Ядро 2.4.8 уже поддерживает файловые системы: Ext3, ReiserFS, XFS.

Список файловых систем, которые поддерживаются ядром системы, содержится в файле /proc/filesystems. Просмотреть этот список поможет команда

cat /proc/filesystems

Файловая система Ext3 (Third Extended Filesystem) представляет собой журналируемую надстройку над ext2, поэтому возможно чтение одной файловой системы как драйвером Ext3, так и драйвером Ext2. Возможно отключение журналирования. Файловую систему ext2 можно конвертировать в ext3, запустив программу создания журнала. После конвертирования новую файловую систему можно использовать и без журнала — для этого достаточно примонтировать ее драйвером для ext2.

RaiserFS — журналируемая файловая система. Основной ее особенностью является способность хранить несколько мелких файлов в одном блоке.

XFS — также журналируемая файловая система, первоначально разрабатывалась компанией Silicon Graphics (SGI) для ОС Irix. Особенностью этой файловой системы является устройство журнала: в журнал пишется часть метаданных самой файловой системы таким образом, что весь процесс восстановления после сбоя сводится к копированию этих данных из журнала в файловую систему. Размер журнала задается при создании системы, он должен быть не меньше 32 мегабайт.

JFS первоначально разрабатывалась компанией IBM для AIX OS, позднее была перенесена на OS/2, а не так давно и под Linux. Размер журнала составляет примерно 40% от размера файловой системы. Максимальный размер равен 32 мегабайтам. Эта файловая система может содержать несколько сегментов, содержащих журнал и данные. Эти сегменты называются агрегатами и могут монтироваться отдельно.

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

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