Как отключить автомонтирование флешки в linux. Linux размонтировать флешку


Как отключить автомонтирование флешки в linux

Для чего может понадобиться отключить автомонтирование флешки на ПК с ОС Linux? На мой взгляд есть два ответа:

  1. Компьютер в организации где запрещено пользоваться флешками, на котором надо запретить автомонтирование флешки
  2. Сервер, с установленной виртуальной машиной Windows. При условии, что на Windows автомонтирование флешки обязательно. И совсем не хочется, что бы флешка монтировалась одновременно на обе OS Linux и Windows

Способ № 1.

Отключение флешки:: chmod 0700 /media

Включение флешки: chmod 0755 /media

Только что бы запретить пользователю читать данные с флешки, компакт диска и т.д.

Практически все современные дистрибутивы автоматически монтируют флешки и другие сменные носители в директорию /media, поэтому запретив доступ к ней, запрещаем доступ ко всему её содержимому.

Удобно, если нужно на одном и том же компьютере кому-то разрешить, а кому-то запретить доступ к внешним устройствам хранения.

Само устройство будет появляться и монтироваться, но с данными на нем работать будет нельзя.

Я думаю, сам не пробовал, но если сменить группу каталогу /media например на "qwest" и сменить права на /media:

chmod 0750 /media

Только пользователи из группы "qwest" смогут получить доступ к сменным носителям.

Способ № 2.

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

В итоге, Linux флешку вообще не монтирует, а на Windows делайте с ней что хотите и безопасно извлекайте

Отключение флешки:

rmmod usb_storage; echo 'blacklist usb_storage' > /etc/modprobe.d/blacklist-storage.conf

Включение флешки:

rm /etc/modprobe.d/blacklist-storage.conf; modprobe usb_storage

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

Возможно /etc/modprobe.d есть не во всех дистрибутивах, так что может быть потребуются незначительные изменения.

И конечно помним, что все команды выполнять от root.

palexa.pp.ua

Монтирование разделов и дисков в Linux

Рано или поздно пользователи Linux сталкиваются с таким понятием как монтирование разделов и дисков в Linux. Многие, особенно бывшие пользователи Windows, испытывают трудности с монтированием разделов, хотя если задуматься, то всё очень просто и логично. Ниже приводятся описание процесса монтирования в UNIX-like системах и разбор наиболее типичных случаев. И даже если вы окружены графическим интерфейсом, знание консольных команд может очень пригодиться. Кроме того, узнав пару-тройку полезных команд UNIX, вы приобщитесь к этой чёрной магии и, может быть, начнёте её использовать.

Монтирование разделов в Linux - общие слова

Если ядро Linux опознало ваше устройство-носитель данных, то оно должно предоставить какой-то внешний интерфейс пользователю для работы с устройством. Этим интерфейсом является создание файлов-устройств в каталоге /dev

Устройствам, подключённым к IDE, будут соответствовать файлы-устройства /dev/hda, /dev/hdb и так далее.

Устройствам типа SCSI, а также близкие им по духу SATA-устройства и USB-флешки, будут иметь файлы-устройства/dev/sda, /dev/sdb и тому подобное.

Если на диске есть разделы, то цифра в имени файла-устройства будет соответствовать номеру раздела.

если на USB-флешке есть два раздела, то первый будет называться/dev/sda1, а второй /dev/sda2

Монтирование разделов = объяснение системе, как добраться до ваших данных и сделать их доступными для использования. Системе нужно объяснить три простые вещи:

  1. какая файловая система на разделе;
  2. какой файл-устройство вам нужно;
  3. куда его подключить для просмотра = точка монтирования;

Каталог, в котором вы будете просматривать содержимое ваших разделов, называется точкой монтирования (mount point). Поэтому нужно объяснить системе - командой или через графический интерфейс - что вы хотите смонтировать, куда и что за файловая система на этом разделе.

В переводе на язык UNIX, это звучит так:

mount -t vfat /dev/hda3 /mnt/storage

Если нужно часто монтировать одни и те же разделы, занесите их в/etc/fstab - это общесистемный конфиг, в котором указаны все необходимые разделы для монтирования. Редактировать этот файл может не абы кто, а только root. Так что разживитесь рутовыми полномочиями и редактируйте /etc/fstab

Файл /etc/fstab состоит из колонок, разделителями между которыми являются символы табуляции (клавиша TAB). Вот пример содержимого файла /etc/fstab:

# /etc/fstab: static file system information.

/dev/hda2 / reiserfs notail,noatime 0 1

/dev/hdb /mnt/cdrom iso9660 ro,user,noauto 0 0

/dev/sda1 /mnt/flash vfat iocharset=koi8-r,codepage=866,rw,user,auto 0 0

Формат колонок такой:

  • Монтируемое устройство (файл-устройство, он же раздел, который вы хотите примонтировать)
  • Точка монтирования (в какую директорию в файловой системе монтировать)
  • Тип монтируемой файловой системы
  • Опции монтирования (кодировка языка, необходимость монтирования при старте)
  • Dump (обычно 0)
  • Pass (обычно 0)

Важно, чтобы вы вставляли Тab после каждой колонки при редактировании /etc/fstab

Ниже приводятся уточнения для каждого случая файловой системы, но идея монтирования разделов в Linux одна и та же.

mount -t vfat /dev/hda1 /home/vasya/tempdir

прикрутить тип FAT что прикрутить куда это прикрутить

Пишем буквально то, чего хотим: от имени суперпользователя, прикрутить логическую структуру с файловой системой типа FAT, находящуюся в файле /dev/hda1, к каталогу/home/vasya/tempdir

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

где /mnt/XX - точка монтирования. Если ни одно приложение не работает с разделом, то раздел размонтируется, отключится и данные на него полностью запишутся. После этого устройство можно безопасно извлечь.

Чтобы посмотреть, что можно смонтировать, и увидеть информацию о разделах, можно воспользоваться командой (запуск от root):

# fdisk -l

Увидите что-то вроде:

Disk /dev/hda: 60.0 GB, 60011642880 bytes

255 heads, 63 sectors/track, 7296 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System

/dev/hda1 1 36 289138+ 82 Linux swap / Solaris

/dev/hda2 * 37 7296 58315950 83 Linux

Всё очень просто и логично. Как и многое другое в UNIX.

Предварительные действия перед монтированием

Прежде, чем монтировать разделы, нужно создать точки монтирования. Точки монтирования следует создавать в каталогах/mnt или /media.Пример: Для того, чтобы создать точку монтирования с названием /mnt/win в консоли даём команду:

и даём каталогу права доступа для обычных пользователей:

$ sudo chmod 777 /mnt/win

Это позволит считывать и записывать данные не только суперпользователю-руту, но и обычному пользователю. Даже если в системе вы - единственный пользователь. Свою точку монтирования в директории /mnt нужно создать для каждого раздела.Не бойтесь, если вы не знаете точно, как теперь называются ваши виндовые диски C:\ или D:\ и монтируйте разделы с указанием типа файловой системы fat или ntfs - если ошибётесь, раздел не примонтируется и вы увидите ошибку вроде

mount: wrong fs type, bad option, bad superblock on /dev/sda2,

missing codepage or other error

In some cases useful info is found in syslog - try

Не боимся - просто нам команда mount сказала, что примонтировать у неё не получилось. 

Далее приводятся описания нескольких типичных случаев монтирования разделов и файлов.

Как примонтировать раздел с файловой системой FAT в Linux

Самое главное здесь - кодировка. Замечательная корпорация Microsoft изобрела свою собственную кодировку CP866 для MS DOS, CP1251 для Windows и только в последнее время прозрела до UTF8. Благодарим Microsoft за изобретение велосипеда с треугольными колёсами и приступаем к монтированию.

Однократное монтирование FAT 

Временное, однократное монтирование, например, флешки, выглядит в командной строке так:

$ sudo mount -t vfat /dev/XX /mnt/YY -o iocharset=utf8,codepage=866,rw

# mount -t vfat /dev/XX /mnt/YY -o iocharset=utf8,codepage=866

Пример: монтирование типичной флешки выглядит так

$ sudo mount -t vfat /dev/sda1 /mnt/flash -o iocharset=utf8,codepage=866,rw

То есть монтируем раздел /dev/sda1 типа vfat в точку монтирования/mnt/flash

Постоянное монтирование FAT 

Если нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку:

/dev/XX /mnt/YY vfat iocharset=utf8,codepage=866,user,rw 0 0

Пример: та же типичная флешка в /etc/fstab смотрится так

/dev/sda1 /mnt/flash vfat iocharset=utf8,codepage=866,user,rw 0 0

То есть монтируем раздел /dev/sda1 типа vfat в точку монтирования/mnt/flash После этого раздел FAT в Linux будет доступен. Отмонтирование по команде umount /mnt/flash

Как правильно говорят в комментариях, iocharset совпадает с текущей локалью - например, iocharset=utf8.

Как примонтировать раздел с файловой системой NTFS в Linux

Замечательная корпорация Microsoft изобрела не просто новый велосипед с треугольными колёсами NTFS, а ещё и закрыла его описание. Да так, что пришлось очень долго его взламывать и создавать драйвера обратной разработкой. О сложности проблемы даёт понять описание дефрагментации NTFS, что, как говорится, внушает.

Монтировать и записывать на NTFS в Linux, тем не менее, возможно благодаря героическим усилиям разработчиков, создавших драйверNTFS-3g. Этот драйвер можно установить командой:

aptitude install ntfs-3g

или поискать пакет ntfs-3g в графической оболочке установки программ вашего любимого дистрибутива.

Однократное монтирование NTFS 

Временное, однократное монтирование, например, раздела с данными Windows, выглядит так:

$ sudo mount -t ntfs-3g /dev/XX /mnt/YY -o umask=0,nls=utf8

# mount -t ntfs-3g /dev/XX /mnt/YY -o umask=0,nls=utf8

Пример: монтирование раздела Windows с NTFS разделом выглядит так

$ sudo mount -t ntfs-3g /dev/sda1 /mnt/flash -o umask=0,nls=utf8

То есть монтируем раздел /dev/sda1 типа ntfs-3g в точку монтирования /mnt/flash

Постоянное монтирование NTFS

Если нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку:

/dev/XX /mnt/YY ntfs-3g umask=0,nls=utf8,user,auto,rw 0 0

Пример: та же типичная флешка в /etc/fstab смотрится так

/dev/sda1 /mnt/windows ntfs-3g umask=0,nls=utf8,exec,user,auto,rw0 0

Иногда в /etc/fstab это уже есть с настроками вида:

/dev/sda1 /mnt/windows ntfs-3g umask=0,nls=ru-RU.UTF-8 0 0

При такой записи всё нормально, кроме одного - файлы и каталоги с русскими именами не отображались, как-будто их не было вовсе. Чтобы это исправить, можно попробовать изменить на:

/dev/sda1 /mnt/windows ntfs-3g exec,user,auto,rw 0 0

То есть монтируем раздел /dev/sda1 типа ntfs-3g в точку монтирования /mnt/windows После этого раздел NTFS в Linux будет доступен.

Отмонтирование по команде umount /mnt/windows

Как примонтировать CD/DVD диск в Linux

Всё проще - скорее всего, это уже сделано в вашем дистрибутиве. Тем не менее, привожу это здесь для примера.

Однократное монтирование CD/DVD 

Временное, однократное монтирование, например, DVD-диска с данными в Linux, выглядит так:

$ sudo mount -t iso9660 /dev/XX /mnt/YY

# mount -t iso9660 /dev/XX /mnt/YY

Пример: монтирование DVD-диска с данными выглядит так

$ sudo mount -t iso9660 /dev/cdrom /mnt/dvd

То есть монтируем раздел /dev/cdrom типа iso9660 в точку монтирования /mnt/dvd

Постоянное монтирование CD/DVD

Если нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку:

/dev/XX /mnt/YY iso9660 user,ro 0 0

Пример: оптический диск в /etc/fstab смотрится так

/dev/cdrom /mnt/cdrom iso9660 user,ro 0 0

То есть монтируем раздел /dev/cdrom типа iso9660 в точку монтирования /mnt/cdrom После этого оптический диск в Linux будет доступен. Отмонтирование по команде umount /mnt/cdrom

Как примонтировать ISO-файл или другой файл в Linux

Вы откуда-то скачали ISO-файл и хотите просмотреть его содержимое. Для этого в Windows есть такой костыль под названием Alcohol. В Linux и вообще в UNIX такие костыли не требуются, так как монтирование ISO-образа ничем для системы не отличается от монтирования CD/DVD-диска. Нужно только передать один параметр -o loop чтобы сообщить системе, что монтировать мы собираемся на петлевое устройство (loopback). Если делать это надо много и часто, можно воспользоваться программой GmountISO, описанной тут.

Для монтирования ISO-образа в командной строке даём команду:

$ sudo mount -t iso9660 file.iso /mnt/YY -o loop

# mount -t iso9660 file.iso /mnt/YY -o loop

Пример: монтирование DVD-диска с данными выглядит так

$ sudo mount -t iso9660 file.iso /mnt/dvd -o loop

То есть монтируем файл file.iso типа iso9660 в точку монтирования/mnt/dvd на петлевое устройство loop

Точно так же можно монтировать любой CD/DVD образ, а также файл-образы сжатых\зашифрованных\экзотических файловых систем типаSquashFS. Отмонтирование по команде umount /mnt/dvd

Как примонтировать раздел с файловой системой EXT2/EXT3/ReiserFS/XFS/JFS... в Linux

Монтирование нормальных файловых систем проблем не создаёт. Приведу пример только с ext3, остальные файловые системы в Linux монтируются точно так же, только вместо ext3 подставьте буквально:ext2, reiserfs, xfs, jfs в зависимости от вашей файловой системы.

Однократное монтирование 

Временное, однократное монтирование, например, флешки, выглядит в командной строке так:

$ sudo mount -t ext3 /dev/XX /mnt/YY

# mount -t ext3 /dev/XX /mnt/YY

Пример: монтирование раздела с данными выглядит так

$ sudo mount -t ext3 /dev/sda1 /mnt/data

То есть монтируем раздел /dev/sda1 типа ext3 в точку монтирования/mnt/data

Постоянное монтирование 

Если нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку:

/dev/XX /mnt/YY ext3 user,auto,rw 0 0

Пример: та же типичная флешка в /etc/fstab смотрится так

/dev/sda1 /mnt/data ext3 user,auto,rw 0 0

То есть монтируем раздел /dev/sda1 типа ext3 в точку монтирования/mnt/data После этого раздел EXT3 в Linux будет доступен. Отмонтирование по команде umount /mnt/data

Как узнать тип файловой системы на диске?

Для этого есть утилита file, которая может определить тип файловой системы, используемый файлом. Так как в UNIX/Linux/*BSD исповедуется принцип "всё есть файл", то раздел с файловой системой это тоже файл. Так что команда file выдаст нам информацию о файловой системе дисковых разделов - надо только указать программе воспринимать их как специальные файлы.

Используем опцию -s (–special-files) для выдачи информации о типе файловой системы блочного устройства. Пример:

или$ sudo file -s /dev/sda1

получаем в ответ:

/dev/sda1: ReiserFS V3.6 block size 4096 (mounted or unclean) num blocks 17920496 r5 hash

То есть на разделе /dev/sda1 имеем файловую ReiserFS V3.6.

Или например:

# file -s /dev/sda1

выдаст в ответ:

/dev/sda1: x86 boot sector, code offset 0x58, OEM-ID "MSWIN4.1", sectors/cluster 64, reserved sectors 126, Media descriptor 0xf8, heads 255, hidden sectors 63, sectors 284237982 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 34693, reserved3 0x800000, serial number 0x287d1dfa, unlabeled

Это поможет в определении того, какая файловая система (и намекнёт на то, какие данные там лежат) на данном разделе.

Что делать, если устройство в Linux не хочет размонтироваться!?Вы пытаетесь размонтировать раздел с данными (флешка, CD/DVD диск...) и получаете сообщение с ошибкой - устройство занято. Например, при выполнении команды umount /mnt/windows получаете сообщение вида:

umount: /mnt/windows: device is busy

Ну и что делать, если раздел в Linux не размонтируется!? Очень просто - посмотреть, какой процесс держит раздел или файл и не даёт отмонтировать его. Дальше либо закрыть это приложение, либо придушить его с помощью команды kill. Даём команду:

lsof | grep /mnt/windows

Вертикальная черта означает передачу вывода команды lsof программе grep и Фильтрации по слову /mnt/windows

После этого вы получите ответ вида:

$ lsof | grep /mnt/windows

lsof: WARNING: can't stat() reiserfs file system /dev/.static/dev

Output information may be incomplete.

mc 14134 beast cwd DIR 8,1 4096 1 /mnt/windows

Стало быть, ваш раздел держит MC (Midnight Commander), который вы скорее всего открыли на другом рабочем столе и просто забыли о нём. Найдите это приложение, закройте его и отмонтируйте раздел снова - теперь проблема должна быть решена.

electrichp.blogspot.com

Использование одной флешки в Windows и Linux

Сегодня почти у каждого человека есть usb-флешка - удобный девайс для переноса данных с одного компьютера на другой. В случае с Windows от пользователя не требуется никаких действий, кроме как вставить флешку в нужный разъем - через управляющий канал, работающий по принципу "вопрос-ответ", флешка сообщит операционной системе все нужные данные для определения типа устройства и установки нужного драйвера. Чаще всего магазинные флешки имеют формат файловой системы ntfs - дань могуществу компании Micrisoft, но этот формат не поддерживается в Linux-системах. А что делать, если данные необходимо передать с Windows на Linux?

Сначала необходимо отформатировать флешку, как FAT32, этот формат поддерживается обеими операционными системами. Предварительно удалив все данные, щелкаем правой кнопкой по иконке флешки в Моем Компьютере, выбираем "Отформатировать..." и щелкаем на нужный формат. Готово. Переносим на флеш нужные нам данные и идем ко второму компьютеру.

При подключении флешки Linux рассматривает ее как SCSI-диск. Он видит наш накопитель, и ассоциирует его с одним из файлов-дырок (файлы-"прообразы" подключенных к компьютеру устройств) в папке /dev. Первым делом нам нужно определить, с каким именно файлом был ассоциирован накопитель.Введем в терминале:

Команда -l программы fdisk выводит пользователю данные о всех имеющихся файловых системах. Мы увидим что-то вроде этого:

Исходя из размера и файловой системы можно догадаться, что наша флешка - это последняя строчка, /dev/sdb1 (скорей всего sdb использовался по причине занятости всех имеющихся по умолчанию sda, но, возможно, по другой какой-то причине).

Далее мы должны создать директорию, в которую будем монтировать флешку. Создается она в папке /mnt (в принципе, можно в любой папке, но так по канону):

И монтируем туда нашу флешку:

  • sudo mount /dev/sdb1 /mnt/flashka

Заходим в эту папку, и видим файлы, которые мы записали на флешку.

Имеет смысл прописать в файл  /etc/fstab ( в нем хранится информация о точках монтирования) такую строчку:

/dev/sdb1 /mnt/flashka vfat rw,users,iocharset=koi8-r,codepage=866,sync

Vfat указывает на тип нашей файловой системы, users указывает, что монтировать может любой пользователь, а не только root, iocharset и codepage помогают избежать проблем с кодировкой при переносе файлов из разных ОС, а sync запрещает кэширование (если его убрать, то флешку нужно будет каждый раз размонтировать, иначе она повредится). 

Прежде чем начинать монтировать флешки вручную, проверьте - некоторые современные системы научились монтировать устройства самостоятельно (ищите директорию в папке /media). Но часто системы делают это некорректно, появляются проблемы с копированием на устройство, и все равно может потребоваться самостоятельное монтирование.

anzu-root.blogspot.com

записки на память: Монтирование разделов и дисков в Linux

Рано или поздно пользователи Linux сталкиваются с таким понятием как монтирование разделов и дисков в Linux. Многие, особенно бывшие пользователи Windows, испытывают трудности с монтированием разделов, хотя если задуматься, то всё очень просто и логично. Ниже приводятся описание процесса монтирования в UNIX-like системах и разбор наиболее типичных случаев. И даже если вы окружены графическим интерфейсом, знание консольных команд может очень пригодиться. Кроме того, узнав пару-тройку полезных команд UNIX, приобщитесь к этой чёрной магии и, может быть, начнёте её использовать.

Монтирование разделов в Linux - общие словаЕсли ядро Linux опознало ваше устройство-носитель данных, то оно должно предоставить какой-то внешний интерфейс пользователю для работы с устройством. Этим интерфейсом является создание файлов-устройств в каталоге /dev

Пример:

Устройствам, подключённым к IDE, будут соответствовать файлы-устройства /dev/hda, /dev/hdb и так далее.Устройствам типа SCSI, а так же близкие им по духу SATA-устройства и USB-флешки, будут иметь файлы-устройства /dev/sda, /dev/sdb и тому подобное.Если на диске есть разделы, то цифра в имени файла-устройства будет соответствовать номеру раздела.

Пример:

если на USB-флешке есть два раздела, то первый будет называться /dev/sda1, а второй /dev/sda2Монтирование разделов = объяснение системе, как добраться до ваших данных и сделать их доступными для использования. Системе нужно объяснить три простые вещи:
  1. какая файловая система на разделе;
  2. какой файл-устройство вам нужно;
  3. куда его подключить для просмотра = точка монтирования;
Каталог, в котором вы будете просматривать содержимое ваших разделов, называется точкой монтирования (mount point). Поэтому нужно объяснить системе - командой или через графический интерфейс - что вы хотите смонтировать, куда и что за файловая система на этом разделе.

В переводе на язык UNIX, это звучит так:

mount -t vfat /dev/hda3 /mnt/storageЕсли нужно часто монтировать одни и те же разделы, занесите их в /etc/fstab - это общесистемный конфиг, в котором указаны все необходимые разделы для монтирования. Редактировать этот файл может не абы кто, а только root. Так что разживитесь рутовыми полномочиями и редактируйте /etc/fstab

Файл /etc/fstab состоит из колонок, разделители между колонками параметров - табуляция (клавиша TAB). Вот пример содержимого файла /etc/fstab:

# /etc/fstab: static file system information.## /dev/hda2 / reiserfs notail,noatime 0 1/dev/hdb /mnt/cdrom iso9660 ro,user,noauto 0 0/dev/sda1 /mnt/flash vfat iocharset=koi8-r,codepage=866,rw,user,auto 0 0Формат колонок такой:
  • Монтируемое устройство (файл-устройство, он же раздел, который вы хотите примонтировать).
  • Точка монтирования (в какую директорию в файловой системе монтировать, точка монтирования).
  • Тип монтируемой файловой системы.
  • Опции монтирования (кодировка языка, необходимость монтирования при старте).
  • Dump (обычно 0).
  • Pass (обычно 0).
Важно, чтобы вы вставляли Тab после каждой колонки при редактировании /etc/fstab

Ниже приводятся уточнения для каждого случая файловой системы, но идея монтирования разделов в Linux одна и та же.

mount -t vfat /dev/hda1 /home/vasya/tempdir

^^^^ ^^^ ^^^^ ^^^^^^^^^^^прикрутить тип FAT что прикрутить куда это прикрутить

Пишем буквально то, чего хотим: от имени суперпользователя, прикрутитьлогическую структуру с файловой системой FAT, находящуюся на в файле /dev/hda1, к каталогу /home/vasya/tempdir.

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

$ umount /mnt/XXили$ sudo umount /mnt/XXгде XX - точка монтирования. Если ни одно приложение не работает с разделом, то оно отключится и данные на него полностью запишутся. После этого устройство можно безопасно извлечь.

Всё очень просто и логично. Как и многое другое в UNIX.

Предварительные действия перед монтированиемПрежде, чем монтировать разделы, нужно создать точки монтирования. Точки монтирования следует создавать в каталогах /mnt или /media. Для этого даём команду:

$ sudo mkdir /mnt/winили# mkdir /mnt/win и даём каталогу права доступа для обычных пользователей:$ sudo chmode 777 /mnt/winили# chmode 777 /mnt/win Это позволит считывать и записывать данные не только суперпользователю-руту, но и обычному пользователю. Даже если в системе вы - единственный пользователь. Свою точку монтирования в директории /mnt нужно создать для каждого раздела.

Далее приводятся описания нескольких типичных случаев монтирования разделов и файлов.

Как примонтировать раздел с файловой системой FAT в LinuxСамое главное здесь это кодировка. Замечательная корпорация Microsoft изобрела свою собственную кодировку CP866 для MS DOS, CP1251 для Windows и только в последнее время прозрела до UTF8. Благодарим Microsoft за изобретение велосипеда с треугольными колёсами и приступаем к монтированию.

Однократное монтирование FATВременное, однократное монтирование, например, флешки, выглядит в командной строке так:

$ sudo mount -t vfat /dev/XX /mnt/YY -o iocharset=utf8,codepage=cp866или# mount -t vfat /dev/XX /mnt/YY -o iocharset=utf8,codepage=cp866 Пример: монтирование типичной флешки выглядит так$ sudo mount -t vfat /dev/sda1 /mnt/flesh -o iocharset=utf8,codepage=cp866То есть монтируем раздел /dev/sda1 типа vfat в точку монтирования /mnt/flashПостоянное монтирование FAT Если нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку:/dev/XX /mnt/YY vfat iocharset=utf8,codepage=866,user,rw 0 0Пример: та же типичная флешка в /etc/fstab смотрится так/dev/sda1 /mnt/flash vfat iocharset=utf8,codepage=866,user,rw 0 0То есть монтируем раздел /dev/sda1 типа vfat в точку монтирования /mnt/flash После этого раздел FAT в Linux будет доступен. Отмонтирование по команде umount /mnt/flash

Как примонтировать раздел с файловой системой NTFS в LinuxКодировка в NTFS нормальная, но здесь нас ждёт другая засада. Замечательная корпорация Microsoft изобрела не просто новый велосипед с треугольными колёсами, а ещё и закрыла его, треугольноколесатого велокактуса, описание. Да так, что пришлось очень долго его взламывать и создавать драйвера обратной разработкой. О сложности проблемы даёт понять описание дефрагментации NTFS, что, как говорится, внушает.

Но с этим надо жить, и это всё монтировать. Монтировать NTFS в Linux, тем не менее, возможно, благодаря героическим усилиям ребят, создавших драйвер NTFS-3g. Его нужно установить:

aptitude install ntfs-3gили отметьте для установки пакет ntfs-3g в графической оболочке вашего дистрибутива.

Однократное монтирование NTFSВременное, однократное монтирование, например, раздела с данными Windows, выглядит так:

$ sudo mount -t ntfs-3g /dev/XX /mnt/YY -o umask=0,nls=utf-8или# mount -t ntfs-3g /dev/XX /mnt/YY -o umask=0,nls=utf-8 Пример: монтирование раздела Windows с NTFS разделом выглядит так$ sudo mount -t ntfs-3g /dev/sda1 /mnt/flesh -o umask=0,nls=utf-8 То есть монтируем раздел /dev/sda1 типа vfat в точку монтирования /mnt/flash

Постоянное монтирование NTFSЕсли нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку:

/dev/XX /mnt/YY ntfs-3g umask=0,nls=utf-8,user,auto,rw 0 0Пример: та же типичная флешка в /etc/fstab смотрится так/dev/sda1 /mnt/windows ntfs-3g umask=0,nls=utf-8,user,auto,rw 0 0То есть монтируем раздел /dev/sda1 типа ntfs-3g в точку монтирования /mnt/windows После этого раздел NTFS в Linux будет доступен. Отмонтирование по команде umount /mnt/windows

Как примонтировать CD/DVD диск в LinuxВсё проще - скорее всего, это уже сделано в вашем дистрибутиве. Тем не менее, привожу это здесь для примера.

Однократное монтирование CD/DVDВременное, однократное монтирование, например, DVD-диска с данными в Linux, вглядит так:

$ sudo mount -t iso9660 /dev/XX /mnt/YYили# mount -t iso9660 /dev/XX /mnt/YYПример: монтирование DVD-диска с данными выглядит так$ sudo mount -t iso9660 /dev/cdrom /mnt/dvd То есть монтируем раздел /dev/cdrom типа iso9660 в точку монтирования /mnt/dvd

Постоянное монтирование CD/DVDЕсли нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку:

/dev/XX /mnt/YY iso9660 umask=0,nls=utf-8,user,ro 0 0Пример: та же типичная флешка в /etc/fstab смотрится так/dev/cdrom /mnt/cdrom iso9660 umask=0,nls=utf-8,user,ro 0 0 То есть монтируем раздел /dev/cdrom типа iso9660 в точку монтирования /mnt/cdrom После этого оптический диск в Linux будет доступен. Отмонтирование по команде umount /mnt/cdrom

Как примонтировать ISO-файл или другой файл в LinuxВы откуда-то скачали ISO-файл и хотите просмотреть его содержимое. Для этого в Windows есть такой костыль под названием Alcohol. В Linux и вообще в UNIX такие костыли не требуются, так как монтирование ISO-образа ничем для системы не отличается от монтирования CD/DVD-диска. Нужно только передать один параметр -o loop чтобы сообщить системе, что монтировать мы собираемся на петлевое устройство (loopback). Если делать это надо много и часто, можно воспользоваться программой GmountISO, описанной тут.

Для монтирования ISO-образа в командной строке даём команду:

$ sudo mount -t iso9660 file.iso /mnt/YY -o loopили# mount -t iso9660 file.iso /mnt/YY -o loop Пример: монтирование DVD-диска с данными выглядит так $ sudo mount -t iso9660 file.iso /mnt/dvd -o loop То есть монтируем файл file.iso типа iso9660 в точку монтирования /mnt/dvd на петлевое устройство loop Точно так же можно монтировать любой CD/DVD образ, а так же файл-образы сжатых\зашифрованных\экзотических файловых систем типа SquashFS. Отмонтирование по команде umount /mnt/dvd

Как примонтировать раздел с файловой системой EXT2/EXT3/ReiserFS/XFS/JFS... в LinuxМонтирование нормальных, не проприетарных юниксовых файловых систем, проблем не создаёт никаких. Все они монтируются стандартно и просто. Приведу пример только с ext3, остальные файловые системы в Linux монтируются точно так же, только вместо ext3 подставьте буквально: ext2, reiserfs, xfs, jfs в зависимости от вашей файловой системы.

Однократное монтированиеВременное, однократное монтирование, например, флешки, выглядит в командной строке так:

$ sudo mount -t ext3 /dev/XX /mnt/YYили# mount -t ext3 /dev/XX /mnt/YY Пример: монтирование раздела с данными выглядит так$ sudo mount -t ext3 /dev/sda1 /mnt/dataТо есть монтируем раздел /dev/sda1 типа ext3 в точку монтирования /mnt/dataПостоянное монтирование Если нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку:/dev/XX /mnt/YY ext3 user,auto,rw 0 0Пример: та же типичная флешка в /etc/fstab смотрится так/dev/sda1 /mnt/data ext3 user,auto,rw 0 0То есть монтируем раздел /dev/sda1 типа ext3 в точку монтирования /mnt/data После этого раздел EXT3 в Linux будет доступен. Отмонтирование по команде umount /mnt/data

Что делать, если устройство в Linux не хочет размонтироваться!?Вы пытаетесь размонтировать раздел с данными (флешка, CD/DVD диск...) и получаете сообщение с ошибкой - устройство занято. Например, при выполнении команды umount /mnt/windows получаете сообщение вида:

umount /mnt/windowsumount: /mnt/windows: device is busyumount: /mnt/windows: device is busyНу и что делать, если раздел в Linux не размонтируется!? Очень просто - посмотреть, какой процесс держит раздел или файл и не даёт отмонтировать его. Дальше либо закрыть это приложение, либо придушить его с помощью команды kill. Даём команду:lsof | grep /mnt/windowsВертикальная черта означает передачу вывода команды lsof программе grep и фильтрации по слову /mnt/windowsПосле этого вы получите ответ вида: $ lsof | grep /mnt/windowslsof: WARNING: can't stat() reiserfs file system /dev/.static/dev Output information may be incomplete.mc 14134 beast cwd DIR 8,1 4096 1 /mnt/windowsСтало быть, ваш раздел держит MC (Midnight Commander), который вы скорее всего открыли на другом рабочем столе и просто забыли о нём. Найдите это приложение, закройте его и отмонтируйте раздел снова - теперь проблема должна быть решена.

Ссылки и благодарностиВ подготовке этого поста были использованы бессмертные труды Андрея Афанасенко и Сергея Черевко, а так же материалы Убунту-форума.

linux-sam.blogspot.com

Монтирование разделов и дисков в Linux

Рано или поздно пользователи Linux сталкиваются с таким понятием как монтирование разделов и дисков в Linux. Многие, особенно бывшие пользователи Windows, испытывают трудности с монтированием разделов, хотя если задуматься, то всё очень просто и логично. Ниже приводятся описание процесса монтирования в UNIX-like системах и разбор наиболее типичных случаев. И даже если вы окружены графическим интерфейсом, знание консольных команд может очень пригодиться. Кроме того, узнав пару-тройку полезных команд UNIX, вы приобщитесь к этой чёрной магии и, может быть, начнёте её использовать.

Монтирование разделов в Linux - общие словаЕсли ядро Linux опознало ваше устройство-носитель данных, то оно должно предоставить какой-то внешний интерфейс пользователю для работы с устройством. Этим интерфейсом является создание файлов-устройств в каталоге /dev

Пример:

Устройствам, подключённым к IDE, будут соответствовать файлы-устройства /dev/hda, /dev/hdb и так далее. Устройствам типа SCSI, а также близкие им по духу SATA-устройства и USB-флешки, будут иметь файлы-устройства /dev/sda, /dev/sdb и тому подобное. Если на диске есть разделы, то цифра в имени файла-устройства будет соответствовать номеру раздела.

Пример:

если на USB-флешке есть два раздела, то первый будет называться /dev/sda1, а второй /dev/sda2 Монтирование разделов = объяснение системе, как добраться до ваших данных и сделать их доступными для использования. Системе нужно объяснить три простые вещи:
  1. какая файловая система на разделе;
  2. какой файл-устройство вам нужно;
  3. куда его подключить для просмотра = точка монтирования;
Каталог, в котором вы будете просматривать содержимое ваших разделов, называется точкой монтирования (mount point). Поэтому нужно объяснить системе - командой или через графический интерфейс - что вы хотите смонтировать, куда и что за файловая система на этом разделе.

В переводе на язык UNIX, это звучит так:

mount -t vfat /dev/hda3 /mnt/storage Если нужно часто монтировать одни и те же разделы, занесите их в /etc/fstab - это общесистемный конфиг, в котором указаны все необходимые разделы для монтирования. Редактировать этот файл может не абы кто, а только root. Так что разживитесь рутовыми полномочиями и редактируйте /etc/fstab

Файл /etc/fstab состоит из колонок,

разделителями между которыми являются символы табуляции (клавиша TAB). Вот пример содержимого файла /etc/fstab: # /etc/fstab: static file system information.## /dev/hda2 / reiserfs notail,noatime 0 1/dev/hdb /mnt/cdrom iso9660 ro,user,noauto 0 0/dev/sda1 /mnt/flash vfat iocharset=koi8-r,codepage=866,rw,user,auto 0 0 Формат колонок такой:
  • Монтируемое устройство (файл-устройство, он же раздел, который вы хотите примонтировать)
  • Точка монтирования (в какую директорию в файловой системе монтировать)
  • Тип монтируемой файловой системы
  • Опции монтирования (кодировка языка, необходимость монтирования при старте)
  • Dump (обычно 0)
  • Pass (обычно 0)
Важно, чтобы вы вставляли Тab после каждой колонки при редактировании /etc/fstab

Ниже приводятся уточнения для каждого случая файловой системы, но идея монтирования разделов в Linux одна и та же.

mount -t vfat /dev/hda1 /home/vasya/tempdir

прикрутить тип FAT что прикрутить куда это прикрутить

Пишем буквально то, чего хотим: от имени суперпользователя, прикрутить логическую структуру с файловой системой типа FAT, находящуюся в файле /dev/hda1, к каталогу /home/vasya/tempdir

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

# umount /mnt/XXили$ sudo umount /mnt/XX где /mnt/XX - точка монтирования. Если ни одно приложение не работает с разделом, то раздел размонтируется, отключится и данные на него полностью запишутся. После этого устройство можно безопасно извлечь.

Чтобы посмотреть, что можно смонтировать, и увидеть информацию о разделах, можно воспользоваться командой (запуск от root):

# fdisk -l Увидите что-то вроде: Disk /dev/hda: 60.0 GB, 60011642880 bytes255 heads, 63 sectors/track, 7296 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System/dev/hda1 1 36 289138+ 82 Linux swap / Solaris/dev/hda2 * 37 7296 58315950 83 Linux

Всё очень просто и логично. Как и многое другое в UNIX.

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

/mnt или /media.Пример: Для того, чтобы создать точку монтирования с названием /mnt/win в консоли даём команду: $ sudo mkdir /mnt/winили# mkdir /mnt/win и даём каталогу права доступа для обычных пользователей: $ sudo chmod 777 /mnt/winили# chmod 777 /mnt/win Это позволит считывать и записывать данные не только суперпользователю-руту, но и обычному пользователю. Даже если в системе вы - единственный пользователь. Свою точку монтирования в директории /mnt нужно создать для каждого раздела.Не бойтесь, если вы не знаете точно, как теперь называются ваши виндовые диски C:\ или D:\ и монтируйте разделы с указанием типа файловой системы fat или ntfs - если ошибётесь, раздел не примонтируется и вы увидите ошибку вроде mount: wrong fs type, bad option, bad superblock on /dev/sda2,missing codepage or other errorIn some cases useful info is found in syslog - trydmesg | tail or so Не боимся - просто нам команда mount сказала, что примонтировать у неё не получилось. Далее приводятся описания нескольких типичных случаев монтирования разделов и файлов.

Как примонтировать раздел с файловой системой FAT в LinuxСамое главное здесь - кодировка. Замечательная корпорация Microsoft изобрела свою собственную кодировку CP866 для MS DOS, CP1251 для Windows и только в последнее время прозрела до UTF8. Благодарим Microsoft за изобретение велосипеда с треугольными колёсами и приступаем к монтированию.

Однократное монтирование FAT 

Временное, однократное монтирование, например, флешки, выглядит в командной строке так: $ sudo mount -t vfat /dev/XX /mnt/YY -o iocharset=utf8,codepage=866,rwили# mount -t vfat /dev/XX /mnt/YY -o iocharset=utf8,codepage=866 Пример: монтирование типичной флешки выглядит так $ sudo mount -t vfat /dev/sda1 /mnt/flash -o iocharset=utf8,codepage=866,rw То есть монтируем раздел /dev/sda1 типа vfat в точку монтирования /mnt/flashПостоянное монтирование FAT Если нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку: /dev/XX /mnt/YY vfat iocharset=utf8,codepage=866,user,rw 0 0 Пример: та же типичная флешка в /etc/fstab смотрится так /dev/sda1 /mnt/flash vfat iocharset=utf8,codepage=866,user,rw 0 0 То есть монтируем раздел /dev/sda1 типа vfat в точку монтирования /mnt/flash После этого раздел FAT в Linux будет доступен. Отмонтирование по команде umount /mnt/flashКак правильно говорят в комментариях, iocharset совпадает с текущей локалью - например, iocharset=utf8.

Как примонтировать раздел с файловой системой NTFS в LinuxЗамечательная корпорация Microsoft изобрела не просто новый велосипед с треугольными колёсами NTFS, а ещё и закрыла его описание. Да так, что пришлось очень долго его взламывать и создавать драйвера обратной разработкой. О сложности проблемы даёт понять описание дефрагментации NTFS, что, как говорится, внушает.

Монтировать и записывать на NTFS в Linux, тем не менее, возможно благодаря героическим усилиям разработчиков, создавших драйвер NTFS-3g. Этот драйвер можно установить командой:

aptitude install ntfs-3g или поискать пакет ntfs-3g в графической оболочке установки программ вашего любимого дистрибутива.

Однократное монтирование NTFS 

Временное, однократное монтирование, например, раздела с данными Windows, выглядит так: $ sudo mount -t ntfs-3g /dev/XX /mnt/YY -o umask=0,nls=utf8или# mount -t ntfs-3g /dev/XX /mnt/YY -o umask=0,nls=utf8 Пример: монтирование раздела Windows с NTFS разделом выглядит так $ sudo mount -t ntfs-3g /dev/sda1 /mnt/flash -o umask=0,nls=utf8 То есть монтируем раздел /dev/sda1 типа ntfs-3g в точку монтирования /mnt/flash

Постоянное монтирование NTFSЕсли нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку:

/dev/XX /mnt/YY ntfs-3g umask=0,nls=utf8,user,auto,rw 0 0 Пример: та же типичная флешка в /etc/fstab смотрится так /dev/sda1 /mnt/windows ntfs-3g umask=0,nls=utf8,exec,user,auto,rw 0 0 Иногда в /etc/fstab это уже есть с настроками вида: /dev/sda1 /mnt/windows ntfs-3g umask=0,nls=ru-RU.UTF-8 0 0 При такой записи всё нормально, кроме одного - файлы и каталоги с русскими именами не отображались, как-будто их не было вовсе. Чтобы это исправить, можно попробовать изменить на: /dev/sda1 /mnt/windows ntfs-3g exec,user,auto,rw 0 0 То есть монтируем раздел /dev/sda1 типа ntfs-3g в точку монтирования /mnt/windows После этого раздел NTFS в Linux будет доступен.Отмонтирование по команде umount /mnt/windows

Как примонтировать CD/DVD диск в LinuxВсё проще - скорее всего, это уже сделано в вашем дистрибутиве. Тем не менее, привожу это здесь для примера.

Однократное монтирование CD/DVD 

Временное, однократное монтирование, например, DVD-диска с данными в Linux, выглядит так: $ sudo mount -t iso9660 /dev/XX /mnt/YYили# mount -t iso9660 /dev/XX /mnt/YY Пример: монтирование DVD-диска с данными выглядит так $ sudo mount -t iso9660 /dev/cdrom /mnt/dvd То есть монтируем раздел /dev/cdrom типа iso9660 в точку монтирования /mnt/dvd

Постоянное монтирование CD/DVDЕсли нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку:

/dev/XX /mnt/YY iso9660 user,ro 0 0 Пример: оптический диск в /etc/fstab смотрится так /dev/cdrom /mnt/cdrom iso9660 user,ro 0 0 То есть монтируем раздел /dev/cdrom типа iso9660 в точку монтирования /mnt/cdrom После этого оптический диск в Linux будет доступен. Отмонтирование по команде umount /mnt/cdrom

Как примонтировать ISO-файл или другой файл в LinuxВы откуда-то скачали ISO-файл и хотите просмотреть его содержимое. Для этого в Windows есть такой костыль под названием Alcohol. В Linux и вообще в UNIX такие костыли не требуются, так как монтирование ISO-образа ничем для системы не отличается от монтирования CD/DVD-диска. Нужно только передать один параметр -o loop чтобы сообщить системе, что монтировать мы собираемся на петлевое устройство (loopback). Если делать это надо много и часто, можно воспользоваться программой GmountISO, описанной тут.

Для монтирования ISO-образа в командной строке даём команду:

$ sudo mount -t iso9660 file.iso /mnt/YY -o loopили# mount -t iso9660 file.iso /mnt/YY -o loop Пример: монтирование DVD-диска с данными выглядит так $ sudo mount -t iso9660 file.iso /mnt/dvd -o loop То есть монтируем файл file.iso типа iso9660 в точку монтирования /mnt/dvd на петлевое устройство loop Точно так же можно монтировать любой CD/DVD образ, а также файл-образы сжатых\зашифрованных\экзотических файловых систем типа SquashFS. Отмонтирование по команде umount /mnt/dvd

Как примонтировать раздел с файловой системой EXT2/EXT3/ReiserFS/XFS/JFS... в LinuxМонтирование нормальных файловых систем проблем не создаёт. Приведу пример только с ext3, остальные файловые системы в Linux монтируются точно так же, только вместо ext3 подставьте буквально: ext2, reiserfs, xfs, jfs в зависимости от вашей файловой системы.

Однократное монтирование 

Временное, однократное монтирование, например, флешки, выглядит в командной строке так: $ sudo mount -t ext3 /dev/XX /mnt/YYили# mount -t ext3 /dev/XX /mnt/YY Пример: монтирование раздела с данными выглядит так $ sudo mount -t ext3 /dev/sda1 /mnt/data То есть монтируем раздел /dev/sda1 типа ext3 в точку монтирования /mnt/dataПостоянное монтирование Если нужно постоянно обращаться к этим разделам, правим /etc/fstab добавляя строку: /dev/XX /mnt/YY ext3 user,auto,rw 0 0 Пример: та же типичная флешка в /etc/fstab смотрится так /dev/sda1 /mnt/data ext3 user,auto,rw 0 0 То есть монтируем раздел /dev/sda1 типа ext3 в точку монтирования /mnt/data После этого раздел EXT3 в Linux будет доступен. Отмонтирование по команде umount /mnt/dataКак узнать тип файловой системы на диске?

Для этого есть утилита file, которая может определить тип файловой системы, используемый файлом. Так как в UNIX/Linux/*BSD исповедуется принцип "всё есть файл", то раздел с файловой системой это тоже файл. Так что команда file выдаст нам информацию о файловой системе дисковых разделов - надо только указать программе воспринимать их как специальные файлы.

Используем опцию -s (–special-files) для выдачи информации о типе файловой системы блочного устройства. Пример:

# file -s /dev/sda1или$ sudo file -s /dev/sda1 получаем в ответ:/dev/sda1: ReiserFS V3.6 block size 4096 (mounted or unclean) num blocks 17920496 r5 hash То есть на разделе /dev/sda1 имеем файловую ReiserFS V3.6. Или например: # file -s /dev/sda1 выдаст в ответ: /dev/sda1: x86 boot sector, code offset 0x58, OEM-ID "MSWIN4.1", sectors/cluster 64, reserved sectors 126, Media descriptor 0xf8, heads 255, hidden sectors 63, sectors 284237982 (volumes > 32 MB) , FAT (32 bit), sectors/FAT 34693, reserved3 0x800000, serial number 0x287d1dfa, unlabeled Это поможет в определении того, какая файловая система (и намекнёт на то, какие данные там лежат) на данном разделе.

Что делать, если устройство в Linux не хочет размонтироваться!?Вы пытаетесь размонтировать раздел с данными (флешка, CD/DVD диск...) и получаете сообщение с ошибкой - устройство занято. Например, при выполнении команды umount /mnt/windows получаете сообщение вида:

umount /mnt/windowsumount: /mnt/windows: device is busy Ну и что делать, если раздел в Linux не размонтируется!? Очень просто - посмотреть, какой процесс держит раздел или файл и не даёт отмонтировать его. Дальше либо закрыть это приложение, либо придушить его с помощью команды kill. Даём команду: lsof | grep /mnt/windows Вертикальная черта означает передачу вывода команды lsof программе grep и фильтрации по слову /mnt/windowsПосле этого вы получите ответ вида: $ lsof | grep /mnt/windowslsof: WARNING: can't stat() reiserfs file system /dev/.static/dev Output information may be incomplete.mc 14134 beast cwd DIR 8,1 4096 1 /mnt/windows Стало быть, ваш раздел держит MC (Midnight Commander), который вы скорее всего открыли на другом рабочем столе и просто забыли о нём. Найдите это приложение, закройте его и отмонтируйте раздел снова - теперь проблема должна быть решена.

Ссылки и благодарностиВ подготовке этого поста были использованы бессмертные труды Андрея Афанасенко и Сергея Черевко, а также материалы Убунту-форума.

mydebianblog.blogspot.com

автоматическое монтирование подключаемых устройств через udev / Хабр

Задача автоматического монтирования флешек решается довольно просто в KDE или GNOME — эти среды можно настроить так, что они сами всё смонтируют, откроют файловый менеджер и покажут значок в трее. Но что делать, если у вас только консоль или стоит, например, awesome? Или вы не хотите разбираться с конкретным DE, а ищите универсальное решение?

Независимое от DE решение есть — udev.Создаём новый файл /etc/udev/rules.d/automount.rules со следующим содержанием:

ACTION=="add" KERNEL=="sd[c-z][0-9]" RUN+="/bin/mkdir -p /mnt/%E{ID_VENDOR}_%E{ID_MODEL}_%n" ACTION=="add" KERNEL=="sd[c-z][0-9]" RUN+="/bin/mount -o uid=1000 /dev/%k /mnt/%E{ID_VENDOR}_%E{ID_MODEL}_%n" ACTION=="remove" KERNEL=="sd[c-z][0-9]" RUN+="/bin/rmdir /mnt/%E{ID_VENDOR}_%E{ID_MODEL}_%n" Укажем udev-у, что появилось новое правило: sudo udevadm control --reload-rules

Результат Вставляю флешку и вижу каталог /mnt/KINGMAX_Flash_Disk_1, в котором содержимое флешки. Размонтирую и вынимаю — каталог пропал.

Замечания 1. KERNEL==«sd[c-z][0-9]» — значит, что будет срабатывать на все устройства вида /dev/sdc1 /dev/sdc2, /dev/sdg7. У меня 2 жестких диска: sda и sdb, поэтому я начал regex с «с». 2. mount -o uid=1000 — зашит id пользователя, который будет owner-ом. Если у вас не стандартный, то подправьте (проверка id -u). Конечно, можно действовать через группы и маски, но я выбрал наиболее простое решение.

umount Проблему размонтирования (нужны права суперпользователя) я решил так: 1. sudo visudo 2. добавить строчку %wheel ALL= NOPASSWD: /bin/umount

upd Как заметил darkk, ID_VENDOR="; /bin/rm -rf /;" — потенциальная дыра в безопасности, поэтому лучше перестраховаться в ущерб наглядности:

ACTION=="add" KERNEL=="sd[c-z][0-9]" RUN+="/bin/mkdir -p /mnt/%k" ACTION=="add" KERNEL=="sd[c-z][0-9]" RUN+="/bin/mount -o uid=1000 /dev/%k /mnt/%k" ACTION=="remove" KERNEL=="sd[c-z][0-9]" RUN+="/bin/rmdir /mnt/%k"

habr.com