Монтирование в 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

Оценить —

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(2 голоса, в среднем: 5 из 5)

Подписаться —

RSS Email Facebook Twitter G+ YouTube
Темы:  ,

Комментарии к статье

  1. Кызюавка

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

    • Pantera

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

    • Sonikelf

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

    • Серый

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

  2. ym_

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

    • Sonikelf

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

  3. madPO

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

    • Pantera

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

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

  4. вадим

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

  5. Settera

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

    • Pantera

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

      • Settera

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

  6. sergeiv

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

    • Pantera

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

      • Sonikelf

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

        • Артём

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

          Да!

  7. ИванЫч

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

    • Pantera

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

    • Sonikelf

      Кому что :)

    • вадим

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

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

      • Pantera

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

    • Алексей

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

  8. Йурка

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

    • Кызюавка

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

      • ym_

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

  9. Артём

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

    • Sonikelf

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

      • Артём

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

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

  10. Алексей

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

  11. Алекс

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

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

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

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

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

* - комментарии могут появляться не сразу (или попасть в спам)