Монтирование в Linux-системах, что это такое и зачем нужно

статьи
операционные системы

Здравствуйте, уважаемые читатели сайта "Заметок Сис.Админа". Сегодня мы продолжим приобщать вас к прекрасному внутреннему миру Linux-систем и познакомим (как Вы уже наверняка поняли из названия статьи) с монтированием в операционных системах «под управлением» Linux.

linux

И, само собой, постараемся преподнести информацию в облегченном варианте, т.е. мало будем упоминать командную строку и больше внимания уделять работе в графическом режиме. Ну, а там уж как получится. Ну что ж, нечего тянуть, поехали.
Давайте на секундочку представим такую ситуацию. Вы решились на установку Linux второй операционной системой вместе с Windows. Установили, - запустили её, - а потом захотели посмотреть на разделы Windows глазами линуксоидов :). И, - Опа!, - тут вас может поджидать небольшое разочарование, ибо Вы этого диска (раздела) не видите (рассматривается простой случай, когда у вас установлен драйвер ntfs-config для работы с ntfs-разделами, и система видит Ваши разделы, но не примонтировала их по каким-либо причинам).

Далее, чтобы начать его использовать, нам потребуется подключить или, по-другому, смонтировать эту невидимку. Для начала вспомним одну из предыдущих статей, - "Корневая файловая система Linux, основные каталоги корневой файловой системы, основные команды для работы с файлами и каталогами", где мы немного завуалировано говорили, что файловая система (ФС) Linux очень тесно связана с монтированием, а конкретнее - упоминалось, что ФС это одно большое дерево с корневой директорией / (слеш). И монтирование корневой ФС является частью процесса инициализации ядра. В процессе загрузки операционной системы происходит последовательное (а не абы какое) присоединение всех видимых (да и невидимых тоже :) ) системой устройств.

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

dmesg | less

Загрузка ядра - отдельный разговор, сейчас мы не будем останавливаться на этом, просто введите вышеуказанную команду и внимательно изучите все, что выведется на экран монитора. Уверяю, вы найдете там много чего «вкусненького».

Давайте разбираться дальше. Вот ядро Linux опознало все ваши устройства, на которых находятся данные. И что же потом? А потом оно просто обязано предоставить нам с Вами какое-то внешнее связующее звено для дальнейшей работы с этими устройствами. И как не парадоксально, но в роли таких звеньев будут выступать файлы-устройств, которые создаются в каталоге /dev. Только так мы с вами сможем получить доступ к файлам и каталогам, которые располагаются на нашем, скрытом от взора, диске или дисках – это у кого как. У многих может возникнуть резонный вопрос — а зачем так заморачиваться и делать это руками, если современные системы Linux справляются с этим автоматически? Поверьте, иногда это нужно, встречаются отдельные случаи, когда система Linux не может автоматически подсоединить диск в силу каких-то причин, связанных со сбоем диска, вирусами, которыми заражены NTFS/FAT-разделы или из-за чего-то еще противоестественного. И тогда настоящие системные администраторы (или очень умные пользователи ;)) делают это руками с помощью команды:

mount

Что дает примерно такой результат:

команда mount

Давайте немного внесём ясности в то, что видим на рисунке. Мы наблюдаем самый настоящий процесс монтирования на начальной стадии загрузки системы. Первой присоединилась псевдофайловая система (напомним, что она используется для предоставления информации о процессах), потом примкнула виртуальная файловая система /sysfs, которая экспортирует в пространство пользователя информацию ядра Linux об устройствах и драйверах, присутствующих в системе. Далее в каталог /dev монтируется tmpfs. Это временное файловое хранилище, предназначенное для монтирования ФС, с той лишь разницей, что размещается она в ОЗУ вместо физического диска, т.е., по-другому, это RAM-диск. Здесь создаются файлы тех устройств, которые присутствуют в системе и которые могли бы создаваться «на лету» – к таким можно отнести подключения по USB (или когда подгружается динамический модуль с драйвером устройства).

И так далее, и тому подобное, т.е всё присоединяется последовательно, по порядку. Чтобы не пугать вас заумной терминологией, давайте спустимся с небес на землю и продолжим наш разговор о монтировании. Последним замыкающим звеном выступают: диск (/dev/sdа) и сменное USB-устройство (флешка /dev/sdb). Я думаю, не надо подсказывать Вам, что если на диске (или каком-либо другом сменном устройстве) не один раздел, а несколько, то прицепятся все имеющиеся разделы и отличие будет только в имени файла-устройств. Например, если на диске 5 разделов, то файлы-устройств будут называться /dev/sda1, /dev/sda2, /dev/sda3, /dev/sda4, /dev/sda5.

Вывод:
Сколько разделов на съемном диске, столько и будет подключено файлов-устройств.

Этот же вывод команды можно получить, если откроем содержимое файла /etc/mtab (в некоторых системах Linux файл называется /etc/mnt/tab)

# cat /etc/mtab

Давайте перейдем к практике. Посмотрите, какие из устройств подключены в данный момент к компьютеру, с помощью команды:

# sudo fdisk -l

У Вас вывод может оказаться совсем другой, нежели в приведенном ниже рисунке:

команда fdisk -l

Просим не забывать, что процесс монтирования/размонтирования выполняется с привилегиями root, о чем говорит значок # и sudo

Далее. Из рисунка видно, что в наличии имеется только один жесткий диск, где есть три точки монтирования  — это файл подкачки swap, каталоги root и home (при установке системы мне было удобнее разбить диск именно так).

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

А теперь перейдем непосредственно к тренировкам. Допустим, что под рукой есть только CD/DVD-ROM. Давайте вот на нём и попробуем.

1. Вставьте диск в привод.
2. Он у вас автоматически определится системой, т.е. примонтируется (см.картинку ниже):

Демонстрация
3.
Отмонтируйте его командой:

sudo umount /dev/cdrom

Взгляните на картинку - CD/DVD-ROM размонтирован (о чем свидетельствует отсутствие треугольника рядом), но..

Демонстрация2

..он виден в системе (т.е определен системой, но не примонтирован), а посему, дабы убедиться в достоверности этого, наберите команду:

mount | column -t

Как видите, команда показала что CD/DVD-ROM отсутствует.

mount column

А теперь самое интересное, а именно, мы начинаем шаманить с присоединением нашего, так сказать, сидюка обратно. Для этого понадобится шаманский бубен и прямые руки :)

Поехали:

1. Чтобы особо не мучиться с правами суперпользователя, мы примонтируем его обратно в ту же директорию, откуда его и извлекли, а именно в /run/media/имя_пользователя. Почему именно сюда? Всё просто. Каталог /run был задуман как временное хранилище в целях «безопасности», и эта папка (/run/media/имя_пользователя) специально остаётся пустой после загрузки системы, так что ничего кроме смонтированных дисков (или других сменных устройств) Вы там не обнаружите (при условии, конечно, что сами что-нибудь не натворите). Но вообще, прежде чем его туда прикрепить, мы должны

2. Создать директорию — /CDROM

sudo mkdir /run/media/имя_пользователя/CDROM

3. Примонтировать командой

sudo mount -t iso9660 /dev/sr0 /run/media/имя_пользователя/CDROM

-t iso9660 — параметр монтирования, который обычно определяется автоматически, но в некоторых особых случаях этот параметр нужно указать, чтобы система не говорила: «Ой.. Вот ведь какая незадача, что Вы не определили тип файловой системы». В нашем случае тип файловой системы — iso9660 — этим типом определяются все CD-, DVD-диски;

/dev/sr0 — это наш сидюк, откуда взялось это название, легко определить из команды, да хотя бы mount | column -t (или используйте дисковые утилиты, которые есть в любой linux-системе);

/run/media/имя_пользователя/CDROM – обязательно указываемый параметр, а то система не поймет, куда Вы хотите все это присоединить.

umount

В командной строке все уложилось в три строчки :)

Аналогичным образом давайте примонтируем флешку:

1. Вставляем флешку в USB

вставленная флешка

Наша флешка определилась как файл-устройство /dev/sdb1 с именем 3C9B-F329 и с файловой системой FAT32.

2. Далее отсоединяем её командой:

sudo umount /dev/sdb1

И видим примерно следующее:

Отсоединрение флешки

3. Теперь создаем папку в каталоге /run/media/имя_пользователя/

sudo mkdir /run/media/имя_пользователя/3C9B-F329

4. Монтируем

sudo mount /dev/sdb1 /run/media/имя_пользователя/3C9B-F329

Получаем на выходе примерно следующее:

Флешка примонтировалась

Так вот. На протяжении всей статьи Вас подводили к наиважнейшему выводу: монтированием разделов мы "мягко" объясняем системе, как можно добраться до данных и сделать их доступными для использования в наших целях. Главное здесь, чтобы директория или поддиректория существовала, иначе, если её не будет, то весь наш процесс завершится ошибкой монтирования.

Обращаю внимание:
В процессе монтирования фактически монтируется ФС какого-либо устройства (или другого ресурса). Принято говорить о "монтировании устройства", хотя на самом деле подразумевается, что речь идет именно о "монтировании файловой системы устройства".

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

Существует множество утилит и программ для работы с дисками, разделами (самая простая утилита, -  это автоматическое монтирование, которое выполняет сама система), но есть одно «но».. В каждой Linux-системе эти утилиты свои. Поэтому все мы их просто физически не охватим. Например, в Ubuntu есть встроенная утилита для работы с дисками "Инструмент конфигурации записи на NTFS", а также можно установить утилиту "Mount Manager". В "Fedora" же — "palimpsest", что входит в состав "gnome-disk-utility".

Дисковая утилита

Ко всему прочему.. Есть общая программа для работы с разделами и дисками в любой Linux-системе - это GParted. Эта программа полностью бесплатна и умеет не только монтировать, но еще и очень, очень многое, но мы не будем рассматривать всё на что она способна, а разберем только две операции. Давайте только кратко, в виде наставительной инструкции:

Как размонтировать раздел с помощью Gparted:

  1. Запустить саму программу (с правами root)
  2. Выбрать смонтированный раздел (справа вверху есть выбор разделов — выделен красным прямоугольником).
  3. Далее выбрать в меню "Раздел — Размонтировать". Ну или воспользоваться щелчком правой кнопкой мыши по выделенному разделу и пунктом "Размонтировать". После сего программа отсоединит раздел (в данном случае флешку)

Если операция отсоединения не выполнилась, то скорее всего раздел в данный момент используется другими процессами и поэтому не может быть размонтирован. В этом случае необходимо воспользоваться  Live CD Gparted:

Gparted

Теперь ко второй операции.

Как смонтировать раздел в GParted:

  1. Запустить программу (с правами root)
  2. Выбрать ещё не смонтированный раздел (главное, чтобы он у вас был определен системой).
  3. Далее перейти в "Раздел - Монтировать" и выбрать точку монтирования из списка. Или щелкнуть правой кнопкой мыши по выделенному разделу —  "Монтировать", после чего Gparted смонтирует раздел к указанной точке монтирования.

Если пункт меню "Раздел - Монтировать" не виден (т.е. не активный), значит GParted не знает, к какой точке монтировать раздел. В этом случае необходимо воспользоваться Live CD Gparted.

Но больше всего мне, в общем-то, нравиться утилита в openSUSE (немецкий дистрибутив) и/или её замечательный "Центр управления" ("Параметры системы") YaST, с помощью которого можно без особых проблем смонтировать/размонтировать все, что только пожелаете.

Процесс таков:

  1. Запустите YaST (можно воспользоваться командной строкой с правами root — /usr/bin/xdg-su -c /sbin/yast2 или через графический интерфейс — "Системные параметры - YaST").
  2. Зайдите в "Система - Разделы"

Скорее всего, Вас предупредят о том, что эта операция не такая уж безобидная, и Вы понимаете степень вреда, который можно нанести системе, если что-то сделаете не совсем корректно. Но Вы все равно соглашайтесь и нажимайте "Да".

YaST

Теперь откроется окно редактора раздела дисков, где выберите раздел (слева) – "Жесткие диски", а справа будет выведен список всех дисков, которые подключены в данный момент к Вашему компьютеру. Ищите тот, который Вы хотите присоединить (в нашем случае мы  выберем самую последнюю строчку — это флешка) .

Напоминание - не забудьте отсоединить тот диск, с которым будете экспериментировать.

Сделайте это штатными средствами, а именно просто нажмите на значок треугольника в проводнике:

Значок монтирования

Обратите внимание, что один диск занимает, как минимум, две строчки. Первая - это физическое его наименование и маркировка, а вторая – логический диск (разделы) с файловой системой.
Посмотрите на выделенную строчку - там указан тип файловой системы. У нас это FAT32.
Выделите свой диск и нажмите на кнопку "Редактировать", которая располагается внизу окна.
Откроется окно настроек. Проверьте, чтобы стояла галка около пункта "Не форматировать".

Окно настроек редактирования

Обычно все диски в Linux монтируют в папку /run/media/имя_пользователя, о чем мы и упоминали выше.

Поэтому в строке "Точка монтирования" впишите такой путь для монтирования Вашего диска: /run/media/имя_пользователя/имя вашего диска (в нашем случае это будет выглядеть так: /run/media/имя_пользователя/3C9B-F329).

Как только Вы впишите эту строчку, то сразу станет доступна кнопка "Опции Fstab". Нажмите на неё, а в открывшемся окне отметьте точкой пункт "ID устройства" и поставьте галочку на "Монтируемый пользователем". Это нужно для того, чтобы Вы могли пользоваться диском в режиме обычного пользователя, а не только администратора.

Опции fstab

Теперь посмотрите на пункт "Значения произвольных опций". Там найдите текст umask=0002, и замените 0002 на 0000 (это права доступа к разделу) и согласитесь со всеми изменениями, нажав два раза ОК и Вас вернёт обратно к списку дисков. И, последнее, собственно, - в этом окне нажмите ОК. Программа снова выдаст вам предупреждение, что все изменения сейчас запишутся в файл. Если вы уверены в том что делаете, подтвердите изменения, нажав кнопку "Применить".

В итоге, если всё было сделано корректно, то зайдя в папку /run/media/имя_пользователя (кстати посмотреть можно и через файловый менеджер, а именно, можете войти в терминал и набрать команду ) Вы увидите:

Конечный результат

Ура, а вот и наша примонтированная флешка. Можно возрадоваться. Бедная флешка.. Что она только не пережила на момент написания этой статьи.

Послесловие.

Ладно. На этом заканчиваем наше повествование. Оставайтесь с проектом, здесь Вам рады.

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

P.S. За существование данной статьи спасибо члену команды Pantera

Подписка:

Мы в соц.сетях: ВКFacebookTwitter
Sonikelf's Project's логотип Sonikelf's Project's логотип Космодамианская наб., 32-34 Россия, Москва (916) 174-8226
Кызюавка

Спасибо за статью, и кстати о линуксах.
А вы можете сделать статью с описанием установки драйверов? Когда я поставил линукс впервые, то ужасно мучился с графическими драйверами. А конкретно с драйверами для видеокарт AMD(в итоге поставил).

Pantera

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

Sonikelf

Как сказала Галина, по мере сил и возможностей.. Доберемся.

Серый

Ставь линукс минт, все дрова будут у тебя автоматом стоять

Алексей

Не спортивно :)

ym_

Поддерживаю 1й пост. Установка драйверов, одна из самых важных проблем в linux, особенно ADM!!!

Sonikelf

Как только будет готово - напишем. Пока что вот так. Спасибо за комментарий.

madPO

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

Pantera

(особенно видео и аудео, и кодеки) очень нужна

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

вадим

Галина,спасибо за статью,сейчас пока ни каких вопросов нет
просто мне надо осмыслить всё,что написано.

Sonikelf

Спасибо за спасибо.

Settera

Спасибо за статью, ребята! :-) Полезно. Если дойдут руки и как-нибудь напишете про vpn через l2tp, буду оч признательна. В инете куча инфы, но вот про свою заморочку не нашла, к сожалению ((

Pantera

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

Settera

Pantera, да, знаю. Спасибо за коммент, но вопрос уже отпал :) В общем, поковырявшись несколько часов в инете, перепробовав кучу рекомендаций на всевозможных форумах, нашла я-таки, в чем фишка была :)
Сначала при установке всего этого добра для l2tp (у меня он не поддерживался изначально), система ругалась на скрипты, что они измененные, и предлагала переписать их вручную как первоначально было, чем меня весьма озадачила, не сразу вспомнилось что, как и где было переписано, потом vpn не поднималось вообще, потом рвалось, короче, пришлось обратиться к бубну и танцам, как говорят в таких случаях :) Счас всё настроилось и работает, и скорость радует, быстрее чем через pptp
Сорри за офтоп

sergeiv

Большая статья! Про линукс! Спасибо Pantera, пошел практиковаться

Pantera

Все для Вас :smile: Что-то у меня, в последнее время, все получается большое - большая статья, большие надежды, большой ремонт :grin:

Sonikelf

Пантера у нас вообще молодец =)

Артём

Ну а я об чём :-)
"Женщина - она ведь тоже Человек!"
Из кинофильма "Белое солнце пустыни"

Да!

ИванЫч

Почитал статью, комментарии: интересно. Лишний раз убедился: ну его, этот Linux. Да и статистика распространённости всех дистрибутивов Linux в куче болтается около 5%, добавим сюда, с округлением в бОльшую сторону, 10% Mac и получим: 85% выбирают Windows, ибо это удобно, минимум заморочек с различным софтом и драйверами.
И только не нужно бла-бла-бла о защищённости, ибо 5% кому они нужны, а если надо, то ломается (и ломают) всё, и сервера Пентагона и сервера банков.

Pantera

Каждому свое ;). Спасибо за комментарий.

Sonikelf

Кому что :)

вадим

У Linux,совершенно другая задача,он действительно не совсем
адаптирован для обычных пользователей,да скорей всего это и
не надо.
О степени надёжности,думаю очень красноречиво,говорит тот факт,
что на супер компьютерах,используют в основном Linux. :smile:

https://habrahabr.ru/post/95175/

Pantera

Linux не то чтоб "не совсем адаптирован", скорей он для тех, в которых живет дух исследователей, которые ищут что-то новое, глобальное, оригинальное. :smile: А также для тех, кто все это уже нашел ;) и желает повысить свои познания и квалификацию. Короче, для энтузиастов.

вадим

Красиво сказано. :smile:

Алексей

Это просто вопрос коммерции, маркетинга и политики. Если бы у Linux был централизованный дистрибьютор, Windows бы даже не родился, и тем более не задавил бы куда более перспективную OS/2. Ту же Ubuntu в состоянии поставить любой школьник, а уж про использование не говорю - с диска ты ставишь полноценную систему со всем необходимым ПО, а не голую "семёрку" или вовсе "WinXP".
5% линукс на десктопах это до поры до времени, а про 60% Linux на серверах все забывают...

Йурка

Сижу на бубунте, дебиан. По-началу тоже мучался с драйверами для видеокарты от AMD + у меня еще 2 монитра абсолютно разных (разные фирмы, разные разрешения) и подключенные один в VGA другой в DVI. Драйвера всегда можно слить на офф. сайте, все проблемы решил ковыряя xorg.conf. Несколько дней танцоев с бубном, перечитывания форумов, методом проб и ошибок все проблемы решаются. Такой вот он, линукс! =)

Кызюавка

Не-не, линукс не причем. Вообще, AMD славятся своими прекраснейшими драйверами для всех систем.

ym_

но дома не супер компьютер! На венде более шире возможности, линукс более спецефичен...

Артём

Здравствуйте Господа - (клавиатуры шумахеры) ;-)
Спасибо Пантере за труд и пополнение статей об ОС *Unix
Как только разорвём Windows 7 в клочья - как Тузик тряпку, так и установим что-то серьёзное)
Отдельное спасибо Пантере за рекомендации в чате лично мне по выбору дистрибутива "Линукс" - не забыл, всё помню.
Но вот незадача - на форуме я пользы мало приносил; а чат ликвидировали...
А вот Людей со знаниями и с чувством юмора можно потерять и навсегда...(не о себе прошу)
Аппелирую к Андрею: может можно ещё возродить чат, а ? Скучаю я по чату очень - там была хорошая атмосфера ( и никаких ссор, варезников и мата. ) Вот там действительно было общение на компьютерные темы и вообще по-жизни так ненавязчиво.
Серьёзно с конкретным вопросом люди обращались на форум, а за общением приходили в чат.
На форуме я сблизился с двумя людьми в чате - с пятью.
"Не кисляк давить" нам т.е вам (имеющие знания) надо, а общаться и общаться.
Конечно, проще всех послать на ...:-) просторы интернета, но тут бы, как Пантера говорила " Не растеряться бы нам всем в этом году..."Как-то так, точно не запомнил (с диктофоном не хожу и логи не дублирую :-)
Сегодня запостил не просто от души - от чистого сердца.
С уважением ко всем почитателям проекта.

Sonikelf

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

Артём

Спасибо Андрей за то,что даёшь мне не только знания, но и надежду.

А то злые какие-то все кругом. :-)

Алексей

Как всегда, шикарнейшая статья для образования в Linux. Спасибо. Именно самые основы и надо так разжёвывать, дальше-то уже всегда легче.

Алекс

Уважаемый Андрей.

На флешке установлена AirSlax. и Linux Mint.

Как в неё установить, смонтировать нужный скрипт ?
Какое расширение должно быть у скрипта и откуда его монтировать ?

Очень понравился Ваш сайт

Заранее спасибо.

Игорь, Днепропетровск.

Спасибо. Очень доходчиво и обстоятельно.