Различия

Показаны различия между двумя версиями страницы.


Предыдущая версия
mount [2025/07/06 12:39] (текущий) – внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Примеры использования команды mount и umount в Linux ======
 +{{htmlmetatags>
 +metatag-description=(Использование утилиты mount для всех случаев в жизни.)
 +}}
 +
 +{{ ::mount_linux_hdd.png?nolink&400 |}}
 +
 +**mount** — утилита командной строки в UNIX-подобных операционных системах, применяется для монтирования файловых систем. В операционных системах Linux и UNIX вы можете использовать команду mount для подключения (монтирования) файловых систем и съемных устройств, таких как флэш-накопители USB, в определенной точке монтирования в дереве каталогов. Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.
 +
 +  * [[mountroot]]
 +  * [[montirovanie_udaljonnoj_papki|Как примонтировать папку по sftp, FTP, WebDav, GMail, Flickr?]]
 +  * Подключить удаленный сервер [[NFS|NFS]] (для FreeBSD):<code>mount_nfs 10.0.144.1:/usr/ports/distfiles/ /usr/ports/distfiles</code>
 +  * Монтирование сетевых папок (шар) Windows (для Ubuntu). Пароль и логи не заданы в Windows для шар. smbfs и cifs в принципе одно и тоже:<code bash>
 +# apt install smbclient smbfs
 +в этом случае запросит пароль, так как его у нас нет добавим параметр -o password=
 +# mount -t smbfs //10.26.95.12/keepbuh$ /mnt/keepbuh/ 
 +# mount -t smbfs -o password= //10.26.95.12/keepbuh$ /mnt/keepbuh/
 +</code>Отмонтировать шару:<code>
 +# umount /mnt/keepbuh
 +</code>
 +Пропишем для автоматического монтирования при загрузке системы. В Ubuntu такой способ не заработал, хотя mount -a работает.
 +<code>
 +# nano /etc/fstab
 +...
 +#Share Buh
 +//10.26.95.12/keepbuh$ /mnt/backup.buh cifs auto,users,password=,ro,iocharset=utf8 0 0
 +</code>
 +Автозагрузка через rc.local
 +<code>
 +# nano /etc/rc.local
 +...
 +#Share
 +#/bin/mount -t smbfs -o ro,iocharset=utf8,password= //10.26.95.12/keepbuh$ /mnt/backup.buh
 +#OR
 +/bin/mount -t cifs -o ro,iocharset=utf8,password= //10.26.95.12/keepbuh$ /mnt/backup.buh
 +</code>
 +
 +===== Монтирование smb-ресурса =====
 +
 +В виду того, что компьютеров в доме каждого из нас становится всё больше, а работают под Linux`ом далеко не все из них, регулярно возникает необходимость как-то налаживать взаимодействие между машинами в таких гетерогенных сетях. Об офисных сетях и говорить нечего: на рабочих компьютерах пока господствует Windows, а Linux, в основном, обитает на серверах (тем не менее, ситуация может и измениться).
 +
 +К счастью, файлообмен в гетерогенных сетях задача вполне уже решенная, ведь есть Samba.
 +
 +Предустановленных программ Ubuntu вполне достаточно, чтобы путешествовать по ресурсам Windows (в главном меню: Переход > Сеть > Сеть Windows). Но удобным может быть примонтировать удаленный сетевой ресурс (после чего вы сможете работать с файлами, расположенными на нём, как с локальными). Для этого есть команда smbmount из пакет smbfs (установите его: sudo apt-get install smbfs).
 +
 +Примонтировать удаленный ресурс можно так:<code>
 +smbmount //192.168.0.10/ShareDocs ~/Share -o rw,iocharset=utf8,codepage=cp866
 +</code>
 +Здесь 192.168.0.10 — IP-адрес компьютера с ресурсом (вместо IP можно использовать и имя компьютера); ShareDocs — имя ресурса на нём (задается в параметрах общего доступа, по умолчанию сопадает с именем расшаренной папки); ~/Share — точка монтирования (в данном случае, это директория Media в вашем домашнем каталоге, не забудьте при необходимости эту директорию создать перед монтированием mkdir ~/Share).
 +
 +После ключа -o следуют опции: rw — запись и чтение (ro — только чтение); iocharset=utf8 — кодировка в который должен будет представлен общий ресурс; codepage=cp866 — кодировка держателя (сервера) общего ресурса (для общих ресурсов Windows требуется установит именно cp866).
 +
 +Для ресурсов, закрытых паролем, пригодятся еще две опции: username=myname — устанавливает имя пользователя; password=mypasswd — собственно, пароль.
 +
 +А вот так можно отмонтировать ресурс:<code>
 +smbumount ~/Share</code>
 +
 +Если удаленный ресурс всегда доступен и часто требуется вам, то есть смысл примонтировать его на постоянной основе (чтобы он автоматически монтировался при каждой загрузке), добавив такую строку в файл /etc/fstab:<code>
 +//192.168.0.10/ShareDocs /home/yourusername/Share cifs auto,users,rw 0 0
 +</code>
 +===== Монтирование Loopback Device (loop) с использование offset sizelimit =====
 +Устройства Loop: обычные файлы, смонтированные как файловая система. В Linux работа с образами дисков осуществляется через так называемые петлевые (loop) устройства. Образ привязывается к loop-устройству, после этого система может работать с этим устройством, как с обычным блочным.
 +
 +Задача. Вы создали образ жесткого диска. Жесткий диск разбит на разделы. Вы хотите смонтировать один из разделов из файла образа.
 +
 +Однако /dev/loop устройства не распознают разделы.
 +
 +Для решения проблемы, при монтировании вы можете использовать параметры offset=и sizelimit=для ограничения диапазона в файле образа при монтировании с использованием замыкания на себя. Если вы разместите эту область точно на границах раздела, вы сможете смонтировать ее.
 +
 +Вы можете определить размер и расположение разделов с помощью sfdisk. В этом примере взят образ Raw disk image [[mikrotik_cloud_hosted_router|MikroTik Cloud Hosted Router]], который содержит 2 раздела разделами, нам нужно примонтировать второй раздел.
 +
 +sfdisk в Ubuntu устанавливается вместе с пакетов fdisk, если fdisk нет, значит установим:
 +<file bash>
 +apt install fdisk
 +</file>
 +<file bash>
 +sfdisk -d chr.img
 +label: dos
 +label-id: 0x00000000
 +device: chr.img
 +unit: sectors
 +sector-size: 512
 +
 +chr.img1 : start=          34, size=       65536, type=83, bootable
 +chr.img2 : start=       65570, size=      192478, type=83
 +</file>
 +Данные здесь находятся в блоках по 512 байт. Рассчитать параметры offset и sizelimit можно так:
 +<file bash>
 +echo $((65570 * 512)) $((192478 * 512))
 +
 +33571840 98548736
 +</file>
 +Монтаж выполняется следующей командой:
 +<file bash>
 +mount -o loop,offset=33571840,sizelimit=98548736 /tmp/image /mnt
 +</file>
 +Практический пример использования minut offset вы можете посмотреть на примере скрипта [[mikrotik_cloud_hosted_router]]
 +==== Монтирование ISO образов и .nrg; .bin/.cue.; .mdf ====
 +Монтировать [[ISO|ISO]]- образ в локальную директорию пользователя<file>
 +$ sudo mount -o loop iso_file.iso $HOME/temp_mnt
 +</file>
 +
 +Но как быть с образами других форматов - Nero, Alcohole 120%, Clone CD, ...? Здесь все немного сложнее. Но, как правило, все сводится к двум действиям:
 +  - конвертирование образа отдельного формата в .iso, используя специализированные для этого утилиты
 +  - стандартное монтирование iso-образа
 +Утилиты Linux для конвертирования: nrg2iso, bchunk, mdf2iso, ccd2iso.
 +
 +===== Монтирование нового HDD =====
 +Монтирование нового жесткого диска [[HDD|HDD]] в Linux.
 +  * Проверим видит ли операционная система наш второй жесткий диск:
 +<file bash>
 +# ls /dev/sd*
 +/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sdb  /dev/sdb1  /dev/sdb2  /dev/sdb3
 +</file>Да, второй диск /dev/sdb, в моем случае на нем уже есть файловая система (разделы /dev/sdb1  /dev/sdb2  /dev/sdb3). Если ваш HDD не разбит, воспользуйтесь утилитой [[fdisk]].
 +<code>
 +# mkdir /home/keepraid1
 +# mount /dev/sdb1 /home/keepraid1/
 +# df -h
 +Filesystem            Size  Used Avail Use% Mounted on
 +/dev/sda1             9,2G  310M  8,5G   4% /
 +udev                  2,0G  252K  2,0G   1% /dev
 +none                  2,0G      2,0G   0% /dev/shm
 +none                  2,0G   32K  2,0G   1% /var/run
 +none                  2,0G      2,0G   0% /var/lock
 +none                  2,0G      2,0G   0% /lib/init/rw
 +/dev/sda6             942M   18M  877M   2% /tmp
 +/dev/sda7              28G  343M   26G   2% /var
 +/dev/sda8              28G  554M   26G   3% /usr
 +/dev/sda9              75G  180M   71G   1% /home
 +/dev/sdb1             230G  188M  218G   1% /home/keepraid1
 +# umount /home/keepraid1
 +</code>
 +Настроим автоматическое монтирование партиции нового HDD через fstab. Для этого нам нужно узнать UUID новой партииции. Для получения этой информации используем утилиту blkid:
 +<code>
 +# cp /etc/fstab /etc/fstab.noraid1
 +# blkid
 +/dev/sda1: UUID="d49fa623-e131-45d4-a59c-7cc98191d536" TYPE="ext4" 
 +/dev/sda5: UUID="4a803b5c-0ff2-402b-a596-9a7e17c2b2bc" TYPE="swap" 
 +/dev/sda6: UUID="183761a2-6e46-4282-9334-5f4d43c25c51" TYPE="ext4" 
 +/dev/sda7: UUID="abb9ac60-5348-4259-91f1-482a1ce59b28" TYPE="ext4" 
 +/dev/sda8: UUID="db8adf38-6724-4dbc-9253-f63f2b054069" TYPE="ext4" 
 +/dev/sda9: UUID="d2c3ff60-2e1e-4f52-806e-24e901e0f86e" TYPE="ext4" 
 +/dev/sdb1: UUID="fe462740-4281-4de8-ada5-988b6d7e5aae" TYPE="ext4"
 +</code>
 +Прописываем в fstab нужные разделы добавленного жесткого диска.
 +<file bash>
 +# nano /etc/fstab
 +...
 +#RAID1
 +UUID=fe462740-4281-4de8-ada5-988b6d7e5aae /home/keepraid1 ext4    
 +defaults        0       2
 +</file>
 +Проверяем правильность изменений в файле fstab. Для этого запускаем команду mount с ключем а, если ошибок нет, то все хорошо. Если ошибки есть - читай мануал с самого начала!! :)
 +<file>
 +# mount -a
 +</file>
 +
 +<file>
 +# df -h
 +Filesystem            Size  Used Avail Use% Mounted on
 +...
 +/dev/sdb1             230G  188M  218G   1% /home/keepraid1
 +</file>
  

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!