[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: samba und automount [SOLVED]



Sebastian Kayser schrieb:
* Thomas <jade@ares.dyndns.biz> wrote:
Ok, habe ich geändert, funktioniert noch immer nicht. Weder mit smbfs noch mit cifs. Ich sehe nun, daß es die Alternative gibt den Mountpoint in die fstab einzutragen. Es bleibt aber der Frust, daß ich keinen Ansatz kenne um herausfinden zu können warum autofs nicht funktioniert. Ich meine, das muss doch einen nachvollziehbaren Grund haben. In /var/log/messages steht nichts dazu drin. Gibt es noch andere Logs, die ich zur Fehlersuche heranziehen könnte?

Kurze Antwort:
- Nimm die Execute-Rechte von /etc/auto.nova
- /etc/init.d/autofs restart
- Gut ist

Inzwischen bewerte ich es für mich persönlich wichtiger ein Verfahren zur Fehlersuche kennenzulernen, da ich das Problem "Ich denke ich habe alles richtig eingestellt, aber es funktioniert nicht wie gewünscht" schon oft erlebt habe.

Dann wollen wir mal. Lange Antwort:

Wenn Du das doch recht umfangreiche Init-Skript von autofs mittels

    bash -x /etc/init.d/autofs start

siehst Du gegen Ende, wie der automounter für einen bestimmten
Mountpunkt gestartet wird (nachgestellt für Deine Pfadangaben).

,----
| start-stop-daemon --start --pidfile /var/run/autofs/_mnt_autofs.pid \
|     --quiet --exec /usr/sbin/automount -- \
|     --pid-file=/var/run/autofs/_mnt_autofs.pid --timeout=300 \
|     /mnt/nova program /etc/auto.nova
`----

Dabei das Debian-spezifische rausgeschnippelt ergibt in etwas das, was
auch in der manpage von automount zum Starten zu finden ist.

automount [options] mount-point map-type[,format] map [map-options]

Im Falle von /etc/init.d/autofs bekommst Du was ähnliches auch bereits
mit dem Parameter status zu sehen. bash -x ist lediglich etwas
universaler, kann also ggf. auch bei anderen Init-Skript-Problemen
verwendet werden.

Nun steht bei Deinem map-type "program" und laut kurzem Blick in die
manpage von autmount versucht autofs in diesem Fall, die angegebene Map
(/etc/auto.nova) auszuführen, anstatt sie direkt zu lesen. Eigentlich
sollte dort "file" stehen.

Wieso also wurde der automount mit der "falschen" Option gestartet?
Fürs Festlegen der Optionen und Starten des Daemons ist das Init-Skript
/etc/init.d/autofs verantwortlich. Diese Datei geöffnet und nach
"program" gesucht, findet sich

,---- | elif `echo $map | grep -q "^/"` && [ -x "$map" ]; then
|             maptype=program
|         elif [ -x "/etc/$map" ]; then
|             maptype=program
`----

$maptype wird also auf "program" gesetzt, insofern $map ausführbar ist.
Das vorwärts und rückwärts gecheckt (wo kommt $map her, wo wird $maptype
weiterverwendet) und es ist klar, wo der Fehler liegt. Deine Map ist
_kein_ Programm, wird aber aufgrund der gesetzten Execute-Rechte vom
Init-Skript so behandelt.

Sebastian


Brillant! Es stimmt, das ist der Punkt. Besten Dank Sebastian, auch für die Erklärung. Das genaue Auswerten des Startscriptes hätte mich also weitergebracht. Auch hätte mir die Sache mit Program anstatt File auffallen können.

Vielen Dank!



Reply to: