7.8. Процедура корректного выполнения практического задания: монтирование файловых систем
Теперь вы можете обнаружить скопированные ранее файлы в директории /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.
Разделы дисков в Linux подключаются к системе совсем не так, как в Windows. Здесь есть корневая файловая система, куда подключаются все другие разделы и устройства, которые вы будете использовать. Системные разделы монтируются автоматически при старте системы. Но если вам нужно подключить дополнительные разделы, в некоторых случаях, может понадобиться это делать вручную.
В этой статье мы рассмотрим как выполняется монтирование диска в Linux, поговорим о том, как правильно использовать утилиту mount, umount и посмотреть какие разделы куда примонтированы.
Монтирование c помощью YaST
Также Вы можете смонтировать раздел с помощью инструмента YaST:
# /sbin/yast2 disk
Либо перейдите «YaST -> Система -> Разметка«. Щелкните правой клавишей на соответствующем разделе, который хотите смонтировать и перейдите «Редактировать«. В опциях монтирования укажите путь, выбрав «Монтировать раздел«. |
При необходимости отредактируйте параметры в соответствии с Вашими потребностями, выбрав «Опции Fstab…«. По завершению настройки «OK -> Завершить«. В случае каких-то затруднений обратитесь к справочной информации «Справка«, что находится в нижней части окон графического инструмента YaST. |
Больше информации по использованию ntfs-3g и команд для монтирования, размонтирования Вы найдете на странице руководства:
man ntfs-3g, man mount, man umount.
Настройка
Можно настроить автоматическое монтирование разделов NTFS, или заранее указать параметры монтирования и делать это вручную в удобное для вас время. Настройки задаются в файле fstab или с помощью правил udev.
Стандартные настройки
При использовании стандартных настроек разделы с NTFS будут монтироваться при загрузке системы, если директория, родительская по отношению к той, куда происходит монтирование, имеет соответствующие права доступа.
Добавьте эти строки в файл :
# <file system> <dir> <type> <options> <dump> <pass> /dev/NTFS-part /mnt/windows ntfs-3g defaults 0 0
Linux-совместимые права доступа
Как правило, права доступа в Linux устанавливаются как 755 для директорий и 644 для файлов. Если вы часто используете NTFS-раздел, рекомендуется использовать эти права доступа и на нём. Следующий пример показывает, как можно присвоить такие права разделу для работы с ним из-под непривилегированного пользователя:
# Монтировать системный раздел Windows с Linux-совместимыми правами доступа, т. е. 755 для директорий (dmask=022) и 644 для файлов (fmask=133) UUID=01CD2ABB65E17DE0 /run/media/user1/Windows ntfs-3g uid=user1,gid=users,dmask=022,fmask=133 0 0
Разрешение доступа пользователю/группе
Через файл можно передать драйверу ntfs-3g и другие параметры монтирования, например разрешить доступ на чтение данных определённому пользователю или группе. Чтобы дать доступ к разделу пользователям, входящим в группу , можно использовать следующие параметры:
/dev/NTFS-partition /mnt/windows ntfs-3g gid=users,umask=0022 0 0
В этом случае запись данных на раздел будет возможна только для пользователя root. Чтобы разрешить запись от имени непривилегированных пользователей, нужно указать, кому из них следует дать такой доступ. Для этого используйте параметр с именем пользователя:
/dev/NTFS-partition /mnt/windows ntfs-3g uid=имя_пользователя,gid=users,umask=0022 0 0
Если у вас однопользовательская система, для большего удобства можно дать себе полный доступ к разделу:
/dev/NTFS-partition /mnt/windows ntfs-3g uid=имя_пользователя,gid=users 0 0
Основные параметры NTFS-3G
- umask
- noauto
- Если установлен параметр , соответствующий раздел не будет монтироваться автоматически при загрузке системы.
- uid
- Идентификационный номер пользователя. Позволяет дать полный доступ к разделу определённому пользователю. Идентификатор пользователя можно определить с помощью команды .
- fmask и dmask
- Похожи на , но задают права доступа к файлам и директориям отдельно.
Монтирование разделов от имени обычного пользователя
Если опция uid отсутствует в /etc/fstab, добавьте её:
/dev/NTFS-partition /mnt/windows ntfs-3g uid=имя_пользователя,gid=users 0 0
Убедитесь, что пользователю разрешена работа с соответствующим устройством. Проще всего сделать это, добавив пользователя в группу disk с помощью следующей команды:
# gpasswd -a username disk
Примечание: Для применения изменённых настроек может понадобиться перезагрузка
Далее, необходимо обеспечить пользователю доступ к директории, в которую монтируется раздел. Если вы собираетесь монтировать раздел от имени обычного пользователя, есть смысл поставить его владельцем точки монтирования:
# chown user /mnt/точка_монтирования
Кроме того, необходимо использовать драйвер ntfs-3g со встроенной поддержкой FUSE. Пакет ntfs-3g из официальных репозиториев не имеет его поддержки, поэтому можно установить пакет AUR из AUR.
При выполнении этих условий у вас должна появиться возможность монтировать разделы NTFS без прав суперпользователя.
Примечание: Для демонтирования разделов могут понадобиться права суперпользователя. От имени обычного пользователя можно попробовать команду . Если вместо параметра в вы используете параметр , как монтирование, так и демонтирование разделов должно работать от имени обычного пользователя с помощью команд и .
Монтирование файловых систем
Прежде чем мы начнем думать о , давайте проверим, можем ли мы монтировать диски вручную. Таким образом, если что-то не работает, когда мы используем файл , мы будем знать, что проблема должна заключаться в нашем синтаксисе, а не в самом диске.
Мы создадим несколько временных точек монтирования в каталоге . Вам нужно будет использовать , и вам будет предложено ввести пароль .
sudo mkdir / mnt / scsi
sudo mkdir / mnt / ssd
Теперь давайте смонтируем диск SCSI в новой точке монтирования. Мы будем использовать команду в ее простейшей форме. Мы сообщим ему имя раздела, который мы хотим смонтировать, и точку монтирования, на которой мы хотим его смонтировать. смонтирует файловую систему в этом разделе в указанной точке монтирования.
Мы указываем раздел, который содержит файловую систему, а не диск, поэтому обязательно укажите цифру для раздела, в данном случае «1».
sudo mount / dev / sdb1 / mnt / scsi
Если все пойдет хорошо, от не будет ответа. Вы молча вернулись в командную строку.
Монтаж SSD так же прост. Мы сообщаем какой раздел на каком устройстве монтировать, и точку монтирования для монтирования.
sudo mount / dev / sdc1 / mnt / ssd
Опять молчание золотое.
СВЯЗАННЫЕ: Как смонтировать и размонтировать устройства хранения из терминала Linux
Определения полей
/etc/fstab содержит следующие поля разделённые пробелами или tab:
<file system> <dir> <type> <options> <dump> <pass>
-
<file systems> — название накопителя (например: /dev/sda1).
-
<dir> — точка монтирования, куда монтировать <file system>.
-
<type> — тип файловой системы монтируемого устройства или раздела. Поддерживает много различных файловых систем, например: ext2, ext3, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap и auto. Тип ‘auto’ позволяет команде монтирования определить тип используемой файловой системы, полезно для съёмных устройств, таких как CD и DVD.
-
<options> — специальные опции для файловых систем. Некоторые опции относятся только к определённой файловой системе, наиболее распространённые варианты:
-
auto — файловая системы будет смонтирована автоматически при загрузке или после выполнения команды ‘mount -a’.
-
noauto — файловая система может быть смонтирована только вручную.
-
exec — разрешить исполнять бинарных файлов с этого раздела (по умолчанию).
-
noexec — запретить исполнять бинарные файлы с этой файловой системы.
-
ro — монтировать файловую систему только для чтения.
-
rw — монтировать файловую систему для чтения и записи.
-
sync — операции ввода/вывода должны выполняться синхронно.
-
async — операции ввода/вывода должны выполняться асинхронно.
-
flush — опция специфичная для FAT. To flush data more often, thus making copy dialogs or progress bars to stays up until things are on the disk.
-
discard — включает поддержку команды TRIM для SSD дисков.
-
user — разрешить любому пользователю монтировать файловую систему (с опциями noexec,nosuid,nodev если не указано иное).
-
nouser — только root может монтировать файловую систему (по умолчанию).
-
defaults — использовать настройки по умолчанию (эквивалентно rw,suid,dev,exec,auto,nouser,async).
-
suid — разрешать операции с битами suid и sgid. Восновном используемые, чтобы позволить пользователям выполнять бинарные файлы со временно повышенными привилегиями для выполнения определённой задачи.
-
nosuid — запретить операции с битами suid и sgid.
-
noatime — не обновлять информацию о времени доступа к файловой системе. Может повысить производительность.
-
nodiratime — не обновлять информацию о времени доступа к каталогам файловой системе. Может повысить производительность.
-
relatime — обновлять информацию о времени доступа по сравнению с временем последнего изменения. Время доступа обновляется только если предыдущее было больше текущего времени изменения (аналог noatime, только не создаёт проблемы для приложений которым нужно знать, если файл был прочитан с момента последнего изменения). Может повысить производительность.
-
-
<dump> — используется утилитой dump для того чтобы определить, когда делать резервную копию. После установки, dump проверяет эту запись и использует значение, чтобы решить, подключать ли файловую систему. Возможные значения 0 или 1. Если 0, dump игнорирует файловую систему, если 1, dump сделает резервную копию. У большинства пользователей dump не установлен, поэтому в поле <dump> следует задать 0.
-
<pass> fsck читает значение <pass> и определяет, в каком порядке должны быть проверены файловые системы. Возможные значения 0, 1, или 2. Файловая система root должна иметь наивысший приоритет, 1, все остальные файловые системы которые будут проверятся должны получить 2. Файловые систему с значением 0 в <pass> не будут проверяться утилитой fsck.
7.7. Практическое задание: монтирование файловых систем
3. Проверьте корректность своих выполненных действий с помощью утилит fdisk , df и mount . Также изучите содержимое файлов /etc/mtab и /proc/mounts .
4. Сделайте так, чтобы монтирование обеих файловых систем осуществлялось автоматически на постоянной основе, после чего проверьте работоспособность использованного механизма монтирования.
5. Что случится, если вы смонтируете файловую систему в директорию, в которой уже содержатся файлы?
6. Что случится, если вы смонтируете две файловых системы в одну и ту же точку монтирования?
7 (дополнительное задание). Дайте пояснения относительно различий между данными утилитами: find, locate, updatedb, makewhatis, whereis, apropos, which и type.
8 (дополнительное задание). Выполните проверку файловой системы, созданной в разделе, который смонтирован в директорию /srv/nfs/salesnumbers.
Identifying file systems
There are different ways to identify file systems that will be mounted in : kernel name descriptor, file system label and UUID, and GPT partition label and UUID for GPT disks. UUID or PARTUUID must be privileged over kernel name descriptors and labels. See Persistent block device naming for more explanations. It is recommended to read that article first before continuing with this article.
In this section, we will describe how to mount file systems using all the mount methods available via examples. The output of the commands and used in the following examples are available in the article Persistent block device naming.
To use , use in the first column.
Kernel name descriptors
Run to list the partitions and prefix the values in the NAME column with .
/etc/fstab
# <device> <dir> <type> <options> <dump> <fsck> /dev/sda1 /boot vfat defaults 0 2 /dev/sda2 / ext4 defaults 0 1 /dev/sda3 /home ext4 defaults 0 2 /dev/sda4 none swap defaults 0 0
Warning: Kernel name descriptors are not persistent and can change each boot, they should not be used in configuration files.
File system labels
Run to list the partitions, and prefix the values in the LABEL column with or alternatively run and use the LABEL values without the quotes:
/etc/fstab
# <device> <dir> <type> <options> <dump> <fsck> LABEL=ESP /boot vfat defaults 0 2 LABEL=System / ext4 defaults 0 1 LABEL=Data /home ext4 defaults 0 2 LABEL=Swap none swap defaults 0 0
Note: If any of your fields contains spaces, see .
File system UUIDs
Run to list the partitions, and prefix the values in the UUID column with or alternatively run and use the UUID values without the quotes::
/etc/fstab
# <device> <dir> <type> <options> <dump> <fsck> UUID=CBB6-24F2 /boot vfat defaults 0 2 UUID=0a3407de-014b-458b-b5c1-848e92a327a3 / ext4 defaults 0 1 UUID=b411dc99-f0a0-4c87-9e05-184977be8539 /home ext4 defaults 0 2 UUID=f9fe0b69-a280-415d-a03a-a32752370dee none swap defaults 0 0
GPT partition labels
Run to list the partitions, and use the PARTLABEL values without the quotes:
/etc/fstab
# <device> <dir> <type> <options> <dump> <fsck> PARTLABEL=EFI\040system\040partition /boot vfat defaults 0 2 PARTLABEL=GNU/Linux / ext4 defaults 0 1 PARTLABEL=Home /home ext4 defaults 0 2 PARTLABEL=Swap none swap defaults 0 0
Note: If any of your fields contains spaces, see .
GPT partition UUIDs
Run to list the partitions, and use the PARTUUID values without the quotes:
/etc/fstab
# <device> <dir> <type> <options> <dump> <fsck> PARTUUID=d0d0d110-0a71-4ed6-936a-304969ea36af /boot vfat defaults 0 2 PARTUUID=98a81274-10f7-40db-872a-03df048df366 / ext4 defaults 0 1 PARTUUID=7280201c-fc5d-40f2-a9b2-466611d3d49e /home ext4 defaults 0 2 PARTUUID=039b6c1c-7553-4455-9537-1befbc9fbc5b none swap defaults 0 0
Определение файловых систем
Файловые систему в /etc/fstab могут быть определены тремя различными способами: по имени данному ядром, по UUID или по labels. Преимущество использования UUID или labels в том, что они не зависят от порядка дисков, полезно когда изменяется порядок накопителей в BIOS (это может быть сделано пользователем или некоторые BIOS могут иногда изменять порядок устройств), или при переключении кабеля устройства.
Имена данные ядром
Узнать имена данные ядром можно используя fdisk:
# fdisk -l ... Device Boot Start End Blocks Id System /dev/sda1 * 1 19458 156290016+ 83 Linux
Пример /etc/fstab с использованием имён данных ядром:
# <file system> <dir> <type> <options> <dump> <pass> /dev/sda1 / ext4 defaults 1 1
UUID
UUID генерируется утилитами mkfs.* при создании файловой системы. blkid показывает UUIDs устройств и разделов:
# blkid /dev/sda1: UUID="6a60524d-061d-454a-bfd1-38989910eccd" TYPE="ext4"
Пример /etc/fstab с использованием UUID-идентификаторов:
# <file system> <dir> <type> <options> <dump> <pass> UUID=6a60524d-061d-454a-bfd1-38989910eccd / ext4 defaults 1 1
Label
В первую очередь нужно задать label для устройства или раздела, для этого можно использовать приложения такие как gparted или e2label для разделов ext2, ext3 и ext4. Имейте ввиду, что не все файловые системы поддерживают label (например FAT). Каждый lable должен быть уникальным, (чтобы избежать конфликтов) и содержать не более 16 символов.
Устройство или раздел не должны быть смонтированы перед получением label. Initially you will need to boot from a Live(CD/DVD/USB) before you can label with a gparted-like application or for ext partitions you can use e2label:
# e2label /dev/<раздел-диска> Debian
Пример /etc/fstab с использованием label:
# <file system> <dir> <type> <options> <dump> <pass> LABEL=Debian / ext4 defaults 1 1
Useful Commands
To view the contents of /etc/fstab, run the following terminal command:
cat /etc/fstab
To get a list of all the UUIDs, use one of the following two commands:
sudo blkid ls -l /dev/disk/by-uuid
To list the drives and relevant partitions that are attached to your system, run:
sudo fdisk -l
To mount all file systems in /etc/fstab, run:
sudo mount -a
Remember that the mount point must already exist, otherwise the entry will not mount on the filesystem. To create a new mount point, use root privileges to create the mount point. Here is the generalization and an example:
sudo mkdir /path/to/mountpoint sudo mkdir /media/disk2
Размонтирование файловой системы
Для отключения смонтированной файловой системы используется команда umount, в качестве аргумента которой указывается директория, в которую она была смонтирована (точка монтирования) или имя устройства:
Если файловая система используется, umount не сможет ее отключить. В таких ситуациях можно воспользоваться командой fuser, чтобы выяснить, какие процессы осуществляют доступ к файловой системе:
Определив процессы, можно остановить их и размонтировать файловую систему. Также для отключения занятой файловой системы сразу после завершения ее использования можно воспользоваться опцией -l (—lazy, “ленивое” отключение):
Для принудительного размонтирования применяется опция -f (—force). Обычно она используется для отключения недостижимой системы NFS.
Во всех остальных случаях принудительное отключение нежелательно, так как может привести к повреждению данных в файловой системе.