Файловые системы. Сетевые сервисы ОС Linux

 

Введение. Обычно файлы, хранимые на жестком диске, представляют собой несвязанные блоки информации, расположенные в разных местах диска. Операционная система, записывая или извлекая файлы (данные, про­граммы, объектные модули, библиотеки и т.д.) из внешних носителей информации, таких как жест­кие или сетевые диски и т.д., использует специальные опи­сатели. В описателе, в част­ности, хранится информация о расположе­нии фрагментов файла на диске. Каким образом извлекать фрагменты, с тем чтобы в памяти ПК представить их в виде логически связан­ных цепочек, т.е. способ организации файлов, и указывается в
описателе.

Наи­более популярные на сегодняшний день ОС Windows XX и UNIX ис­пользуют собственные методы хране­ния файлов и, следовательно, файловые системы. Эти ме­тоды, схожие по содержанию, имеют различную программ­ную реализацию.

В мире Windows наиболее популярны фай­ловые системы:

FAT-16 #Основная файловая система DOS, Windows 95;

FAT-32 #Основная файловая система Windows 98, Me;

NTFS # Основная файловая система Windows NT, Windows 2000, Windows XP.

Основной файловой системой ОС Linux является ФС Еxt3, а количество файловых систем, поддерживаемых этой ОС, значительно больше, чем в Windows XX. Все файловые системы компании Microsoft поддерживаются ОС Linux. Отметим наиболее популярные ФС для ОС UNIX, так же поддерживаемые этой операционной системой:

UFS # Основная файловая система UNIX System V;

VxFS, XFS, ReiserFS # Журналируемые файловые системы ОС UNIX.

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

Операционные системы, сохраняя файлы на диске, используют либо метод точной записи (данные записываются непосредственно на диск во время операции записи), либо метод отложенной записи. Современные ОС используют второй метод. При этом данные, прежде чем быть записанными на диск, сохраняются во внутренних буферах (КЭШах) ОС, находящихся в оперативной памяти, и переписываются на диск через определенные промежутки времени. Если ПК по каким-либо техническим или программным причинам оказывается в нерабочем состоянии, то информация, расположенная в КЭШе, теряется безвозвратно. Поэтому после сбоев (пита­ния или аварийного вы­ключения) ОС должна проверить жесткие диски на наличие ошибок и убедиться, что сбой не привел к фатальным послед­ствиям и ОС осталась в рабочем состоянии. Этот про­цесс за­нимает продолжи­тельное время, которое зависит от объема жесткого диска.

В последнее время в об­ласти разра­боток файловых систем нового поколения появилась техно­логия, широко применяемая в СУБД: техно­логия ведения жур­нала проведенных операций. В ре­зультате ОС имеет четкое представление о том, ка­кие данные были перенесены на диск, а какие потеряны, и, следовательно, может точно определить момент, с которого ОС остается работоспособной. К та­ким файло­вым системам относятся хорошо известная в мире Windows XX файловая система NTFS и файловые системы различных UNIX и Linux систем: VxFS, XFS, ReiserFS и Ext3. Ядро ОС Linux имеет поддержку всех перечисленных выше файловых систем.

Цель лабораторной работы. Ознакомить студентов с утилитами ОС Linux, предназначенными для работы с локальными и сетевыми файловыми системами, а также с ло­кализацией файловой системы FAT (настройка ОС Linux на восприятие русских сим­волов основной файловой системы Windows 9Х).

В большинстве случаев для выполнения лабораторной работы нам понадобятся графическая оболочка GNOME, алфавитно-цифровой терминал xterminal и графический ре­дактор OpenOffice.org Writer. Картинки этих приложений расположены в панели задач. При составлении отчета необходимо запустить оба приложения, а затем, отметив мышкой результат в окне терминала, перенести результат в окно Writer. По окончании составления отчета файл следует сохранить на дискете или в домашнем каталоге студенческого сервера.

Для ввода русских символов используются клавишные комбинации <Ctrl>+<Shift> или <Left Shift>+<Right Shift>.

 

Команды и утилиты, предназначенные для работы
с файловыми систе­мами

Перечислим информационные команды ОС Linux, используемые для про­смотра объектов различных файловых систем, и команды созда­ния, удаления, переименования файлов и каталогов, создания ссылок на файлы и каталоги.

Информационные команды:

ls – просмотр содержимого текущего каталога;

cat «имя файла» – команда просмотра содержимого файла;

pwd – показывает имя текущего каталога;

df – показывает свободное и занятое пространство на всех логических дисках системы;

du -s «имя каталога» – указывает размер каталога в блоках.

Команды создания и удаления объектов файловой системы:

mkdir «имя каталога» – создание каталога;

rm «имя файла или пустого каталога» – удаление файла или каталога;

rename «имя файла или каталога» «новое имя файла или каталога» – переме­щение или переименование файла или каталога;

ln – команда создания жестких и символических ссылок на файлы и каталоги.

Перечисленные команды могут применяться с ключами, которые задают ре­жимы вывода информации. Эти команды также могут использоваться в командных файлах. Более детальную информацию о командах, допустимых ключах и формате вывода можно узнать в справочной системе ОС или в руководстве пользователя (ко­манда man), введя с командной строки:

«имя команды» --help или man «имя команды»

На лабораторных занятиях мы будем пользоваться программой
Midnight Commander, имеющей развитый интерфейс с файловыми системами ОС. Вследствие того, что перечисленные выше ко­манды встроены в mc и выполняются с помощью директив меню и функциональных клавиш, мы не будем останавливаться на их детальном изучении.

Задание 1. Используя утилиты командной строки, определите свободное и занятое пространство жесткого диска Вашего ПК. Определите объем дискового пространства, занимаемого каталогом ~/Desktop. Результаты поместите в отчет.

Создание, редактирование и удаление разделов жесткого диска.
Утилита fdisk

Утилита командной строки fdisk предназначена для просмотра, создания и удаления разделов жесткого диска. Эта утилита является аналогом утилиты fdisk, применяемой в операционных системах MS-DOS и
Windows 9X. Но она поддерживает значительно большее количество файловых систем, чем ее аналог, и имеет в своем составе набор команд, расширяющий возможности этой утилиты. В лабораторной работе мы рассмотрим ряд команд, имеющих информационное назначение, а в каче­стве объекта изучения выберем primary master жесткий диск ПК, который в Windows 9X обозначен как диск С:. В ОС Linux ему соответствует специальный файл /dev/hda1.

Задание 2. С командной строки выполните:

fdisk /dev/hda

Система запустит утилиту и перейдет в ожидание ввода команд. Список до­пустимых команд и краткую аннотацию к ним можно получить по клавишам <m>, <Enter>. Мы разберем команды:

l вывод списка кодов файловых систем;

p вывод на экран текущей таблицы разделов.

Выполните команду l. Результаты по­местите в отчет. Отметим, что в терми­нах ОС Linux основная файловая система имеет шестнадцатеричный код 83 и код 82 для раздела Linux swap.

Задание 3. Далее определите, на какие разделы разбит жесткий диск. Для этого, находясь в среде утилиты fdisk, выполните команду p. Результаты помес­тите в отчет.

Определите раздел загрузки ОС по умолча­нию (этот раздел помечен символом * в поле boot). Результат поместите в отчет. Определите раздел, на котором расположена файловая система W95 (Windows 95). Запомните это устройство (обычно /dev/hda2 или /dev/hda5). Имя раздела нам понадобится при выполнении задания 8. Покиньте утилиту по клавише <q>.

Задание 4. Выполните команду df. Определите имя специального файла, подключенного к корневому каталогу (/). Результат поместите в отчет. Информация, выводимая этой командой на экран, содержит несколько столбцов. В столбце Filesystem (Файловая система) указан специальный файл – драйвер устройства, например /dev/hda6, на котором расположена некоторая файловая система, а в столбце Mounted on (Смонтирована на) – точка в корневом каталоге, на которую смонтирована данная файловая
система.