SDB:Mounten zu festen Mountpoints

aus openSUSE, der freien Wissensdatenbank


Version: 9.3, 10.0

Anliegen

Ihnen ist das automatische Mounten von CDs, DVDs oder USB-Sticks, wie es seit der 9.3 über submount/subfs und HAL standardmäßig zu Mointpoints, die dem Label des Wechselmediums entsprechen unsympathisch bzw. die Funktionalität ist für Sie beispielsweise bei der Nutzung von Wine, CrossOver Office oder Cedega unerwünscht. Sie würden deshalb gerne zu einem festen Verzeichnis (unter: /media) mounten ohne auf die Vorteile des automatischen Mountens zu verzichten.

Vorgehen

Legen Sie als root in /usr/share/hal/fdi/95userpolicy/ eine Datei mit einem beliebigen Dateinamen und der Endung .fdi an (bei 10.0 sollte in /usr/share/hal/fdi/policy/ das Verzeichnis 95userpolicy angelegt und darin die Datei erstellt werden), also zum Beispiel:

mountpoints.fdi

Nun editieren Sie die Datei mit dem Editor ihrer Wahl zum Beispiel für ein CD-ROM Laufwerk:

<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
    <device>
        <!-- optical drives -->
        <match key="block.device" string="/dev/hdc">
          <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">cdrom</merge>
          </match>
        </match>
    </device>
</deviceinfo>

Hierbei müssen Sie die folgenden Zeilen entsprechend den Werten Ihres Systems anpassen:

<match key="block.device" string="/dev/hdc">

-> Tragen Sie statt /dev/hdc die Adresse Ihres CD-ROM Laufwerkes ein.

<merge key="volume.policy.desired_mount_point" type="string">cdrom</merge>

-> Tragen Sie hier den von Ihnen gewünschten Mountpoint ein.

Nachdem Sie die Datei angepasst haben führen Sie folgenden Befehl als root aus:

rchal restart

Nachfolgend finden Sie weitere Beispiele, die Sie entsprechend anpassen müssen. Sie können entweder alle Geräte in einer Datei konfigurieren oder aber auch für jedes Gerät eine eigene Datei verwenden.

  • Mounten eines CD-ROM Laufwerkes und eines CD/DVD Brenner:
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
    <device>
        <!-- optical drives -->
        <match key="block.device" string="/dev/hdc">
          <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">cdrom</merge>
          </match>
        </match>
        <match key="block.device" string="/dev/hdb">
          <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">dvdrecorder</merge>
          </match>
        </match>
    </device>
</deviceinfo>
  • Mounten eines USB-Sticks zu einem festen Mountpoint (dies funktioniert so nicht bei >= 10.0):
<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
     <match key="storage.drive_type" string="disk">
        <match key="storage.bus" string="usb">
          <match key="info.vendor" string="VENDOR">
             <match key="info.product" string="PRODUCT_ID">
              <merge key="volume.policy.desired_mount_point" type="string">MyUSBStick</merge>
            </match>
          </match>
        </match>
     </match>
  </device>
</deviceinfo>

In diesem Beispiel müssen Sie zusätzlich die nach folgenden Zeile anpassen. Die nötigen Informationen können Sie der Ausgabe von 'lshal' auf der Konsole oder dem 'hal-device-manager' unter KDE/GNOME (ggf. installieren Sie hal-gnome.rpm nach) entnehmen. <match key="info.vendor" string="VENDOR"> -> Tragen Sie hier den unter info.vendor gelisteten Hersteller für 'VENDOR' ein. <match key="info.product" string="PRODUCT"> -> Tragen Sie hier die unter info.product gelistete Produktbezeichnung für 'PRODUCT' ein.

Eine andere Möglichkeit wäre, das Device per UUID zu identifizieren. Diese Version funktioniert auch unter SUSE 10.0:

<?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">
  <device>
    <match key="block.is_volume" bool="true">
      <match key="volume.fsusage" string="filesystem">
        <match key="volume.uuid" string="UUID">
          <merge key="volume.policy.should_mount" type="bool">true</merge>>
          <merge key="volume.policy.desired_mount_point" type="string">MOUNTPOINT</merge>
        </match>
      </match>
    </match>
  </device>
</deviceinfo>

Hierbei muss für UUID der UUID Wert des Gerätes eingetragen werden, welcher sich per 'lshal' in Erfahrung bringen lässt. Für MOUNTPOINT kann dann ein Name vergeben werden, unter welchem dieses Gerät dann unter /media erscheint.