Блог Мамонова
понедельник, 24 сентября 2012 г.
Контрольные вопросы
1.Какая файловая система используется в операционной системе Lunix?
В операционной системе Lunix чаще всего используется журналируемая файловая система ext3,в которой кластер может иметь размер от 1 до 8 Кбайт.
2.В чём состоит смысл монтирования и размонтирования в операционной системе Linux?
Для того,чтобы получить единое файловое дерево с одним корнем,используется процедура монтирования. Монтирование-это подключение в одну из папок целой файловой системы,находящейся где-то на другом устройстве.
Подключённую(смонтированную) файловую систему можно в любой момент отключить-размонтировать,после чего та папка,куда она была смонтирована,снова окажется пустой.
3.Какие элементы входят в графический интерфейс операционной системы Lunix?
Графический интерфейс базирутеся на Рабочем столе,есть Панель задач и слева кнопка Пуск,открывающая доступ к меню запуска приложений. Справа на Панели задач располагаются индикаторы раскладки клавиатуры,сетевых подключений и часы.Приложения и папки открываются на Рабочем столе в диалоговых окнах,содержащих элементы управления:
меню
кнопки
полосы прокрутки
флажки
переключатели и т.д.
В чем состоит смысл монтирования и размонтирования в ос linux
Файловую систему лучше всего рассматривать как дерево, корень которого, как обычно, находится в / . /dev , /usr и другие каталоги в корневом каталоге являются ветками, которые могут иметь собственные ветви, такие, как /usr/local и так далее.
Есть несколько причин размещать некоторые из этих каталогов в раздельных файловых системах. /var содержит журналы, очереди и различные типы временных файлов, поэтому может быть заполнена до отказа. Заполнение корневой файловой системы нежелательно, так что отделение /var от / зачастую бывает весьма полезно.
Другим общим соображением при размещении отдельных деревьев каталогов в других файловых системах является их размещение на отдельных физических дисках или отдельных виртуальных дисках, таких, как точки монтирования сетевой файловой системы или привода CDROM.
Файл /etc/fstab состоит из строк следующего формата:
device /mount-point fstype options dumpfreq passno
device являются именем устройства (которое должно существовать) вида, описанного выше в главе о соглашениях по именованию дисков .
mount-point является каталогом (который должен существовать), в который будет смонтирована файловая система.
fstype является типом файловой системы для передачи в mount (8) . По умолчанию во FreeBSD файловая система имеет тип ufs .
В качестве параметров options указывается rw для файловых систем, доступных по чтению-записи, или ro для файловых систем, доступных только для чтения, за которым следует любое количество других параметров, могущих быть нужными. Часто используемым параметром является опция noauto для файловых систем, которые обычно не монтируются во время загрузки. Другие параметры описаны на странице справочника по mount (8) .
dumpfreq определяет количество дней для обязательного создания архивной копии файловой системы, а passno задает номер прохода, при котором файловая система была смонтирована во время процесса загрузки.
Команда mount (8) является тем, что необходимо использовать для монтирования файловых систем.
В ее самой простой форме она используется так:
# mount device mountpoint
Как отмечено на справочной странице по команде mount (8) , она имеет массу параметров, но наиболее часто используются следующие:
Параметры команды mount
Смонтировать все файловые системы, перечисленные в файле /etc/fstab , с модификациями по параметру -t , если он задан.
Сделать все, кроме собственно монтирования файловой системы.
Принудительно смонтировать файловую систему.
Смонтировать файловую систему в режиме только для чтения.
Смонтировать указанную файловую систему как файловую систему указанного типа, или смонтировать файловые системы только указанного типа, если задан параметр -a .
По умолчанию используется тип файловой системы «ufs» .
Обновить параметры монтирования файловой системы.
Выдавать подробный журнал.
Смонтировать файловую систему в режиме доступа как для чтения, так и для записи.
Опция -o принимает список разделенных запятыми параметров, включая следующее:
Не обрабатывать специальные устройства в файловой системе. Опция, полезная с точки зрения обеспечения безопасности.
Запретить выполнение бинарных файлов на этой файловой системе. Опция, полезная с точки зрения обеспечения безопасности.
Не обрабатывать флаги установки выполнения файлов с привилегиями их владельцев и групп в этой файловой системе. Опция, полезная с точки зрения обеспечения безопасности.
Команда umount воспринимает в качестве параметра либо точку монтирования, либо имя устройства, либо параметры -a или -A .
Все формы воспринимают параметр -f для принудительного размонтирования и -v для вывода подробного журнала.
Флаги -a и -A используются для размонтирования всех смонтированных файловых систем, возможно с учетом типов файловых систем, перечисленных после -t . Однако при использовании опции -A не будет предприниматься попытка размонтировать корневую файловую систему.
Монтирование диска в Linux
Разделы дисков в Linux подключаются к системе совсем не так, как в Windows. Здесь есть корневая файловая система, куда подключаются все другие разделы и устройства, которые вы будете использовать. Системные разделы монтируются автоматически при старте системы. Но если вам нужно подключить дополнительные разделы, в некоторых случаях, может понадобиться это делать вручную.
В этой статье мы рассмотрим как выполняется монтирование диска в Linux, поговорим о том, как правильно использовать утилиту mount, umount и посмотреть какие разделы куда примонтированы.
Что такое монтирование?
Как я уже сказал Linux имеет единую корневую файловую систему, куда подключаются все запоминающие устройства и другие ресурсы. На самом деле, в Windows происходит что-то подобное, только все это скрыто от пользователя.
Фактически смонтированный раздел становится частью корневой файловой системы и система старается сделать работу со всеми разделами, независимо от их файловых систем, прозрачной. Это значит, что если вы примонтируете участок оперативной памяти или удаленную сетевую папку, то сможете работать с ней в файловом менеджере точно так же, как и с локальным диском.
Например, вы хотите примонтировать флешку. Вы даете системе команду подключить ее в папку /run/media/имя_пользователя/UUID_флешки/. Система определяет файловую систему устройства, а затем, используя драйвера ядра подключает ее к указанной папке. Дальше вам остается работать с той папкой, как с любой другой. Больше ни о чем думать не нужно. Когда надумаете извлечь флешку, ее нужно отмонтировать.
Монтирование дисков в Linux
Обычно, монтированием занимаются специальные сервисы оболочки, но не всегда они доступны. А иногда нужно сделать все вручную, чтобы задать дополнительные опции монтирования или другие параметры. Для монтирования в Linux используется команда mount. Рассмотрим ее параметры:
$ mount файл_устройства папка_назначения
Или расширенный вариант:
$ mount опции -t файловая_система -o опции_монтирования файл_устройства папка_назначения
Опции задают различные дополнительные особенности работы утилиты. Опция -t необязательна, но она позволяет задать файловую систему, которая будет использована и иногда это очень полезно. С помощью опции -o вы можете задать различные параметры монтирования, например, монтировать только для чтения и т д. Последних два параметра — это файл устройства, например, /dev/sda1 и папка назначения, например, /mnt.
Перед тем как перейти к рассмотрению примеров работы утилитой, давайте рассмотрим ее основные опции:
- -V — вывести версию утилиты;
- -h — вывести справку;
- -v — подробный режим;
- -a, —all — примонтировать все устройства, описанные в fstab;
- -F, —fork — создавать отдельный экземпляр mount для каждого отдельного раздела;
- -f, —fake — не выполнять никаких действий, а только посмотреть что собирается делать утилита;
- -n, —no-mtab — не записывать данные о монтировании в /etc/mtab;
- -l, —show-labels — добавить метку диска к точке монтирования;
- -c — использовать только абсолютные пути;
- -r, —read-only — монтировать раздел только для чтения;
- -w, —rw — монтировать для чтения и записи;
- -L, —label — монтировать раздел по метке;
- -U, —uuid — монтировать раздел по UUID;
- -T, —fstab — использовать альтернативный fstab;
- -B, —bind — монтировать локальную папку;
- -R, —rbind — перемонтировать локальную папку.
Это не все, но основные опции, которые вам понадобятся во время работы с утилитой. Также, возможно, вы захотите знать список опций монтирования, которые могут быть полезными. Они все перечислены в статье автоматическое монтирование в fstab и писать их еще и здесь нет смысла. А теперь перейдем к примерам и рассмотрим как монтировать диск в linux.
Монтирование разделов с помощью mount
Монтирование разделов с помощью mount выполняется очень просто. Фактически в большинстве случаев будет достаточно упрощенной версии команды. Например, смонтируем раздел /dev/sdb6 в папку /mnt:
sudo mount /dev/sdb6 /mnt/
В большинстве случаев вы будете вынуждены выполнять команду mount с правами суперпользователя, если обратное не указано в fstab (опция монтирования users). Вы можете посмотреть информацию о процессе монтирования добавив опцию -v:
sudo mount -v /dev/sdb6 /mnt/
Если нужно, вы можете указать файловую систему с помощью опции -t:
sudo mount -v -t ext4 /dev/sdb6 /mnt
Если необходимо примонтировать файловую систему только для чтения, то вы можете использовать опцию -r или опцию монтирования -o ro, результат будет одинаковым:
sudo mount -t ext4 -r /dev/sdb6 /mnt
$ sudo mount -t ext4 -o ro /dev/sdb6 /mnt
Вы можете использовать и другие опции чтобы выполнить монтирование разделов linux, например, указать, что на этом разделе нельзя выполнять программы:
sudo mount -t ext4 -o noexec /dev/sdb6 /mnt
Обратите внимание, что вы не можете использовать опции uid, gid, fmask для файловых систем ext. Они поддерживаются только в FAT, vFAT, exFAT.
Вы можете использовать не только имена устройств чтобы выполнить монтирование диска в linux. Для этого можно применять UUID или метки, например, монтирование с помощью UUID:
sudo mount —uuid=»b386d309-05c1-42c8-8364-8d37270b69e0″ /mnt
Посмотреть uuid для ваших разделов можно с помощью команды:
Точно так же вы можете использовать метки. Команда монтирования диска linux будет выглядеть так:
sudo mount —label=»home» /mnt/
Вы можете примонтировать одну папку в другую, для этого используйте опцию —bind
sudo mount —bind /mnt/ /media/
Возможно, не только монтирование разделов linux, но и монтирование файлов, если они содержат файловую систему, например, образов дисков. Монтирование образа диска linux работает точно так же:
Посмотреть список всех примонтированных устройств можно просто выполнив mount без параметров:
Размонтирование устройств в Linux
Когда вы хотите завершить работу с устройством, особенно с флешкой, его нужно размонтировать. Для этого существует утилита umount. В качестве параметров она принимает точку монтирования или устройство. Например:
Теперь ваше устройство не смонтировано. Но иногда может возникнуть ошибка размонтирования. Система сообщит, что устройство занято: umount: /mnt: target is busy.
Проблему можно решить закрыв все программы, которые могут использовать любой файл в этой папке. Какие именно это программы вы можете узнать с помощью команды lsof:
lsof -w /mnt
$ lsof -w /dev/sdb6
Здесь вы видите всю необходимую информацию, чтобы понять что происходит и что с этим делать. Утилита вывела название программы, ее PID, и даже файл, с которым она работает. Вы можете завершить все программы, а потом снова повторить попытку или используйте опцию -l, файловая система будет отключена немедленно, несмотря на то, что она занята:
Выводы
В этой статье мы рассмотрели как выполняется монтирование жестких дисков linux, а также разделов и даже образов. Вы знаете как правильно использовать опции mount и umount. Если у вас остались вопросы, спрашивайте в комментариях!