Колисниченко Д.Н. - Linux-сервер своими руками (1077324), страница 25
Текст из файла (страница 25)
Подробнее о наборах прав доступа будет сказанониже. А на данном этапе хочется отметить следующее: символические ссылки очень полезны, так как они позволяют идентифицировать файл, накоторый они ссылаются, тогда как для жестких ссылок нет простого способаопределить, какие файлы привязаны к одному и тому же индексу. Однако,если вы удалите файл, на который ссылаются символические ссылки, тополучите паутину бесполезных ссылок, которые ни на что не ссылаются.При использовании жестких ссылок вы не сможете удалить файл до тех пор,пока на него ссылается хоть одна жесткая ссылка.Переменная окружения $cwd содержит имя символической ссылки каталога,если такая существует.
Просмотреть ее значение можно с помощью команды:echo $cwd•"4.4. Стандартные имена устройств в LinuxКак уже отмечалось раньше, все устройства в Linux являются файлами.Файлы устройств находятся в специальном каталоге /dev. Для просмотраданного каталога удобнее всего использовать команду тс. Запустите тс иперейдите в каталог /dev.
Если возле файла слева вы видите +, то данноеустройство подключено и функционирует.В этом пункте я вкратце постараюсь объяснить, какие файлы ассоциируются с какими устройствами. Договоримся, что символ N обозначает номерустройства, например, ttyN обозначает устройства /dev/ttyl .. /dev/ttyN,а х — символ. Наиболее используемые стандартные имена устройств (всоответствии с принятыми обозначениями) приведены в табл. 4.2.На устройствах hdxN и sdxN необходимо остановиться подробнее. Известно, что к (E)IDE (ATA) контроллеру можно подключить четыре IDEустройства: Primary Master, Primary Slave, Secondary Master, Secondary Slave.Наиболее используемые стандартные имена устройствФайлTtyNmouseaudiomodemttySNIpNcuaNhdxNТаблица 4.2УстройствоКонсольМышьЗвуковая картаМодем.
Обычно файл /dev/modem является ссылкой на один из файлов /dev/ttySOПоследовательный порт. Файл /dev/ttySO аналогичен файлу COM4 в DOSsdxNfdOstNnrtfNmdNethNПараллельный портМогут обозначать последовательные порты. Используются немного в другом контексте, чем ttySNIDE жесткий дискSCSI жесткий дискПервый дисковод для гибких дисков, то есть А:, для В: используется имя /dev/fd1Стример с интерфейсом SCSIСтример с интерфейсом FDCМассив RAIDСетевая платаnullПустое устройство101Файловая система LinuxЭтим устройствам соответствуют символы: а, Ь, с,Primary Master, a /dev/hdd — Secondary Slave.устройства обозначает номер раздела на жесткомDOS на первом жестком диске обозначается так:d.
Например, /dev/hda —Номер N в обозначениидиске. Первичный раздел/dev/hdal.4.5. Стандартные каталогиВ ОС Linux есть каталоги, которые называются стандартными. Иногдаих еще называют системными. Эти каталоги присутствуют практически вкаждой ОС Linux. В них находятся файлы, необходимые для управления исопровождения системы, а также стандартные программы. Описание стандартных каталогов сведено в табл.
4.3.Таблица 4.3Стандартные каталогиКаталог//bin/home/usr/sbin/var/etc/dev/tmp/mntНазначениеКорневой каталогСодержит стандартные программыСодержит домашние каталоги пользователейСодержит все программы, используемые системойКоманды для системного администрированияСодержит файлы, которые постоянно изменяются, например, спулы для принтеров,а также файлы почтовых ящиковСодержит файл настройки системыЗдесь находятся файлы устройствКаталог для временных файловОбычно здесь создаются точки монтирования. Тем не менее, подмонтировать файловую систему можно к любому другому каталогу, а использование каталога /mnt не является обязательным4.6.
Создание файловой системы. Типы файловых системКаждая операционная система имеет основной тип файловой системы, атакже дополнительные типы, поддержка которых осуществляется модулями(драйверами), подключаемыми к ядру. В случае с Linux поддержку той илииной файловой системы можно встроить непосредственно в ядро. Основнойфайловой системой Linux на момент написания этих строк является extlfs,однако на ее смену сейчас приходит extSfs и последние версии дистрибутивов Linux используют именно ее. Переход на новую файловую системуобеспечивает более надежную ее работу.Кроме основной файловой системы, Linux поддерживает файловые системы, указанные в табл.
4.4.В табл. 4.4 рассмотрены базовые типы файловых систем. ОС Linuxподдерживает и другие файловые системы, не указанные в таблице. Поддержку нужной вам файловой системы можно включить при перекомпилировании ядра. Подробно этот процесс рассмотрен в гл. 18. Для нормальнойработы вам потребуются только файловые системы, отмеченные звездочкой.102Файловая система LinuxТипы файловых системФайловая системаMinix Filesystem (minix)Xia Filesystem (xia)UMSDOS Filesystem (umsdos)MSDOS Filesystem (msdos)(*) VFAT Filesystem (vfat)NT Filesystem (ntfs)HPFS Filesystem (hpfs)(*) ISO 9660(*) /procExtended Filesystem (ext)(*) Second Extended Filesystem (ext2)или Third Extended Filesystem (ext3)Network Filesystem (nfs)Таблица 4.4КомментарийУстаревшая и практически неиспользуемая в наше времяфайловая системаРедко используетсяИспользовалась для установки Linux в раздел MSDOSФайловая система msdosФайловая система Windows ЭхФайловая система Windows NTHigh Performance FS.
Файловая система OS/2Файловая система, используемая большинством CDROMПредоставляет информацию о процессахУстаревшая версия основной файловой системы LinuxОсновная файловая системаСетевая файловая системаВнимание!Старайтесь никогда не использовать файловую систему msdos.
Она поддерживаеттолько имена в формате 8+3 (так называемые короткие имена файлов). Вместо неенужно использовать файловую систему vfat. Она поддерживает «длинные» именафайлов и нормально работает со старыми разделами (дискетами), отформатированными под файловую систему msdos.Прежде чем перейти к созданию файловой системы, хочу рассмотретьнесколько новых файловых систем, которые, скорее всего, становятся стандартом в настоящее время. Ядро 2.4.8 уже поддерживает файловые системы:Ext3, ReiserFS, XFS.Список файловых систем, которые поддерживаются ядром системы, содержится в файле / p r o c / f i l e s y s t e m s .
Просмотреть этот список поможеткоманда 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.
Размер журнала703Файловая система Linuxсоставляет примерно 40% от размера файловой системы. Максимальныйразмер равен 32 мегабайтам. Эта файловая система может содержать несколько сегментов, содержащих журнал и данные. Эти сегменты называютсяагрегатами и могут монтироваться отдельно.Все эти файловые системы предназначены для создания высокопроизводительного файлового сервера или рабочей станции, ориентированной наработу с файлами больших размеров. Какая из них лучше — трудно сказать.Нужно исходить из потребностей.Производительность JFS ниже, чем у остальных трех файловых систем,но она более предсказуема по своему поведению, то есть можно с большойвероятностью предсказать, когда начнется падение производительности. XFSобладает значительно большими показателями производительности.
Особенно хорошо она себя проявляет при работе с файлами больших размеров.Производительность этой файловой системы можно значительно повысить,если создать журнал на отдельном контроллере.Файловая система ReiserFS показала еще большую производительность,но трудна в прогнозировании падения производительности. Файловая система ext3 практически по всем параметрам производительности мало чемотличается от ReiserFS.Вот тут я слишком часто употребляю слово «журналируемая».
Давайтеже разберемся, что же собой представляет журналируемая файловая система,и в чем состоят ее преимущества.Прежде всего нужно отметить, что журналируемые файловые системы непредназначены для восстановления ваших данных любой ценой после сбоя.Они предназначены для других целей. Например, вы открываете файл, и онуспешно открывается — файловая система отмечает операцию открытия всвоем журнале записью транзакции.
Затем вы начинаете писать в файл. Приэтом файловая система не запоминает копии этих данных. Затем происходитсбой. Когда происходит восстановление после сбоя, происходит откат до последней успешной транзакции — открытия нового пустого файла. Поэтому, когдавы пишите в файл и происходит сбой, вы получите файл нулевой длины.Давайте рассмотрим создание основной файловой системы типа ext2.