Portál AbcLinuxu, 1. června 2025 12:42
Vím, že se tu podobný problém řešil několikrát, některé (snad všechny) diskuze o tom jsem si pročetl a vím, že problém je v automounteru, který mountu DVD RAM média cpe parametr sync. Vím, že třeba tady je jeden z návodů jak to řešit. Ale bohužel nefunguje. Resp. takto vytvořený soubor je automounterem ignorován.
Tedy ještě jednou popořadě a detailněji. Jsem uživatel Gentoo, které provozuji asi na patnácti strojích a na žádném z nich automounter nemám, pouze na tom jednom jediném, kde je SuSE 10.2. Rozhodně nechci automounter vypínat, v tom jednom případě je pro mne užitečný, protože jsou tam občas používány flash disky a obecně různá "vytrhnutelná" mass-storage zařízení. Chci pouze udělat výjimku pro DVDRAM a vypnout sync a to bez ohledu na filesystém. DVDRAM narozdíl od USB mass-storage bez umountu vytrhnout nelze, automounter je naštěstí dost inteligentní na to, aby po stisknutí tlačítka na mechanice provedl korektní umount před vysunutím média, což mi zcela vyhovuje.
Prozkoumal jsem tedy možnosti, které SuSE skýtá. Někde v /usr ... share? jsem objevil toto (čerpám z poznámek, k dotyčnému PC se dostanu až v pondělí)
fdi/ fdi/information/ fdi/information/20thirdparty/ fdi/information/20thirdparty/10-usb-raw-pda.fdi fdi/information/10freedesktop/ fdi/information/10freedesktop/10-usb-music-players-libnjb.fdi fdi/information/10freedesktop/10-usb-zip-drives.fdi fdi/information/10freedesktop/10-camera-libgphoto2.fdi fdi/information/10freedesktop/10-usb-pda.fdi fdi/information/10freedesktop/10-tabletPCs.fdi fdi/information/10freedesktop/10-cd-dvd-burner.fdi fdi/information/10freedesktop/10-usb-music-players.fdi fdi/information/10freedesktop/10-usb-card-readers.fdi fdi/information/10freedesktop/10-usb-openct.fdi fdi/information/10freedesktop/10-camera-ptp.fdi fdi/policy/ fdi/policy/20thirdparty/ fdi/policy/95userpolicy/ fdi/policy/95userpolicy/nosync.fdi fdi/policy/10osvendor/ fdi/policy/10osvendor/99-storage-policy-fixed-drives.fdi fdi/policy/10osvendor/10-macbookpro-utils.fdi fdi/policy/10osvendor/15-storage-luks.fdi fdi/policy/10osvendor/10-usbcsr-mice.fdi fdi/policy/10osvendor/10-cpufreq.fdi fdi/policy/10osvendor/10-keyboard-policy.fdi fdi/policy/10osvendor/10-power-mgmt-policy.fdi fdi/policy/10osvendor/20-storage-methods.fdi fdi/policy/10osvendor/10-laptop-panel-mgmt-policy.fdi fdi/policy/10osvendor/10-toshiba-buttons.fdi fdi/fdi.rng fdi/fdi.dtd fdi/preprobe/ fdi/preprobe/20thirdparty/ fdi/preprobe/10osvendor/ fdi/preprobe/10osvendor/10-ide-drives.fdi
Zkusil jsem tedy v fdi/policy vytvořit adresář 95userpolicy a v něm soubor nosync.fdi a v souboru jsem definoval toto:
<?xml version="1.0" encodings="UTF-8"?> <deviceinfo version="0.2"> <device> <!-- disable sync for mount DVD RAM --> <match key="volume.fsusage" string="filesystem"> <match key="volume.disc.type" string="dvd_ram"> <match key="volume.disc.is_rewritable" bool="true"> <merge key="volume.policy.mount_option.sync" type="bool">false</merge> </match> </match> </match> </device> </deviceinfo>
Z části jsem se inspiroval zdejší diskuzí, z části tím, co jsem vygoogloval z části výpisem informací o zařízeních, které poskytuje HAL, protože mne nezajímá filesystém, ale prostě jen fakt, že médium je zformátováno ... jakkoliv a to, že je rewritable a dvdram. Ale nefunguje to, soubor je asi ignorován, možná jsem ho umístil do špatného adresáře a nevím jaký adresář je ten správný.
Poté, co jsem zjistil, že to nefunguje, zkoušel jsem umístit konfigurační soubor i jinak ... čistě ze zoufalství. Nikde jsem totiž neobjevil možnost zjistit jaké soubory automounter načítá a hlavně ho nějak donutit, aby načetl i ten můj, případně zkontrolovat jestli ho načetl a ignoruje ho proto, protože je v něm chyba. V logu to určitě není. Tam se objevuje pouze záznam o restartu a info o každém automatickém mountu a umountu. Nic víc.
Trochu jsem si s tím hrál a mimo jiné jsem zjistil, že když v souboru 20-storage-methods.fdi zakomentuju jeden řádek (ten třetí odshora) definující obecnou množinu parametrů pro všechny mountované filesystémy, tak to funguje, takže sync lze vypnout a zápis se tím skutečně zrychlí, tak jak má být, tak jako to funguje třeba na mém Gentoo. A samozřejmě ve výpisu parametrů, které byly pro mount použity sync chybí.
Konkrétně toto:
<!-- allow these mount options for all file systems --> <append key="volume.mount.valid_options" type="strlist">ro</append> <!-- <append key="volume.mount.valid_options" type="strlist">sync</append> --> <append key="volume.mount.valid_options" type="strlist">dirsync</append> <append key="volume.mount.valid_options" type="strlist">noatime</append> <append key="volume.mount.valid_options" type="strlist">nodiratime</append> <append key="volume.mount.valid_options" type="strlist">noexec</append> <append key="volume.mount.valid_options" type="strlist">quiet</append> <append key="volume.mount.valid_options" type="strlist">remount</append> <append key="volume.mount.valid_options" type="strlist">exec</append>
Jenomže tím zakomentováním třetího řádku si vypnu sync pro všechna zařízení a jak jsem psal nahoře, pro USB mass-storage se mi to nehodí.
Takže otázka zní, co jsem přehlédl? Co dělám špatně? Proč je ignorován soubor s konfigurací, který se automounteru snažím vnutit? Jak zjistím, které konfigurační soubory automounter zpracovává, případně cokoli souvisejícího?
Předem díky
Na otázku zatím nikdo bohužel neodpověděl.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.