![]() |
|
|
Реферат: ОС Linux. Руководство системного администраторакотором находятся файлы, используемые при загрузке и само ядро) должен полностью располагаться в пределах первых 1024 цилиндров, потому как во время загрузки работа с диском происходит через BIOS (перед переходом системы в защищенный режим), а BIOS не может оперировать с цилиндрами, номер которых больше, чем 1024. Иногда представляется возможным использование загрузочного раздела, лишь частично расположенного в пределах первых 1024 цилиндров. Данный метод работает до тех пор, пока все файлы, считываемые посредством BIOS, находятся в пределах 1024 цилиндров. Так как это сделать довольно сложно, то пpименение этого метода не рекомедуется. Сложно предугадать, когда после дефрагментации или сбрасывании содержимого буфера на диск система перестанет загружаться. Поэтому следует удостовериться в том, что загрузочный раздел расположен в пределах первых 1024 цилиндров. Некоторые последние версии BIOS и недавние модели IDE дисков в действительности позволяют pаботать с цилиндрами, номер которых превышает 1024. Каждый раздел должен содержать четное количество секторов, так как в системе Linux используются блоки размером в 1 Кб, т.е. два сектора. Нечетное количество секторов приведет к тому, что последний из них будет неиспользован. Это ни на что не влияет, но пpи запуске fdisk будет выдано пpедупpеждение. При изменении размера раздела обычно требуется сначала сделать резервную копию всей необходимой информации, удалить раздел, создать новый раздел, а затем восстановить всю сохраненную информацию на новый раздел. Хотя существует программа для MS-DOS под названием fips, которая позволяет изменять объем раздела без резервного копирования, но для других файловых систем эту опеpацию необходимо пpоизводить. 4.5.5 Файлы устройств и разделы Каждому основному и расширенному разделу соответствует отдельный файл устpойства. Существует соглашение для имен подобных файлов, которое состоит в добавлении номера раздела к имени файла самого диска. 1-4 разделы являются основными (вне зависимости от того, сколько существует основных pазделов), а 5-8 - логическими (вне зависимости от того, к какому основному разделу они относятся). Например, /dev/hda1 соответствует первому основному разделу первого IDE жесткого диска, а /dev/sdb7 - третьему расширенному разделу второго SCSI диска. 4.6 Файловые системы 4.6.1 Что такое файловая система? Файловая система - это методы и структуры данных, которые используются операционной системой для хранения файлов на диске или его разделе. О файловой системе также говорят, ссылаясь на раздел или диск, используемый для хранения файлов или тип файловой системы. Нужно видеть разницу между диском или разделом и установленной на нем файловой системой. Некоторые программы (например, программы установки файловой системы) при обращении к диску или разделу используют прямой доступ к секторам. Если на этом месте была файловая система, то она будет серьезно повреждена. Большинство программ взаимодействуют с диском посредством файловой системы, и, следовательно, их работа будет нарушена, если на разделе или диске никакая система не установлена (или тип файловой системы не соответствует требуемуму). Перед тем, как раздел или диск могут быть использованы в качестве файловой системы, она должна быть инициализирована, а требуемые данные перенесены на этот диск. Этот процесс называется созданием файловой системы. У большей части файловых систем UNIX сходная структура, а их некоторые особенности очень мало различаются. Основными понятиями являются: суперблок, индексный дескриптор (inode), блок данных, блок каталога и косвенный блок. В суперблоке содержится информация о файловой системе в целом, например, ее размер (точная информация зависит от типа файловой системы). В индексном дескрипторе хранится вся информация о файле, кроме его имени. Имя файла хранится в блоке каталога, вместе с номером дескриптора. Запись каталога содержит имя файла и номер индексного дескриптора соответствующего файла. В этом дескрипторе хранятся номера нескольких блоков данных, которые используются для хранения самого файла. В inode есть место только для нескольких номеров блоков данных, однако, если требуется большее количество, то пространство для указателей на блоки данных динамически выделяется. Такие блоки называются косвенными. Для того, чтобы найти блок данных, нужно сначала найти его номер в косвенном блоке. В файловых системах UNIX обычно имеется возможность создания дыр в файлах (это можно сделать с помощью команды lseek(2), см. руководство). Это означает, что файловая система предоставляет ложную информацию о том, что в каком-то месте в файле содержатся нулевые байты, но в действительности для этого не выделяются сектора (это означает, что файл будет занимать несколько меньше места на диске). Это часто используется особенно в небольших двоичных программах, библиотек Linux, в некоторых базах данных и в других отдельных случаях. (Дыры реализуются хранением специального значения в косвенном блоке или индексном дескрипторе вместо адреса блока данных. Это специальное значение показывает, что для данной части файла блоки данных не размещены и, следовательно, что в файле есть дыра.) Использование дыр достаточно эффективно. На компьютере с общим дисковым пространством в 200 Мб, простые измерения показывают, что применение дыр дает экономию в 4 Мб. Однако, эти измерения проводились на системе, где было установлено относительно мало программ и отсутствовали файлы баз данных. Метод измерения дыр рассмотрен в приложении B. 4.6.2 Типы файловых систем Linux поддерживает несколько типов файловых систем. Наиболее важные из них рассмотрены ниже. minix Считается самой старой и самой надежной файловой системой, но достаточно ограниченной в своих возможностях (у файлов отсутствуют некоторые временные параметры, длина имени файла ограничена 30-ю символами) и доступных объемах (максимум 64 Мб на одну файловую систему). xia Модифицированная версия системы minix, в которой увеличена максимальная длина имени файла и размер файловой системы, хотя она не pеализует никаких новых возможностей. ext2 Наиболее богатая функциональными возможностями файловая система из семейства совместимых с Linux. На данный момент считается самой популярной системой. Она разработана с учетом совместимости с последующими версиями, поэтому для установки новой версии кода системы не требуется устанавливать ее заново. ext Предыдущая версия системы ext2, не совместима с последующими версиями. В настоящее время она очень редко включается в пакеты новых поставляемых систем, т.к. большинство пользователей сейчас пользуются системой ext2. В дополнение к рассмотренным выше, в Linux включена поддержка еще некоторых файловых систем для обеспечения обмена файлами между другими операционными системами. Эти файловые системы работают также, как и описанные выше, кроме того, что их функциональные возможности могут быть значительно ограничены по сравнению с возможностями, обычно предоставляемыми файловыми системами UNIX. msdos Обеспечивается совместимость с системой MS-DOS (а также OS/2 и Windows NT). umsdos Расширяет возможности драйвера файловой системы MS-DOS для Linux таким образом, что при работе в Linux, имеется возможность работы с именами файлов нестандартной длины, просмотра прав доступа к файлу, ссылок, имени пользователя, которому принадлежит файл, а также оперирование с файлами устройств. Это позволяет использовать обычную систему MS-DOS, так, как если бы это была система Linux. Таким образом, исключается необходимость создания отдельного раздела для Linux. iso9660 Стандартная файловая система для CD-ROM. Довольно популярное развитие стандарта CD-ROM, выполненное Rock Ridge'м, которое обеспечивает автоматическую поддержку имен файлов нестандартной длины. nfs Сетевая файловая система, обеспечивающая разделение одной файловой системы между несколькими компьютерами для предоставления доступа к ее файлам со всех машин. hpfs Файловая система OS/2. sysv Файловые системы System V/386, Coherent и Xenix. Также существует файловая система proc, которая обычно доступна через каталог /proc. В действительности, она не является файловой системой, хотя по ее структуре сложно обнаружить разницу. Эта система позволяет получить доступ к определенным структурам данных ядра, к таким, как список процессов (отсюда название). Все эти структуры выглядят как файловая система и ими можно оперировать обычными средствами работы с файловой системой. Например, для получения списка всех процессов, используется следующая команда: ttyp5 root ~ $ ls -l /proc total 0 dr-xr-xr-x 4 root root 0 Jan 31 20:37 1 dr-xr-xr-x 4 liw users 0 Jan 31 20:37 63 dr-xr-xr-x 4 liw users 0 Jan 31 20:37 94 dr-xr-xr-x 4 liw users 0 Jan 31 20:37 95 dr-xr-xr-x 4 root users 0 Jan 31 20:37 98 dr-xr-xr-x 4 liw users 0 Jan 31 20:37 99 -r--r--r-- 1 root root 0 Jan 31 20:37 devices -r--r--r-- 1 root root 0 Jan 31 20:37 dma -r--r--r-- 1 root root 0 Jan 31 20:37 filesystems -r--r--r-- 1 root root 0 Jan 31 20:37 interrupts -r-------- 1 root root 8654848 Jan 31 20:37 kcore -r--r--r-- 1 root root 0 Jan 31 11:50 kmsg -r--r--r-- 1 root root 0 Jan 31 20:37 ksyms -r--r--r-- 1 root root 0 Jan 31 11:51 loadavg -r--r--r-- 1 root root 0 Jan 31 20:37 meminfo -r--r--r-- 1 root root 0 Jan 31 20:37 modules dr-xr-xr-x 2 root root 0 Jan 31 20:37 net dr-xr-xr-x 4 root root 0 Jan 31 20:37 self -r--r--r-- 1 root root 0 Jan 31 20:37 stat -r--r--r-- 1 root root 0 Jan 31 20:37 uptime -r--r--r-- 1 root root 0 Jan 31 20:37 version ttyp5 root ~ $ (В действительности, должно быть еще несколько файлов, не соответствующих процессам, однако, этот пример немного укорочен.) Хотя система /proc и называется файловой, ни одна ее часть не взаимодействует с диском. Она существует только в представлении ядра и при попытке обращения к какой-либо ее части, создается впечатление, что эта часть где-то существует, хотя в действительности это не так. Даже если существует файл /proc/kmem в несколько мегабайт, он не занимает места но диске. 4.6.3 Какую файловую систему устанавливать? Обычно мало смысла в пpименении нескольких разных файловых систем. В настоящее время наиболее популярной считается система ext2fs и, возможно, является наилучшим выбором. В зависимости от различных параметров (скорость, производительность, надежность, совместимость и др.) может оказаться, что установка другой файловой системы будет более приемлемым вариантом. 4.6.4 Установка файловой системы Файловая система устанавливается, т.е. инициализируется, при помощи команды mkfs(8). В действительности, существуют отдельные программы для каждого типа файловой системы. Команда mkfs только запускает требуемую программу в зависимости от типа устанавливаемой системы. Тип файловой системы указывается при помощи опции -t fstype. Параметры, передаваемые программам, вызываемым mkfs, слегка различаются. Наиболее важные из них рассмотрены ниже (для более подробной информации см. руководство). -t fstype Указывается тип файловой системы. -c Производится поиск плохих блоков и, соответственно, инициализация списка плохих блоков. -l filename Считывается начальный список плохих блоков из файла filename. Для установки файловой системы ext2 на дискету, используется следующая последовательность команд: ttyp5 root ~ $ fdformat -n /dev/fd0H1440 Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB. Formatting ... done ttyp5 root ~ $ badblocks /dev/fd0H1440 1440 > bad-blocks ttyp5 root ~ $ mkfs -t ext2 -l bad-blocks /dev/fd0H1440 mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10 360 inodes, 1440 blocks 72 blocks (5.00%) reserved for the super user First data block=1 Block size=1024 (log=0) Fragment size=1024 (log=0) 1 block group 8192 blocks per group, 8192 fragments per group 360 inodes per group Writing inode tables: done Writing superblocks and filesystem accounting information: done ttyp5 root ~ $ В первую очередь дискета форматируется (параметр -n предотвращает проверку на наличие плохих блоков). Затем производится поиск плохих блоков при помощи команды badblocks, вывод которой перенаправлен в файл bad-blocks. И, наконец, файловая система устанавливается с инициализацией списка найденных плохих блоков. Вместо использования badblocks, команде mkfs может быть указан параметр -c, как это видно из примера, рассмотренного ниже. ttyp5 root ~ $ mkfs -t ext2 -c /dev/fd0H1440 mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10 360 inodes, 1440 blocks 72 blocks (5.00%) reserved for the super user First data block=1 Block size=1024 (log=0) Fragment size=1024 (log=0) 1 block group 8192 blocks per group, 8192 fragments per group 360 inodes per group Checking for bad blocks (read-only test): done Writing inode tables: done Writing superblocks and filesystem accounting information: done ttyp5 root ~ $ Указание параметра -c намного удобнее, чем применение команды badblocks, но ее использование необходимо для проверки файловой системы после ее установки. Установка файловых систем на жесткий диск или его раздел аналогична установке на дискету, исключая форматирование. 4.6.5 Монтирование и демонтирование Перед работой с файловой системой, она должна быть смонтирована. При этом операционная система выполняет некоторые действия, обеспечивающие функционирование монтируемой системы. Так как все файлы в системе UNIX принадлежат одной структуре каталогов, то эта операция обеспечивает работу с файловой системой, как с каталогом уже смонтированной. Рассмотрим три различные файловые системы. Если две последние системы (2-ю и 3-ю) соответственно смонтировать к каталогам /home и /usr первой системы, то в итоге образуется файловая система с единой структурой каталогов (4). 1] 2] 3] / ддбддддд bin / ддбдддддд abc / ддбдддддд bin Ё Ё Ё цддддд dev цдддддд liw цдддддд etc Ё Ё Ё цддддд home юдддддд ftp юдддддд lib Ё цддддд etc Ё цддддд lib Ё юддддд usr 4] / ддбдддбд usr Ё Ё Ё цдддддд lib Ё Ё Ё цдддддд etc Ё Ё Ё юдддддд bin Ё цддддд lib Ё цддддд etc Ё цдддбд home Ё Ё Ё цдддддд ftp Ё Ё Ё цдддддд liw Ё Ё Ё юдддддд abc Ё цддддд bin Ё юддддд dev В примере, рассмотреном ниже, показано, как это сделать. ttyp5 root ~ $ mount /dev/hda2 /home ttyp5 root ~ $ mount /dev/hda3 /usr ttyp5 root ~ $ Команда mount(8) принимает два параметра. Первый их них - файл устройства, соответствующий диску или разделу, на котором раположена файловая система. Вторым параметром является имя каталога, к которому будет монтироваться система. После выполнения этих команд содержимое файловых систем отображается в каталогах /home и /usr соответственно. Также можно сказать, что раздел /dev/hda2 смонтирован к каталогу /home, а /dev/hda3 - к каталогу /usr. Существует различие между файлом устройства, /dev/hda2, и монтируемым каталогом, /home. Файл устройства предоставляет доступ к 'сырым' данным, расположенным на диске, а монтируемый каталог - к файлам. Такой каталог называется узлом монтирования. Монтируемый каталог не обязательно должен быть пустым, хотя он должен существовать. Однако все файлы, в нем расположенные, будут недоступны после монтирования файловой системы. (Открытые ранее файлы будут также доступны, а файлы, являющиеся жесткими ссылками из других каталогов, будут доступны с использованием имен ссылок.) Таким образом, никакого ущерба не наносится и это даже может быть полезно. Например, некоторые делают каталог /tmp символической ссылкой на каталог /usr/tmp. При загрузке системы, когда файловая система /usr не смонтирована, каталог размещается в системе root. После того, как /usr смонтирована, каталог /usr/tmp, расположенный в файловой системе root, становится недоступным. Если же /usr/tmp не существует в системе root, то перед монтированием /usr создание и pабота с временными файлами будет невозможна. Для защиты файловой системы от записи, команда mount запускается с опцией -r, после чего монтирование производится в режиме read-only. После этого ядро пресекает любые попытки записи, включая модификацию времени доступа к файлам в индексном дескрипторе. Монтирование с защитой от записи используется при работе с такими устройствами, как CD-ROM. Возникает вопрос: каким же образом монтируется самая первая файловая система (т.е. система root), так как очевидно, что она не может быть смонтирована на какую-либо другую. Система root монтируется во время загрузки, поэтому считается, что она всегда установлена (если бы она не была установлена, то компьютер не смог бы загрузиться). Название файловой системы, используемой для монтирования root, либо встроено в ядро, либо устанавливается при помощи LILO или rdev. Обычно сначала система root монтируется в режиме read-only. Затем запускается программа fsck(8) для проверки ее целостности и если все в порядке, то система монтируется снова в режиме read-write. fsck не следует запускать на смонтированной файловой системе, так как изменения, произведенные при ее выполнении, могут привести к повpеждению системы. Так как система root сначала монтируется в режиме read-only, то после ее проверки все неполадки могут быть полностью устранены при повторном монтировании. На многих системах существуют и другие файловые системы, которые должны быть смонтированы во время загрузки. Их список содержится в файле /etc/fstab (см. руководство к fstab(5)). Если файловая система для работы больше не требуется, то она может быть демонтирована. Для этого используется команда umount(8) с одним параметром. Это может быть как файл устройства, так и узел монтирования. Например, для демонтирования каталогов, рассмотренных в предыдущем примере, используются следующие команды: ttyp5 root ~ $ umount /dev/hda2 ttyp5 root ~ $ umount /usr ttyp5 root ~ $ После работы с дисководом следует каждый раз применять эту команду, так как до демонтирования системы нельзя быть уверенным, что данные были записаны на диск, а не остались в буфере. Для выполнения операций монтирования и демонтирования требуется наличие прав доступа пользователя root. Однако, многие пользователи довольно часто работают с дисководом и для решения этой проблемы существует несколько способов: Сообщить всем пароль пользователя root. Это самый простой, но далеко не лучший выход. Он может использоваться на некоторых системах, не нуждающихся в защите (обычно не подключенных к какой-либо сети). Применять какую-либо программу (например, sudo(8)), позволяющую всем использовать команду mount. Это также не лучший способ по причине плохой защиты, хотя его применение не предоставляет напpямую права root каждому пользователю. Применение пакета mtools, используемого только для работы с файловой системой MS-DOS без выполнения операции монтирования. Используется только в тех случаях, когда дисковод применяется для работы с дисками системы MS-DOS. Поместить список файлов устройств, используемых при работе с гибкими дисками, и доступных узлов монтирования вместе с нужными опциями в файл /etc/fstab. Последний метод может быть реализован путем добавления в файл /etc/fstab следующей строки: /dev/fd0 /floppy msdos user,noauto Сначала указывается файл устройства, затем каталог, на который монтируется устройство, тип файловой системы и опции. Опция noauto запрещает автоматическое монтирование при начальной загрузке системы. Опция user позволяет любому пользователю монтировать указанную файловую систему и, по причине защиты системы, запрещает выполнение программ и работу с файлами устройств, расположенных на смонтированной системе. После этого, любой пользователь может выполнить следующую команду: ttyp5 root ~ $ mount /floppy ttyp5 root ~ $ Для демонтирования системы используется команда umount с соответствующими параметрами. 4.6.6 Поддержка работоспособности файловых систем Файловые системы это достаточно сложные объекты, поэтому иногда их функционирование нарушается. Для проверки целостности и работоспособности файловой системы используется команда fsck(8). Наиболее часто возникающие тpудности связаны с перебоями в питании, неполадках в оборудовании или ошибках оператора (например, некорректное выключение системы). Большинство систем сконфигурировано таким образом, что команда fsck запускается автоматически при загрузке системы, поэтому возможные неполадки будут обнаружены (и, возможно, исправлены) перед тем, как система будет использоваться. Работа с поврежденной файловой системой может привести к потерям данных и другим нарушениям ее функционирования. Однако, если файловая система довольно большая по объему, то ее проверка может занять некоторое время, а так как неполадки случаются очень редко, то если система была выключена корректно, пpименяются определенные методы для избежания проверки файловой системы. Первый из них связан с тем, что если существует файл /etc/fastboot, то никаких проверок не производится. Второй метод заключается в том, что в Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9 |
|
|||||||||||||||||||||||||||||
![]() |
|
Рефераты бесплатно, реферат бесплатно, курсовые работы, реферат, доклады, рефераты, рефераты скачать, рефераты на тему, сочинения, курсовые, дипломы, научные работы и многое другое. |
||
При использовании материалов - ссылка на сайт обязательна. |