Linux монтирование общих папок. Команда mount в Linux или все о монтировании разделов, дисков, образов ISO и SMB ресурсов

Здравствуйте, уважаемые пользователи операционной системы Linux!
Сегодня я расскажу Вам, как настроить автоматическое монтирование сетевых «расшаренных» папок с Windows-компьютеров в Вашей сети на Ваш Linux-компьютер. Как обычно напомню, что на сером фоне будут написаны команды, вводимые в терминале, которые можно копировать из браузера в окно терминала. Для примера будет использована операционная система Linux Ubuntu, основные принципы установки и настройки в других версиях Linux такие же. Итак, настраиваем

Автоматическое монтирование сетевых папок с удалённых Windows-компьютеров.

Первым делом открываем терминал:

И набираем команду
sudo apt-get update
для обновления списка пакетов. Система запросит наш пароль — наберем его. Подождем, пока обновится список доступных пакетов. Затем набираем команду
sudo apt-get install samba-client cifs-utils
и ждём окончания установки пакетов. Затем создаём в своём домашнем каталоге (или где Вам хочется, я в примере буду создавать в домашнем каталоге) папку, куда будем монтировать:
mkdir /home/testuser/Папка\ для\ обмена
Напомню, что нашего пользователя «зовут» testuser и ещё что пробел в имени файла «экранируется» обратной косой чертой «\», чтобы система правильно его восприняла. После создания папки создаём файл-ключ, в который запишем имя пользователя и его пароль для Windows-компьютера:
echo "username=Windows-user" > /home/testuser/.smbpass
echo "password=Windows-pass" >> /home/testuser/.smbpass
где заменяем «Windows-user» на реальное имя пользователя, а «Windows-pass» на реальный пароль. Обращаю внимание, что имя файла начинается с точки — это признак скрытого файла в системе Linux и что во втором случае ставим две «стрелки» для того, чтобы не удалить первую строку из файла. Теперь нам осталось только «поправить» файл /etc/fstab. Набираем
sudo nano /etc/fstab
и, после ввода пароля, видим примерно следущее (у Вас UUID будут, естесственно, другими):

Разбираться что к чему мы пока не будем, а просто вставим нужное нам в конец файла:
//192.168.1.25/share /home/testuser/Папка\040для\040\обмена cifs credentials=/home/testuser/.smbpass,codepage=utf8,iocharset=utf8,workgroup=WORKGROUP,file_mode=0777,dir_mode=0777 0 0
ВНИМАНИЕ: добавляем в одну строку! Затем одновременно нажимаем Ctrl и О английскую для сохранения файла. Текстовый редактор «спросит» Вас, в какой файл записать изменения, просто нажмём «Enter» и следом Ctrl и Х английскую для выхода из редактора.
Добавленную строку немного расшифруем: первый блок показывает, какую сетевую папку мы монтируем (этот блок необходимо обязательно откорректировать в соответствии со своей «расшаренной» папкой), второй блок отвечает за то, куда мы монтируем. Во втором блоке присутствует «конструкция» \040 — это заменитель пробела в имени файла в понятном системе формате. Обращаю Ваше внимание, что обозначение пробела в терминале в имени файла и в файле /etc/fstab разное! Пожалуйста, будьте внимательны. А мы продолжим расшифровку: запись «cifs» показывает, в какой файловой системе будет примонтирована сетевая папка. Далее указывается, где взять файл-ключ, к какой рабочей группе относится наш компьютер, разрешено ли нам создавать файлы и папки.
Нам же осталось проверить наше творчество, для чего наберём
sudo mount -a
У Вас на рабочем столе должен появиться значок «Папка для обмена», обычно в виде дополнительного жёсткого диска. При следующей загрузке компьютера папка примонтируется автоматически, команду «sudo mount -a» набирать не нужно.
Вот мы с Вами и настроили автоматическое монтирование сетевой папки в операционной системе Linux.

Если Вам нужно подключить/примонтировать жесткий диск с файловой системой NTFS или ext2, ext3 к компьютеру на базе операционной системы Linux, то Вы читаете правильную статью.

Зачем делать это руками, если современные desktop-системы Линукс делают автоматически?

Есть отдельные случаи когда система Linux не может автоматически примонтировать/подключить диск в силу каких-то логических сбоев диска, вирусов, которыми заражены NTFS/FAT разделах или из-за еще чего-то аномального. Для этого настоящие системные администраторы делают это руками. И делают это командой mount.

Команда mount в линуксе является очень гибким инструментом в руках системного администратора. С помощью команды mount можно подключить сетевой диск, раздел жесткого диска или USB-накопитель.

Данная статья не является полным, исчерпывающим описанием команды mount (полное описание команды mount можно найти выполнив в консоли команду man mount), но стремиться к этому. Статья по описанию команды mount постоянно дорабатывается и видоизменяется. Все пожелания по статье можете оставлять в комментариях.

Устройства, которые в данный момент подключены к компьютеру, можно посмотреть набрав в консоли:

Эта команда показывает все устройства, которые подключенны. Они могут быть не примонтированы, но подключены. На экране Вы увидите примерно это:

Диск /dev/sda : 40.0 ГБ, 40020664320 байт
255 heads, 63 sectors/track, 4865 cylinders

Disk identifier: 0x815aa99a Пункты таблицы разделов расположены не в дисковом порядке
Диск /dev/sdb : 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x973248ad

Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 * 1 9729 78148161 83 Linux

Диск /dev/sdc : 1027 МБ, 1027604480 байт
32 heads, 62 sectors/track, 1011 cylinders
Units = цилиндры of 1984 * 512 = 1015808 bytes
Disk identifier: 0x6f20736b

Из листинга выше видно, что к операционной системе подключено:

  1. два жестких диска: /dev/sda - операционная система и /dev/sdb - "файловая помойка"
  2. сменный USB-носитель: /dev/sdc
Просмотр примонтированых устройств осуществляется командой:

После этого на экране можно увидеть:

/dev/sda1 on / type reiserfs (rw,relatime,notail) tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,nosuid,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
lrm on /lib/modules/2.6.27-14-generic/volatile type tmpfs (rw,mode=755)
/dev/sda3 on /home type ext3 (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/user/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=user)
/dev/sdc on /media/USBFlash type vfat (rw,nosuid,nodev,uhelper=hal, shortname=mixed,uid=1000,utf8, umask=077,flush)

  • в первой строке сообщается, что в качестве корневой ФС выступает файловая система reiserfs с параметрами монтирования: доступ на чтение и запись (rw)
  • /dev/sda3 - это раздел диска /home
  • /dev/sdc - это примонтированное сменное USB-устройство
Этого же результата можно достигнуть посмотрев содержимое файла /etc/mtab (в некоторых системах Linux файл называется /etc/mnt/tab)
  • Колибри
    27 Март, 09:27

    после того, как я ввела эту команду: sudo chmod -R 0777 /home/roza/Desktop В Дебиане никаких сообщений об ошибке не было, а вот в Минте, во время загрузки, выходит сообщение со следующим содержанием:

    Файл пользователя $HOME/.dmrc имеет некорректные права доступа и игнорируется. Это препятствует сохранению сеанса и языка по умолчанию. Владельцем этого файла должен быть пользователь и файл должен иметь права доступа 0644.Домашняя папка пользователя ($HOME) должна принадлежать пользователю и не должна быть доступна для записи другим пользователям.

    Затем все замирает на несколько секунд и открывается рабочий стол. А тут уж не могу воспользоваться ни sudo, ни просто su – терминал матюгается не по русски. Возможно ли восстановить права на ($HOME).Может можно сделать это с помощью лайв диска Минт?

  • Mut@NT
    29 Март, 12:13

    Колибри: Затем все замирает на несколько секунд и открывается рабочий стол. А тут уж не могу воспользоваться ни sudo, ни просто su – терминал матюгается не по русски. Возможно ли восстановить права на ($HOME).Может можно сделать это с помощью лайв диска Минт?

    Ну попробуйте вернуть права обратно:
    sudo chmod -R 0644 /home/roza/Desktop

    И владельца:
    sudo chown -R ВАШ_ЛОГИН_В_МИНТ /home/roza/Desktop

  • Колибри
    2 Апрель, 08:43
  • Mut@NT
    3 Апрель, 13:39

    Колибри: Все равно ничего не получилось:(. В общем, переустановила я раздел с минтом. Главное что научилась монтировать разделы (поняла как это делается, дальше – проще) И еще усвоила для себя урок – нужно раздавать права очень осторожно. В любом случае спасибо!

    P.S. Главное, это то, что Вы чему то научились))

  • AlexUnder Construction
    19 Май, 08:41

    Спасибо.
    Пара дополнений.
    1. У меня, к примеру, раздел жесткого диска не хотел монтироваться после подключения к Windows-машине, которая была заражена вирусами. Так получилось, что вирус кинул autorun.exe в корень моего раздела и Linux из-за этого не хотел монтировать этот раздел.
    Не хотел монтировать не из-за autorun.exe, а из-за того, что скорее всего винды были потушены “некорректно” и на ntfs-е остался байтик о проверке целостности файловой системы. В связи с этим ntfs3g без “force” боится маунтить такую ФС, дабы не повредить.
    2. Раз есть раздел про “SMB ”, стоило бы еще упомянуть CIFS .
    И в качестве примера привести что-нибудь типа:
    mount -t cifs -o username=domain\user //remote-win2k3-server/C$ /mnt/smb/

  • Нефажно
    20 Май, 15:26
  • Tonik
    24 Май, 03:04
  • Mut@NT
    26 Май, 17:27

    AlexUnder Construction: Спасибо. Пара дополнений. 1. У меня, к примеру, раздел жесткого диска не хотел монтироваться после подключения к Windows-машине, которая была заражена вирусами. Так получилось, что вирус кинул autorun.exe в корень моего раздела и Linux из-за этого не хотел монтировать этот раздел. Не хотел монтировать не из-за autorun.exe, а из-за того, что скорее всего винды были потушены “некорректно” и на ntfs-е остался байтик о проверке целостности файловой системы. В связи с этим ntfs3g без “force” боится маунтить такую ФС, дабы не повредить. 2. Раз есть раздел про “SMB”, стоило бы еще упомянуть CIFS . И в качестве примера привести что-нибудь типа: mount -t cifs -o username=domain\user //remote-win2k3-server/C$ /mnt/smb/

    Нефажно: Хорошо бы, если бы, было еще описано монтирование NFS

    Спасибо за комментарий. Внесу дополнения.

    Tonik: А мне статья помогла. Элементарно! – забыла как монтировать… Быстро по статье пробежалась, и вспомнила. Спасибо большое автору!

    Заходите почаще:)

  • Денис
    11 Июнь, 11:47

    спасибо за статью,
    оч. доходчиво

  • Людмила
    9 Июль, 13:05

    # sudo mount -t smbfs -o username=vasja,password=pupkin //pupkin_v/Video /home/user/video
    не работает, выдает помощь
    usage: ……
    работаю в ubuntu. надо пдключить расшаренную папку windows
    Может не так команда?

  • Mut@NT
    9 Июль, 22:11

    Людмила: # sudo mount -t smbfs -o username=vasja,password=pupkin //pupkin_v/Video /home/user/video не работает, выдает помощь usage: …… работаю в ubuntu. надо пдключить расшаренную папку windows Может не так команда?

    Строка
    username=vasja,password=pupkin
    должна быть заменена на требуемые параметры. Если подключаетесь от имени гостя, то там нужно быть осторожным, есть нюансы и различия русской и английской ОС Windows

  • Андрей
    31 Август, 10:04

    В ubuntu так надо:
    mount -t cifs -o username=tridge,password=foobar //fjall/test /mnt/smb/fjall

  • CJ
    14 Сентябрь, 20:28

    cj@Monster:~$ sudo umount /dev/sda1
    umount: /: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
    cj@Monster:~$ df -h
    Файловая система Разм Исп Дост Исп% смонтирована на
    /dev/sdb1 26G 9,1G 16G 37% /
    none 1,7G 416K 1,7G 1% /dev
    none 1,7G 0 1,7G 0% /dev/shm
    none 1,7G 200K 1,7G 1% /var/run
    none 1,7G 0 1,7G 0% /var/lock
    none 1,7G 0 1,7G 0% /lib/init/rw
    /dev/sdb6 33G 15G 19G 45% /media/4403D3D754B7C8F5
    /dev/sdb5 30G 22G 8,1G 74% /media/Win7
    /dev/sda5 50G 8,9G 41G 18% /media/Other
    /dev/sdc1 373G 372G 946M 100% /media/STORAGE
    /dev/sdb7 94G 88G 5,5G 95% /media/MUSIC & GAMES
    /dev/sda1 26G 9,1G 16G 37% /

  • Владимир
    15 Сентябрь, 09:46
  • Mut@NT
    19 Сентябрь, 20:14

    CJ: Нужно смонтировать диск /dev/sda1 , но утверждается, что он уже смонтирован в точке “/”, хотя в этой точке смонтирован системный раздел Убунты. Подскажите, что делать, замучался уже:(

    Можете показать вывод команды:
    sudo fdisk -l

    Владимир:
    Единственное замечание – ошибки употребления тся/ться.-ТСЯ или -ТЬСЯ? Еще раз спасибо.:)

    Это может быть;) Нужно будет обратить внимание своего редактора;)

  • Тарас
    27 Сентябрь, 06:59
  • Mut@NT
    30 Сентябрь, 06:46

    Тарас: Команда монтирования самбы не работает.

    Что именно не работает в ней?

  • Roman
    2 Ноябрь, 20:41

    А если файловая система LWM2, а Linux Mint ругается?!
    то есть команда sudo mount -t lwm2 /dev/sdb /home/user/Видео не принимается.

  • zzzubr
    2 Ноябрь, 22:52

    Mut@NT: sudo mount -t ext3 -o rw /dev/hda3 /home/roza/Desktop
    Так? То есть точка монтирования /home/roza/Desktop?

    Если у Вас все монтируется и файловая система /dev/hda3 видно, но у Вас не достаточно прав, то нужно просто эти права добавить:
    sudo chmod -R 0777 /home/roza/Desktop

    ммм…мне так кажется..что это был не оч хороший способ…правильней былоб из рута заходить ибо так вы дали права всем и вся…а это не есть хорошо…

    имхо! хоть и говорят что мильон статей, все равно, статья хорошая) правда примерчиков не хватает…хотелось бы увидеть какие-нибудь нестандартные чтоли применения… ибо по примерам все проще усваивается)
    29 Ноябрь, 20:33

  • Mut@NT
    5 Декабрь, 19:34

    maks: Стояла винда, винчестер был разбит на 4 логических диска (c,d,e,f). На диск “c” установил ubuntu 10.04, снеся тем самым винду. Теперь нет доступа и не вижу остальные логические диски. Подскажите, пожалуйста, что делать, чтоб получить к ним доступ?

  • Ihor
    6 Декабрь, 14:41

    >
    >

  • Mut@NT
    14 Декабрь, 10:48

    Ihor: > Монтирование разделов жесткого диска
    > …Точку монтирования можно взять любую.
    Вроде бы в Большой Красной книге (я ещё слышал “у Немета”) сказано: “…желательно, чтобы в папке, куда монтируете, не было файлов, потому что они не будут видны”.

    Ну это само собой разумеется.

  • Мульт
    7 Январь, 22:06

    Примонтировал iso образ

    # sudo mount -t iso9660 -o loop /home/op/iso/1.iso /home/op/disk

    Русские имена файлов кракозябрами пишет.

  • umnik
    29 Март, 16:15

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

    Все рассказано

  • Zlobik
    18 Август, 08:09

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

  • Neon
    12 Январь, 23:29

    Тут случилась со мной забавная штука. Пытался сделать загрузочную флэшку виндовую. форматнул флэху командой mkfs, затем по рекомендациям некоторых “продвинутых” юзверей. поставил приложение gparted, дал флэшке флажок загрузочной(активной)… И вот после этого начались чудеса:
    1. проблема отпали команды mount & umount
    2. команды восстановить удалось, но тут другой трабл. при монтировании раздела (не важно с какой системой) фс подключается в режиме чтения, изменить права доступа не удается. Система просто не реагирует на ключи данных команд и говорит все впорядке, операция выполнена успешно.

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

    Внимание вопрос: С чем связано такое поведение gparted и как он это делал? Ну и как с этим бороться не удаляя gparted?

  • Агата
    21 Январь, 23:07

    Отличные, вразумительные статьи: эта, “.. SWAP в Linux”,”..что такое fstab?”!
    Уважаемый автор, напишите пожалуйста еще пару, осветив такие темы, как: разбивка, разметка диска, слияние разделов, перенос home на другой раздел.
    Отличная была-бы коллекция!

  • Александр
    7 Апрель, 00:35

    А можно как то исходный код сей чудо программы получить

  • sbp
    29 Июнь, 01:27

    Подскажите, что делать?
    Поставил Ubuntu12.04 неделю назад. После некоторых неосторожных действий система упала. На диске 250ГБ информации. LiveCD ЖД видит, но не запускает (выдает ошибку). И присоединить его никак не получается. Вот результат (даже в таком варианте) –
    root@ubuntu:~# sudo mount -t ext4 -o force /dev/sda1 /
    mount: wrong fs type, bad option, bad superblock on /dev/sda1, missing codepage or helper program, or other error В некоторых случаях полезная информация может быть найдена в syslog – попробуйте dmesg | tail или что-то в этом роде

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

  • kino
    25 Октябрь, 23:50

    Добрый день. Есть сервер для кинопроектора на linux. отличается от обычных тем что в него вшита программа Digital Cinema для показа фильмов через проектор. Недавно умерла материнка, поменяли, поставили другую. Все загрузили по новой. Теперь сервер не видит переносной жесткий диск SATA . он подключается с помощью салазок для перекачки фильмов на сервер (1 фильм весит от 90 до 300 Гб). Скажите плз через команду mount можно сделать так что бы он его увидел? (питание на диск идет, все шлейфы подключены, но все равно не видит диск)

  • При использовании нескольких операционных систем или переходе с одной на другую хочется использовать одни и те же настройки для общих приложений. Например иметь один и те же параметры, закладки и кэш в Opera под Linux и Windows. Порой удобнее не прописывать никаких путей и не делать симлинков в каждой ОС, а воспользоваться возможностью Linux монтировать одни папки поверх других. Для этого под рутом используется команда mount --bind olddir newdir . При этом старое содержимое папки скрывается.

    Вот так я подключаю конфигурацию Apache, настройки и базу MySQL и запускаю их с новыми параметрами хранящимися на отдельной партиции:
    killall apache
    mysqladmin shutdown
    mount --bind ./var/www /var/www
    mount --bind ./var/log/apache /var/log/apache
    mount --bind ./var/log/mysql /var/log/mysql
    mount --bind ./var/lib/mysql /var/lib/mysql
    mount --bind ./etc/hosts /etc/hosts
    mount --bind ./etc/apache/vhosts.conf /etc/apache/vhosts.conf
    mount --bind ./etc/mysql/my.cnf /etc/mysql/my.cnf
    chmod 755 /etc/mysql/my.cnf
    apache
    mysqld

    Команды записаны в файл mnt.sh, запускаю его перед работой с вебом.

    А вот так отмотирую и отключаю веб-дела:
    killall apache
    mysqladmin shutdown
    umount /var/www
    umount /var/log/apache
    umount /var/log/mysql
    umount /var/lib/mysql
    umount /etc/hosts
    umount /etc/apache/vhosts.conf
    umount /etc/mysql/my.cnf

    Эти команды прописаны у меня в файле umnt.sh.

    Как видно, структура папок на расшаренной партиции повторяет часть структуры папок в Linux, а файлы mnt.sh и umnt.sh лежат в каталоге верхнего уровня и ссылаются на все монтируемые папки с помощью относительных путей, что позволяет переносить расшаренные данные не меняя путей в скриптах монтирования/отмонтирования.

    Отдельного разговора заслуживает монтирование настроек программ прямо с USB-флэшки. Это позволяет создать переносную кроссплатформную рабочую среду. Можно например набить флэшку портабельными приложениями типа FireFox/Opera, Miranda, AbiWord, Portable OpenOffice и т.д. и грузить их прямо с флэшки под Windows, а в Linux монтировать профили этих приложений в соответствующие места файловой системы, чтобы Linux-версии использовали параметры с флэшки. UniformServer под Windows добавить на флэшку по-вкусу.

    При создании такой все-своё-ношу-с-собой-чудо-флэшки под Windows нужно обратить внимание на то, чтобы она не стала рассадником вирусов — при запуске программы с флэшки на заразном компьютере есть шанс унести инфекцию с собой. Также нужно помнить, что USB 1.1 тормозит:(

    С патчем unionfs к ядру Linux умеет монтировать одну папку в другую с объединением файлов в общую иерархию, но это уже другая история.