Недавно решил переконвертировать фильмы в формате AVI в MPEG, чтобы смотреть с «флешки» на странном телевизоре BBK, который воспроизводит не все «авишки» а вот с DVD-шным форматом проблем не было. Как я уже писал раньше, 90% всего времени я провожу за экономной Raspberry PI 3, а вот роль тяжелой артиллерии выполняет мой 6-ядерный системный блок. Через ssh я зашел на удаленный «системник» с Ubuntu 16.04, скачал через Rtorrent нужные фильмы и перекодировал при помощи ffmpeg. После удачного конвертирования я решил сбросить эти файлы на «флешку». Но каково было мое удивление, когда флеш-накопитель не определился системой автоматически. Это в моей практике было впервые, поэтому пришлось решать эту проблему при помощи Google. Если бы я запустил Ubuntu 16.04 в ее графическом режиме, то с монтированием «флешки» проблем не возникло бы, а вот в консольном режиме такое случается часто.
Монтирование носителя при помощи udisksctl
Сначала узнаем как система определила нашу подключенную «флешку». Выполним команду:
lsblk
Вывод был следующий:
sdb 8:16 0 596,2G 0 disk
├─sdb2 8:18 0 5,9G 0 part
├─sdb3 8:19 0 561G 0 part /mnt/5b4d2ffa-cfa0-4419-8736-3c5e97cf1073
└─sdb1 8:17 0 29,3G 0 part
sr0 11:0 1 1024M 0 rom
sdc 8:32 1 7,5G 0 disk
└─sdc1 8:33 1 7,5G 0 part
sda 8:0 0 465,8G 0 disk
├─sda2 8:2 0 92,9G 0 part /home
├─sda3 8:3 0 344,1G 0 part /mnt/938eb7e4-1e03-48c9-a9d2-4b7a5f263b01
└─sda1 8:1 0 28G 0 part /
sr1 11:1 1 1024M 0 rom
Из этого видно, что наша «флешка», размером 7,5G, имеет системное имя — sdc. И хотя эта команда ее видит, в каталоге /mnt были примонтированы лишь два жестких диска, а /media был вообще пустой. Поэтому, чтобы примонтировать нужное устройство, воспользуемся помощью udisksctl. Это консольная утилита, которая входит в состав пакета UDisks. Выполним следующую команду:
udisksctl mount -b /dev/sdc1
/dev/sdc1 — моя «флешка»
-b — данный параметр указывает системе, что нужно примонтировать блочное устройство
После этого видим примерно такой вывод:
==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount-other-seat ===
Для монтирования UFD 2.0 Silicon-Power8G (/dev/sdc1) требуется подтверждение подлинности пользователя
Authenticating as: dm,,, (dm)
Вводим пароль и видим, что наш носитель появился в каталоге /media
==== AUTHENTICATION COMPLETE ===
Mounted /dev/sdc1 at /media/dm/Flash_Drive
После монтирования устройства можно работать с ним как обычно, удалять, перемещать и копировать файлы. Если нужно отмонтировать устройство, то выполните команду:
udisksctl unmount -b /dev/sdc1
Монтирование устройств при помощи mount
Точки монтирования нужно создавать в каталогах /mnt либо /media. Для этого выполним команду:
sudo mkdir /mnt/usb
Теперь дадим этому каталогу права доступа для простых пользователей:
sudo chmod 777 /mnt/usb
Далее определим имя монтируемого устройства и тип файловой системы командой:
sudo fdisk -l
Часть вывода команды:
Устр-во Загрузочный Start Конец Секторы Size Id Тип
/dev/sdc1 2048 15730687 15728640 7,5G 7 HPFS/NTFS/exFAT
Теперь нужно запомнить такую деталь. «Флешка», как правило, может иметь файловую систему FAT32 или NTFS. Поэтому нам нужно сообщить об этом системе. Для FAT32 выполним следующую команду:
sudo mount -t vfat -o rw /dev/sdc1 /mnt/usb
-t vfat — параметр, который указывает о файловой системе FAT 32 носителя
/dev/sdc1 — наше монтируемое устройство
/mnt/usb — точка монтирования
-o rw — разрешаем чтение и запись
Для NTFS соответственно:
sudo mount -t ntfs -o rw /dev/sdc1 /mnt/usb
-t ntfs — параметр, который указывает о файловой системе NTFS носителя
/dev/sdc1 — наше монтируемое устройство
/mnt/usb — точка монтирования
-o rw — разрешаем чтение и запись
Также иногда будет полезно добавить следующие параметры:
iocharset=utf8,codepage=866
iocharset=utf8 — задает кодировку utf8
codepage=866 — добавляет поддержку русского языка
Команда будет иметь следующий вид:
sudo mount -t ntfs -o rw,iocharset=utf8,codepage=866 /dev/sdc1 /mnt/usb
Иногда устройство может не монтироваться, поэтому можно будет применить параметр — -o force
Вся команда будет иметь следующий вид:
sudo mount -t ntfs -o force /dev/sdc1 /mnt/usb
Чтобы отмонтировать устройство выполните:
sudo umount /mnt/usb
Для монтирования CD/DVD дисков нужно выполнить команду:
sudo mount -t iso9660 -o ro /dev/cdrom /cd
-t iso9660 — данный параметр указывает файловую систему iso9660
-o ro — разрешаем только чтение
/cd — точка монтирования, которую предварительно нужно создать командой:
sudo mkdir /mnt/cd
Для монтирования образа диска ISO выполним команду:
sudo mount -t iso9660 -o loop ~/image.iso ~/iso
~/image.iso — образ ISO
~/iso — точка монтирования
-o loop — этот параметр указывает об использовании .iso файла
Надеюсь информация была полезной. На этом разрешите откланяться и удачи!
Геморой
udisksctl для Debian входит в состав udisks2
спасибо