Что такое mtab linux

Файлы fstab и mtab

Просмотры

Это конфигурационные файлы программ mount, umount и fsck.

Начнем с файла /etc/mtab. Когда программа mount подключает файловую систему, она дописывает соответствующую строку в /etc/mtab. Когда umount отключает файловую систему, из этого файла соответствующая строка удаляется.

Поскольку это обыкновенный текстовый файл, Вы можете при помощи редактора добавлять или удалять информацию. Поэтому верить содержимому этого файла нельзя.

Файл /etc/fstab имеет большое значение для системы. В нем описывают все файловые системы, которые Вы собираетесь использовать.

Формат файла /etc/fstab очень простой. Символ комментария — #. Одна запись — одна строка. В строке есть шесть полей:

  • Файл устройства.
  • Точка монтирования.
  • Тип файловой системы. Возможно перечисление нескольких файловых систем через запятую, или использование ключевого слова auto, для автоматического определения файловой системы.
  • Параметры монтирования файловой системы разделяемые запятой. Пробелы ни в коем случае использовать нельзя!
  • Флаг программы dump. Поскольку эта программа в Linux практически не используется, этот флаг оставлен для совместимости.
  • Флаг программы fsck. Если он равен нулю, значит эта файловая система при запуске программы fsck с параметром –A не будет автоматически проверяться, в том числе и при старте машины. Если равен единице, значит проверка будет производиться. Файловые системы проверяются в том порядке, в котором они описаны в этом файле. Если Вы хотите изменить порядок проверки, вместо единицы используйте двойку. Тогда сначала проверяются все файловые системы с единицей, а затем с двойкой.
Внимание! Последняя строка в файле /etc/fstab должна быть пустой.

Вернемся к файловой системе /dev/hda1. Если ничего не сделать, она не будет автоматически монтироваться при старте машины. Чудес не бывает. Все чудеса в Linux описаны в каком либо конфигурационном файле. Поэтому мы добавим строку, описывающую файловую систему /dev/hda1 в файл /etc/fstab. Она будет выглядеть следующим образом:

Устройство, точка монтирования, тип файловой системы, параметры монтирования, флаг программы dump, флаг программы fsck.

Вопрос заключается в следующем: в какой строке файла fstab следует добавить эту строку? Файловые системы монтируются в том порядке, в котором они описаны в этом файле (Правда из этого правила существуют исключения, например корневая директория и некоторые другие файловые системы. Но пока мы не будем глубоко углубляться в этот вопрос. Вы все поймете сами, когда будет рассмотрена система инициализации Linux.). Принцип очень простой — на момент монтирования файловой системы должна существовать точка монтирования (директория). А директория будет существовать, если файловая система, в которой она физически размещена, уже смонтирована. В нашем случае, директория /mnt/free находится в той же файловой системе, что и кореневая файловая система Linux, в /dev/hda3. Таким образом, мы можем эту строку написать в любой строке файла, но после того места, где описано монтирование корневой файловой системы. Например так:

Теперь смонтируем файловую систему.

Обратите внимание на то, что при вызове программы mount я указал только точку монтирования. Дело в том, что файл /etc/fstab — это конфигурационный файл программы mount. И все недостающие параметры программа берет из него. Вместо точки монтирования можно написать файловую систему — /dev/hda1, результат будут таким же.

Теперь внесем кое-какие изменения, связанные со строками, где описываются параметры монтирования CD-ROM и гибкого диска.

В строке, описывающей параметры монтирования CD-ROM необходимо добавить еще один тип файловой системы — udf. Если это рабочая станция, то простым пользователям системы необходимо разрешить монтировать CD-ROM, за это отвечает параметр монтирования user. Я обычно не пишу параметры iocharset и codepage, отвечающие за преобразование русских букв. Так как использую CD записанные не только в Windows. В результате строка будет выглядеть следующим образом:

Строка, описывающая параметры монтирования гибкого диска, тоже не идеальна. Поэтому мы над ней немного пошаманим. Вопервых, Вы никогда не будете форматировать гибкие диски с использованием Linux файловых систем. Как Вы наверное помните, слишком много места на диске отводится под служебную информацию. Следовательно, не удастся использовать весь объем гибкого диска. Поэтому мы будем использовать файловую систему fat.

Читайте также:  Виды кодировок windows 1251

В Linux поддерживается две разновидности (с точки зрения Linux) файловых систем: msdos и vfat. Если в поле, определяющем тип файловой системы, оставить параметр auto (автоматическое определение файловой системы), Вас ожидает маленькая неприятность — после монтирования диска все имена файлов будут выглядеть так как это было в MS-DOS (кто нибудь еще помнит эту чудо OS?): имя состоит из восьми символов, расширение из трех. Это происходит потому, что при автоматическом определении файловой системы выбирается msdos. Для нормального отображения имен файлов необходимо использовать файловую систему vfat. Поэтому вместо auto мы напишем vfat.

Если это рабочая станция, простым пользователям системы можно позволить монтировать файловую систему, используя параметр user. Ну и напоследок, можно указать параметры, отвечающие за преобразование русских кодировок в именах файлов: iocharset и codepage. В результате строка будет выглядеть так:

Источник

Администрирование систем Linux. Монтирование файловых систем

Глава 7. Монтирование файловых систем

После того, как вы создали файловую систему в разделе жесткого диска, вы можете смонтировать ее. Монтирование файловой системы делает ее доступной для использования обычно посредством специально созданной директории. Мы говорим о монтировании файловой системы , а не о монтировании раздела жесткого диска, ведь, как мы увидим позднее, у нас также имеется возможность монтирования файловых систем, которые созданы вне разделов жестких дисков.

Во всех системах Unix каждый файл и каждая директория являются частью одного большого дерева директорий файловой системы. Для доступа к файлу вы должны знать полный путь к этому файлу, начинающийся с корневой директории. При добавлении файловой системы в ходе обслуживания операционной системы вам придется предоставить доступ к этой файловой системе из какой-либо точки дерева директорий файловой системы. Директория, из которой будет доступна ваша файловая система, называется точкой монтирования.

7.1. Монтирование локальных файловых систем

7.1.1. Создание точки монтирования с помощью утилиты mkdir

В данном примере демонстрируется методика создания новой точки монтирования с помощью утилиты mkdir .

7.1.2. Утилита mount

После того, как точка монтирования создана, а файловая система присутствует на разделе жесткого диска, утилита mount может быть использована для монтирования файловой системы в директорию , которая станет точкой монтирования .

После монтирования пользователи получат доступ к файловой системе.

7.1.3. Файл /etc/filesystems

На самом деле использование параметра -t ext2 утилиты mount для явного указания типа файловой системы не всегда является необходимым. Утилита mount имеет возможность автоматической идентификации типов множества файловых систем.

В случае монтирования файловой системы без явного указания ее типа утилита mount в первую очередь попытается идентифицировать файловую систему как одну из файловых систем, перечисленных в файле /etc/filesystems . При этом утилита mount будет пропускать строки с директивой nodev .

7.1.4. Файл /proc/filesystems

В том случае, если файла /etc/filesystems не существует или данный файл заканчивается строкой с одним символом *, утилита mount будет читать файл /proc/filesystems .

7.1.5. Утилита umount

Вы можете отмонтировать файловую систему с помощью утилиты umount .

7.2. Вывод списка смонтированных файловых систем

Для вывода списка смонтированных файловых систем следует использовать команду mount . Также можно прочитать содержимое файлов /proc/mounts и /etc/mtab .

7.2.1. Утилита mount

Простейший и наиболее часто используемый способ вывода списка смонтированных файловых систем заключается в использовании утилиты mount без каких-либо аргументов.

7.2.2. Файл /proc/mounts

Ядро ОС предоставляет информацию о смонтированных файловых системах посредством файла /proc/mounts , причем данный файл не хранится на жестком диске. При чтении информации из файла /proc/mounts осуществляется чтение информации, переданной непосредственно ядром ОС.

Содержимое файла /etc/mtab не обновляется средствами ядра ОС, а поддерживается в актуальном состоянии средствами утилиты mount . Не редактируйте файл /etc/mtab вручную.

Более удобный для пользователя способ получения списка смонтированных файловых систем заключается в использовании утилиты df . Утилита df (название расшифровывается как diskfree — свободное пространство диска) имеет полезную дополнительную возможность, заключающуюся в выводе данных об объеме свободного пространства в каждой из смонтированных файловых систем, расположенных в разделах жестких дисков. Как и большинство утилит из состава Linux, утилита df поддерживает параметр -h , предназначенный для активации режима вывода данных в формате, облегчающем чтение.

Читайте также:  Ошибка оперативной памяти при установке windows

7.2.5. Команда df -h

В приведенном ниже примере вывода команды df -h вы можете обнаружить информацию о размере файловой системы, свободном пространстве, использованном пространстве в гигабайтах и процентах, а также точке монтирования файловой системы, созданной в соответствующем разделе жесткого диска.

Утилита du позволяет получить количественные показатели использования пространства жесткого диска для хранения файлов и директорий. Используя утилиту du с параметром, являющимся путем к точке монтирования, вы на самом деле будете получать информацию о пространстве раздела жесткого диска, занятом данными из файловой системы.

Хотя утилита du и может осуществлять рекурсивный обход дерева директорий с последующим выводом информации о каждой из директорий, параметр -s позволит вам получить обобщенную информацию о размере родительской директории. Этот параметр чаще всего используется вместе с параметром -h . Поэтому команда du -sh по отношению к точке монтирования позволит получить информацию обо всем пространстве раздела диска, использованном файловой системой.

7.3. Процесс монтирования файловой системы от начала до конца

В приведенном ниже примере показана полная последовательность действий, начинающаяся с определения имени файла устройства жесткого диска (/dev/sdb) и заканчивающаяся монтированием созданной в разделе этого жесткого диска файловой системы в директорию /mnt .

7.4. Монтирование файловых систем на постоянной основе

До текущего момента мы монтировали все файловые системы вручную. Такой подход вполне приемлем, но файловая система остается смонтированной только до следующей перезагрузки системы. К счастью, существует способ уведомления вашего компьютера о необходимости монтирования определенных файловых систем в процессе загрузки операционной системы.

7.4.1. Файл /etc/fstab

Таблица монтируемых файловых систем, расположенная в файле /etc/fstab , содержит список файловых систем с параметрами, позволяющими монтировать каждую из них в процессе загрузки операционной системы.

Ниже приведен пример файла /etc/fstab .

Добавив в данный файл следующую строку, вы можете автоматизировать процесс монтирования созданной файловой системы.

7.4.2. Команда mount /точка_монтирования

Благодаря добавлению элемента с список монтируемых файловых систем, расположенный в файле /etc/fstab , вы можете использовать упрощенный вариант команды mount . Команда из примера ниже позволяет осуществить поиск информации о файле устройства, представляющем связанный с переданной точкой монтирования раздел жесткого диска, в файле /etc/fstab с помощью утилиты mount .

7.5. Безопасное монтирование файловых систем

Безопасное монтирование файловых систем становится возможным благодаря наличию нескольких специализированных параметров монтирования файловых систем . Эти параметры рассмотрены в примерах, приведенных ниже.

7.5.1. Параметр ro

Параметр ro позволяет смонтировать файловую систему в режиме только для чтения, что позволит предотвратить запись данных в нее любым пользователем.

7.5.2. Параметр noexec

Параметр noexec позволяет предотвратить исполнение бинарных файлов и сценариев, расположенных в смонтированной файловой системе.

7.5.3. Параметр nosuid

Параметр nosuid позволяет игнорировать биты setuid , установленные для бинарных файлов из смонтированной файловой системы.

Обратите внимание на то, что в случае использования данного параметра вы все также сможете устанавливать биты setuid для бинарных файлов из файловой системы.

Но пользователи не смогут воспользоваться привилегиями, обусловленными наличием битов setuid .

7.5.4. Параметр noacl

Для предотвращения использования механизма управления правами доступа к файлам на основе списков контроля доступа следует использовать параметр noacl .

Описания других параметров монтирования файловых систем доступны на странице руководства для утилиты mount .

7.6. Монтирование удаленных файловых систем

7.6.1. Файловая система SMB/CIFS

Команда разработчиков проекта Samba (samba.org) осуществляет разработку системной службы для Unix/Linux, которая совместима с протоколом SMB/CIFS. Данный протокол используется главным образом компьютерами, работающими под управлением ОС производства компании Microsoft.

Соединение с сервером Samba (или компьютером, работающим под управлением ОС производства компании Microsoft) также может осуществляться с помощью утилиты mount.

В данном примере показана методика соединения с сервером, имеющим IP-адрес 10.0.0.42 , для доступа к разделяемому ресурсу с именем data2 .

Для корректного соединения с использованием описанного протокола необходимо установить дополнительные программные компоненты с помощью команды yum install cifs-client .

7.6.2. Файловая система NFS

Серверы Unix обычно используют протокол NFS (расшифровывается как Network File System — сетевая файловая система) для предоставления доступа к директориям по сети. Настройка сервера NFS будет обсуждаться позднее. Соединение же с сервером NFS со стороны клиента осуществляется также с помощью утилиты mount и очень похоже на соединение с локальным дисковым хранилищем.

Читайте также:  Windows server local users and groups

Данная команда демонстрирует методику соединения с сервером NFS с именем server42 , который предоставляет доступ к директории /srv/data . Точка монтирования (путь к которой приведен в конце строки команды) должна существовать.

В том случае, если сервер с именем server42 имеет IP-адрес 10.0.0.42 , вы также можете использовать запись:

7.6.2. Специфичные для NFS параметры монтирования

bg : в случае неудачи при монтировании файловой системы повторять попытки в фоновом режиме.

fg : (используется по умолчанию) в случае неудачи при монтировании файловой системы повторять попытки, выводя информацию в текущую командную оболочку.

soft : прекратить процесс монтирования файловой системы после X неудачных попыток.

hard : (используется по умолчанию) продолжать предпринимать попытки монтирования файловой системы после неудач.

Комбинация параметров soft+bg позволяет осуществить наиболее быструю загрузку клиентской системы в случае неполадок с сервером NFS.

retrans=X : Попытаться соединиться с сервером X раз (по протоколу UDP).

tcp : Принудительно использовать протокол TCP (используется по умолчанию и всегда поддерживается).

udp : Принудительно использовать протокол UDP (не всегда поддерживается).

7.7. Практическое задание: монтирование файловых систем

1. Смонтируйте файловую систему, созданную в рамках малого раздела размером в 200 МБ, в точку монтирования /home/project22.

2. Смонтируйте файловую систему, созданную в рамках большого первичного раздела размером в 400 МБ, в точку монтирования /mnt, после чего скопируйте некоторые системные файлы в эту директорию (рекомендуется скопировать все содержимое директории /etc). После этого отмонтируйте файловую систему и повторно смонтируйте ее в точку монтирования /srv/nfs/salesnumbers в режиме только для чтения. Где оказались скопированные вами ранее файлы?

3. Проверьте корректность своих выполненных действий с помощью утилит fdisk , df и mount . Также изучите содержимое файлов /etc/mtab и /proc/mounts .

4. Сделайте так, чтобы монтирование обеих файловых систем осуществлялось автоматически на постоянной основе, после чего проверьте работоспособность использованного механизма монтирования.

5. Что случится, если вы смонтируете файловую систему в директорию, в которой уже содержатся файлы?

6. Что случится, если вы смонтируете две файловых системы в одну и ту же точку монтирования?

7 (дополнительное задание). Дайте пояснения относительно различий между данными утилитами: find, locate, updatedb, makewhatis, whereis, apropos, which и type.

8 (дополнительное задание). Выполните проверку файловой системы, созданной в разделе, который смонтирован в директорию /srv/nfs/salesnumbers.

7.8. Процедура корректного выполнения практического задания: монтирование файловых систем

1. Смонтируйте файловую систему, созданную в рамках малого раздела размером в 200 МБ, в точку монтирования /home/project22.

2. Смонтируйте файловую систему, созданную в рамках большого первичного раздела размером в 400 МБ, в точку монтирования /mnt, после чего скопируйте некоторые системные файлы в эту директорию (рекомендуется скопировать все содержимое директории /etc). После этого отмонтируйте файловую систему и повторно смонтируйте ее в точку монтирования /srv/nfs/salesnumbers в режиме только для чтения. Где оказались скопированные вами ранее файлы?

Теперь вы можете обнаружить скопированные ранее файлы в директории /srv/nfs/salenumbers .

Но физически эти файлы все также хранятся в рамках файловой системы ext3 на разделе жесткого диска, представленном файлом устройства /dev/sdb1

3. Проверьте корректность своих выполненных действий с помощью утилит fdisk , df и mount . Также изучите содержимое файлов /etc/mtab и /proc/mounts .

В выводах всех трех приведенных выше команд должна содержаться информация о смонтированных вами файловых системах и файлах устройств соответствующих разделов дисков.

4. Сделайте так, чтобы монтирование обеих файловых систем осуществлялось автоматически на постоянной основе, после чего проверьте работоспособность использованного механизма монтирования.

Добавьте следующие строки в файл /etc/fstab

5. Что случится, если вы смонтируете файловую систему в директорию, в которой уже содержатся файлы?

Уже имеющиеся файлы будут скрыты до момента отмонтирования файловой системы, к примеру, с помощью утилиты umount .

6. Что случится, если вы смонтируете две файловых системы в одну и ту же точку монтирования?

Будут доступны файлы только из последней смонтированной файловой системы.

7 (дополнительное задание). Дайте пояснения относительно различий между данными утилитами: find, locate, updatedb, makewhatis, whereis, apropos, which и type.

8 (дополнительное задание). Выполните проверку файловой системы, созданной в разделе, который смонтирован в директорию /srv/nfs/salesnumbers.

Источник

Оцените статью