Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Автомонтирование CD\DVD в Linux

Ответить
Настройки темы
Автомонтирование CD\DVD в Linux

Аватара для rrev

Пользователь


Сообщения: 107
Благодарности: 8

Профиль | Отправить PM | Цитировать


Доброго времени суток, уважаемые Гуру!
Система SuSe 10.0. Монтирование работало как-то через пень-колоду, но не примонтирует, то примонтирует в дирректорию, названную по метке диска. Захотелось сделать автомонтирование. По мотивам статьи в и-нете (http://www.suseclub.ru/articles/automount/), сделал файл cddvd.fdi и положил его в /usr/share/hal/fdi/policy/10osvendor

Код: Выделить весь код
<?xml version="1.0.gif" encoding="ISO-8859-1"?><!-- -*- SGML -*- -->
<deviceinfo version="0.gif.2">
  <device>
    <!-- Mount CD/DVD-rom drives as /media/dvd and CD/DVD Writers 
as /media/dvdrecorder instead of as /media/<<VOLUME_NAME>> -->
    <match key="block.device" string="/dev/hdd">
      <match key="volume.is_disc" bool="true">
        <merge key="volume.policy.should_mount" type="bool">true</merge>
        <merge key="volume.policy.desired_mount_point" type="string">dvd/</merge>
      </match>
    </match>
  </device>
</deviceinfo>
Поскольку в XML я полный профан, для меня почти весь файл загадка, кроме, естессно, /dev/hdd (мой DVD, не пишущий) и dvd - точка монтирования. Так понимаю, этот файл определяет политику, по которой все новые носители, вставляемые в устройство /dev/hdd (у меня он же /dev/dvd и /dev/cdrom) монтируются в точку /media/dvd.
Вставляю CD диск, и радуюсь, все примонтировалось само куда надо. Нажал кнопочку на приводе, диск отмонтировался, лоток выехал. Вставляю другой CD диск - все впорядке. При этом в системном логе пишется, что subfs все видит и отрабатывает. Т.е. с обычными CD дисками схема работает.

Но при вставке DVD диска, он не монтируется автоматически (вручную проблем нет). При этом в сист. логе не появляется ровным счетом ничего, т.е. hal как-бы "не видит" DVD диски.

Я зашел на сайт Novell и там нашел файл cddvd.fdi, он был несколько иной:

Код: Выделить весь код
<?xml version="1.0.gif" encoding="ISO-8859-1"?><!-- -*- SGML -*- -->
<deviceinfo version="0.gif.2">
 <device>
<match key="@info.parent:storage.drive_type" string="cdrom">
     <match key="@info.parent:storage.policy.desired_mount_point" string="cdrom">
     <merge key="volume.policy.desired_mount_point" type="string">dvd</merge>
     </match>
</match>
 </device>
</deviceinfo>
Устройство другое (cdrom). Но у меня это одно и то же, и /dev/dvd и /dev/cdrom ссылаются на /dev/hdd. Точка монтирования та же (dvd). При таком содержании файла cddvd.fdi все осталось точно также (автомонтирование DVD дисков не работает). Естественно после изменения файла cddvd.fdi делал полную перезагрузку.

fstab:
Код: Выделить весь код
/dev/hdb1	/		         reiserfs	        acl,user_xattr 							1 1
/dev/hdb2	swap		         swap                  defaults 							         0 0
proc		/proc		         proc		        defaults 							         0 0
sysfs		/sys		         sysfs		        noauto 								0 0
usbfs		/proc/bus/usb	usbfs		        noauto 								0 0
devpts	/dev/pts	         devpts	        mode=0620,gid=5 						0 0
/dev/dvd	/media/dvd	         subfs		        fs=cdfss,procuid,nosuid,nodev,exec,iocharset=utf8 	0 0
/dev/fd0	/media/floppy	subfs		        noauto,fs=floppyfss,procuid,nodev,nosuid,sync,user  0 0
none		/subdomain	subdomainfs      noauto 								0 0
/dev/hdb3	/media/hdb3	auto		        auto,iocharset=utf8,user,umask=0,rw,nosuid 		0 0
/dev/hda2	/media/hda2	auto		        auto,iocharset=utf8,user,umask=0,rw,nosuid 		0 0
Меня не устраивает работа automount, все таки хотелось сделать бы все на subfs. Подскажите, где "собачка порылась"?

-------
С уважением, Роман А. Шелякин


Отправлено: 09:57, 07-05-2007

 

Аватара для rrev

Пользователь


Сообщения: 107
Благодарности: 8

Профиль | Отправить PM | Цитировать


Как вспомнил, и раньше CD монтировались сами (хоть и не в стат. точку), а DVD не монтировались (только вручную). Почему такое?
И еще в продолжение темы: хотелось бы знать, где хранятся конфиги, или как настраивается авт. подключение по submount? Поясню: например флэшка монтируется с параметром "sync", а хотелось бы "async" (так быстрее пишет на нее), но этот параметр можно указать только при монтировании вручную (где это можно сделать для автомонтирования не нашел). Пытался искать по всем файлам на компе по содержанию текста "sync" и т.п. Ранее тема поднималась в форуме, ответа не было...
Жду совета уважаемых Гуру, не переставая рыть и-нет...

-------
С уважением, Роман А. Шелякин


Отправлено: 09:29, 10-05-2007 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для rrev

Пользователь


Сообщения: 107
Благодарности: 8

Профиль | Отправить PM | Цитировать


Так. Проблему с флэшкой решил.
Сделал файл 80-usbflashm.fdi (для монтирования в одну точку usbdisk )
Код: Выделить весь код
<?xml version="1.0.gif" encoding="ISO-8859-1"?><!-- -*- SGML -*- -->
<deviceinfo version="0.gif.2">
  <device>
    <!-- Mount usb-flash drives as /media/usbdisk -->
    <match key="block.device" string="/dev/sda1">
        <merge key="volume.policy.should_mount" type="bool">true</merge>
        <merge key="volume.policy.desired_mount_point" type="string">usbdisk/</merge>
    </match>
  </device>
</deviceinfo>
И еще файл 90-storage-nosync.fdi (для того, чтобы убрать опцию 'sync' при автомонтировании). Сведения об этом нашел просто в хэлпе, правда кое что пришлось изменить. Но все довольно просто.

Код: Выделить весь код
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
 <device>
 <!-- disable sync for mount -->
 <match key="block.is_volume" bool="true">
 <match key="volume.fsusage" string="filesystem">
 <match key="block.device" string="/dev/sda1">
 <merge key="volume.policy.mount_option.sync" type="bool">false</merge>
  </match>
   </match>
    </match>
     </device>
     </deviceinfo>
Здесь "/dev/sda1" моя флэшка.

Положил это все в папку /usr/share/hal/fdi/policy/20thirdparty, далее #rchal restart и все заработало.

Однако с автомонтированием DVD вопрос остается открытым.
Скачал новую версию hal. Ей понадобилось новое ядро. После установки нового ядра (без переустановки hal) все в порядке (звук, сеть, Xserver работают нормально), а автомонтироание пропрадает совсем (даже флопика). Вопрос: что проще, разбираться почему не работает автомонтирование с новым ядром (или может переставить hal, udev и т.п. на новом ядре) или все таки разбираться со старой проблемой?

-------
С уважением, Роман А. Шелякин


Отправлено: 11:23, 18-05-2007 | #3


Аватара для rrev

Пользователь


Сообщения: 107
Благодарности: 8

Профиль | Отправить PM | Цитировать


Что характерно, HAL все же распознает DVD диски

Сокращенный вывод lshal:

Код: Выделить весь код
udi = '/org/freedesktop/Hal/devices/volume_part_1_size_1709867008'
  volume.policy.desired_mount_point = 'dvd'  (string)
  volume.policy.should_mount = true  (bool)
  info.udi = '/org/freedesktop/Hal/devices/volume_part_1_size_1709867008'  (string)
  info.product = 'Volume'  (string)
  volume.disc.is_svcd = false  (bool)
  volume.disc.is_vcd = false  (bool)
  volume.disc.is_videodvd = false  (bool)
  volume.disc.is_rewritable = false  (bool)
  volume.disc.is_appendable = false  (bool)
  volume.disc.is_blank = false  (bool)
  volume.disc.has_data = true  (bool)
  volume.disc.has_audio = false  (bool)
  volume.disc.type = 'dvd_rom'  (string)
  volume.size = 1709867008  (0x65ea8000)  (uint64)
  volume.num_blocks = 3339584  (0x32f540)  (int)
  volume.block_size = 2048  (0x800)  (int)
  info.capabilities = {'volume', 'block'} (string list)
  info.category = 'volume'  (string)
  volume.is_partition = true  (bool)
  volume.is_disc = true  (bool)
  volume.is_mounted = false  (bool)
  volume.mount_point = ''  (string)
  volume.label = ''  (string)
  volume.uuid = ''  (string)
  volume.fsversion = ''  (string)
  volume.fsusage = ''  (string)
  volume.fstype = ''  (string)
  block.storage_device = '/org/freedesktop/Hal/devices/storage_model_ASUS_DVD_E616A'  (string)
  block.is_volume = true  (bool)
  block.minor = 64  (0x40)  (int)
  block.major = 22  (0x16)  (int)
  block.device = '/dev/hdd'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  info.parent = '/org/freedesktop/Hal/devices/storage_model_ASUS_DVD_E616A'  (string)
  linux.sysfs_path_device = '/sys/block/hdd/fakevolume'  (string)
  linux.sysfs_path = '/sys/block/hdd/fakevolume'  (string)
Т.е. распознает, что это DVD, столько то блоков, диск с данными (если вставить видео диск, то распознает что это диск с видео (volume.disc.is_videodvd = true )) и т.д. но не монтирует. Если сравнить c выводом lshal для CD диска:

Код: Выделить весь код
udi = '/org/freedesktop/Hal/devices/volume_label_001'
  info.callouts.remove = {'hald-subfs-mount'} (string list)
  info.callouts.add = {'hald-add-selinux-mount-option', 'hald-subfs-mount'} (string list)
  volume.policy.desired_mount_point = 'dvd'  (string)
  volume.policy.mount_filesystem = 'iso9660'  (string)
  volume.policy.should_mount = true  (bool)
  info.udi = '/org/freedesktop/Hal/devices/volume_label_001'  (string)
  info.product = '001'  (string)
  volume.disc.is_svcd = false  (bool)
  volume.disc.is_vcd = false  (bool)
  volume.disc.is_videodvd = false  (bool)
  volume.disc.is_rewritable = false  (bool)
  volume.disc.is_appendable = false  (bool)
  volume.disc.is_blank = false  (bool)
  volume.disc.has_data = true  (bool)
  volume.disc.has_audio = false  (bool)
  volume.disc.type = 'cd_rom'  (string)
  volume.size = 553347072  (0x20fb6800)  (uint64)
  volume.num_blocks = 1080756  (0x107db4)  (int)
  volume.block_size = 2048  (0x800)  (int)
  info.capabilities = {'volume', 'block'} (string list)
  info.category = 'volume'  (string)
  volume.is_partition = true  (bool)
  volume.is_disc = true  (bool)
  volume.is_mounted = true  (bool)
  volume.mount_point = '/media/dvd'  (string)
  volume.label = '001'  (string)
  volume.uuid = ''  (string)
  volume.fsversion = 'Joliet Extension'  (string)
  volume.fsusage = 'filesystem'  (string)
  volume.fstype = 'iso9660'  (string)
  block.storage_device = '/org/freedesktop/Hal/devices/storage_model_ASUS_DVD_E616A'  (string)
  block.is_volume = true  (bool)
  block.minor = 64  (0x40)  (int)
  block.major = 22  (0x16)  (int)
  block.device = '/dev/hdd'  (string)
  linux.hotplug_type = 3  (0x3)  (int)
  info.parent = '/org/freedesktop/Hal/devices/storage_model_ASUS_DVD_E616A'  (string)
  linux.sysfs_path_device = '/sys/block/hdd/fakevolume'  (string)
  linux.sysfs_path = '/sys/block/hdd/fakevolume'  (string)
Сразу бросаются в глаза строчки с информацией о вызове hald-subfs-mount, чего нет при вставке DVD. В чем дело то?

-------
С уважением, Роман А. Шелякин


Отправлено: 18:10, 22-05-2007 | #4


Аватара для rrev

Пользователь


Сообщения: 107
Благодарности: 8

Профиль | Отправить PM | Цитировать


У меня складывается ощущение, что я сам с собой говорю... ;-)

-------
С уважением, Роман А. Шелякин


Отправлено: 18:46, 29-05-2007 | #5



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Автомонтирование CD\DVD в Linux

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] DVD-Rom не видит пустые DVD, не записывает ни на CD, ни на DVD Arimli Оптические приводы 9 26-11-2010 11:58
Загрузка - [решено] Vista+XP+Linux(Centos) - удаление Linux iwasyk Microsoft Windows Vista 32 01-11-2009 22:49
на что лушше писать DVD - DVD+R или DVD-R? Greyman Оптические приводы 17 07-08-2006 17:37
DVD 9 to DVD 5 Программы для пережатия DVD celticman Видео и аудио: обработка и кодирование 17 01-05-2005 02:44
NeroLINUX : Linux OS Solution for CD/DVD Burning hasherfrog Новости и флейм из мира *nix 20 02-04-2005 16:13




 
Переход