[sisyphus] Настройка ivman

Andrei Bulava =?iso-8859-1?q?abulava_=CE=C1_altlinux=2Eru?=
Чт Сен 28 16:28:08 MSD 2006


Sergey Vlasov wrote:
> On Thu, Sep 28, 2006 at 03:21:37PM +0400, Alexei V. Mezin wrote:
>> Andrei Bulava пишет:
>>
>>> Ну, не знаю про ivman - не пользуюсь, но на pmount-hal "подсел". Мне
>>> помогает `pmount-hal /dev/sda -c cp1251` и скрипт, который сюда присылал
>>> raorn@,
>>> http://lists.altlinux.org/pipermail/sisyphus/attachments/20060720/3f76c602/attachment.ksh
>>>
>>> AFAIK, ivman использует с качестве бэкенда именно pmount, так что можно
>>> обойтись без изменения .fdi (BTW, /usr/share/hal/fdi -
>>> дистрибутиво-специфичные настройки, которые можно перекрыть в
>>> /etc/hal/fdi - там-то у всех пустота, т.к. это уже хост-специфично).
>>>
>> Б-р-р... Ничего не понял.
>> `pmount-hal /dev/sda -c cp1251` запускать руками? И куда этот скрипт 
>> прописывать/откуда запускать?
> 
> Вообще через IvmConfigBase.xml можно переопределить mountcommand и
> umountcommand, указав там нужные опции для pmount.

В общем, у меня работает

<ivm:Option name="mountcommand" value="pmount -c cp1251
'$hal.block.device$'" />
<ivm:Option name="umountcommand" value="pumount '$hal.block.device$'" />

в ~/.ivman/IvmConfigBase.xml

Хотя и кривовато (зачем флэшке с не-vfat этот iocharset?)

> При монтировании через HAL method значения всех опций должна выставить та
> программа, которая вызывает методы монтирования через dbus.  На
> сегодняшний день нормальных средств для вызова этих методов из командной
> строки в Сизифе нет (хотя KDE ими пользуется).
> 
> У pmount опции собственные, ни с чем не совместимые.

В том-то и беда :-(

Хотя, насколько я понял и запуска

$ env PMOUNT_DEBUG=1 pmount-hal /dev/sda
drive:
/org/freedesktop/Hal/devices/storage_serial_Philips_USB_Flash_Drive_0511100300830
volume: /org/freedesktop/Hal/devices/volume_uuid_3C9C_722C
device: /dev/sda
label: PHILIPS UFD
fstype: vfat
options:
umask: (null)
spawnv(): executing pmount 'pmount' '-t' 'vfat' '/dev/sda' 'PHILIPS UFD'
spawn(): pmount terminated with status 0

- проблема, скорее всего, излечима.

Нагло делал так:

$ cat /etc/hal/fdi/policy/01-charset.fdi

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->

<deviceinfo version="0.2">

  <device>
    <match key="volume.fstype" string="vfat">
         <merge key="volume.policy.mount_option.iocharset"
type="string">cp1251</merge>
    </match>
  </device>

</deviceinfo>

И после `service haldaemon restart`:

$ env PMOUNT_DEBUG=1 pmount-hal /dev/sda
drive:
/org/freedesktop/Hal/devices/storage_serial_Philips_USB_Flash_Drive_0511100300830
volume: /org/freedesktop/Hal/devices/volume_uuid_3C9C_722C
device: /dev/sda
label: PHILIPS UFD
fstype: vfat
option: iocharset=cp1251
options: iocharset=cp1251
umask: (null)
spawnv(): executing pmount 'pmount' '-t' 'vfat' '/dev/sda' 'PHILIPS UFD'
spawn(): pmount terminated with status 0

Вот если бы "запатчить" pmount-hal на предмет распознавания строки
'option: iocharset=foo', - нам бы очень сильно полегчало.

-- 
// AB1002-UANIC




Подробная информация о списке рассылки Sisyphus