NFS Frage (Dbox nimmt auf Mac auf)

M

malibux

Mitglied
Thread Starter
Dabei seit
08.01.2005
Beiträge
72
Reaktionspunkte
3
Halli hallo!

Ich habe meine Dbox2 und meinen Mac soweit konfiguriert (nach der Anleitung von http://www.tuxboxmeetsmac.de/nfs.php), dass ich auf meinem Mac Fernsehprogramme aufnehmen kann. Dies klappt wunderbar.

Das einzige Problem ist, dass ich mit den Befehlen

sudo /usr/sbin/portmap
sudo /usr/sbin/mountd
sudo /sbin/nfsd -t -u -n 6

jedesmal nach einem Neustart des Mac über das Terminal den NFS Server und was auch sonst immer starten muss, dass meine NFS Freigabe die in /etc/exports gespeichert ist, aktiviert wird.

Lt. der Anleitung von http://www.tuxboxmeetsmac.de/nfs.php sollte dies automatisch passieren. Ich setze die neueste Version von Mac OSX nämlich 10.4.4 ein.

Kann man diese Befehle z.b in ein Startup Script reinschreiben?

Danke!

lg, malibux
 
Na da antworte ich doch glatt mal (als derjenige, der das verfasst hat). Also das Problem habe ich bei mir nicht. Eben noch einmal getestet auf dem Notebook mit dem Resultat, dass alle Dienste starten, sobald die Datei exports in /etc existiert.

Man kann diese Befehle durchaus in ein StartUp-Script schreiben. Unter 10.4 sollte man dafür aber den Launchd benutzen ;)

Maceis hat dafür ne schicke Anleitung gebastelt, die sich zwar auf mysql bezieht, kann aber entsprechend angepasst werden.

Ist hier zu finden: http://maceis.kissner-arkadia.de/mysql_auf_tiger/

Vielleicht hilft dir ja das erst einmal weiter, kurios ist das dennoch… Sollte sich das häufen, werde ich eine entsprechende Beschreibung auf der Seite ergänzen. Ich kann es mir aber nicht vorstellen.

Dirk

Edit: schieb sowas das nächste Mal ins Digitales Video-Forum, da ist die Chance, dass ich das lese, höher ;)
 
Hi!

Vielen dank für die rasche Antwort.

Was genau ist Launchd bzw. wie kann ich das dort einstellen? Ist das ein Terminal-Befehl? (auf Unix bin ich nicht ganz fitt ;-)

Die Anleitung werde ich mir heute Abend anschauen, ich meld mich wieder!

lg, malibux
 
Der launchd ist ein Daemon, der das Starten von Diensten übernimmt. Nenn ihn ein Hintergrundprogramm. Er bietet viele Möglichkeiten wie das Überwachen von Ordnern, wiederbeleben "gestorbener" Prozesse oder einfach nur das Starten von solchen, in deinem Fall eben portmap, nfsd und mountd. In der aktuellen c't (02/06) ist dazu auch ein schöner Artikel, der einen guten Überblick liefert.

Dirk

Kleiner Nachtrag: alternativ kann man das Aufrufen der 3 Dienste auch in ein Shell-Script packen und dieses dann vom Launchd starten lassen. Mit der oben beschriebenen Variante müsstest du für jeden der Dienste eine Datei anlegen, das Shell-Script vereinfacht die Sache etwas ;) Ich werde das heute abend zu Hause mal testen und berichten.
 
Zuletzt bearbeitet:
hi!

mein erstes Applescript dazu würde so aussehen, ich glaub ich werde noch zum UNIX Freak ;-)

do shell script ("sudo /usr/sbin/portmap") user name "XXX" password "XXX" with administrator privileges
do shell script ("sudo /usr/sbin/mountd")
do shell script ("sudo /usr/sbin/nfsd -t -u -n 6")

Allerdings erscheint bei Ausführung die Fehlermeldung:

AppleScript Fehler:

portmap (213): PID 212 started this second instance of portmap (the first instance may not be running, as it launches on demand via launchd, exiting!

Das starten hat somint noch nicht funktioniert!

Kannst du mir weiterhelfen bzw. hast du Dein script schon fertig?

lg, malibux
 
aha gelöst:

ich verwende in meinem AppleScript nur die Befehle

do shell script ("sudo /usr/sbin/mountd")
do shell script ("sudo /sbin/nfsd -t -u -n 6")

dann ist mit showmount -e das NFS Share zu sehen.

Wie verwende ich dann mein Programm bzw. Script im Launchd? Einfach in ein bestimmtes Verzeichnis kopieren? z.b. in das Verzeichnis /Library/LaunchDaemons ?
 
Ohje, ich habe das völlig vergessen, sorry…

Das Apple-Script legst du dann einfach irgendwo ab. Für den launchd musst du ein "Startscript" anlegen, in dem dein Applescript aufgerufen wird.

Mit dem Programm Lingon (http://lingon.sourceforge.net/) kann man das ganz einfach machen. Da gibt es einen netten Assistenten, der dir beim Einrichten eines solchen Startscriptes behilfreich ist. Du müsstest dann einen Job anlegen, der beim Startup ausgeführt wird. Ich hoffe, dass der Assistent selbsterklärend ist ;) Das Script legt er dann nach dem Speichern an der richtigen Stelle ab.

Der Befehl zum Aufrufen eines Apple-Scripts von der Kommandozeile (in dem Fall durch den launchd) lautet:

Code:
osascript Scriptname.scpt

Viel Spass ;)

Dirk

P.S.: Schön, dass du das soweit alleine hinbekommen hast ;) Dennoch sehr kurios, dass die Dienste nicht beim Startup gerufen werden.
 
Wunderbar! das funktioniert jetzt! Danke für den tollen Tipp mit Lingon, das ging echt einfach mit dem Assistenten!

Komisch aber, dass sonst niemand Probleme mit diesen Dingen hatte, wie bereits gesagt ich verwende Mac OSX 10.4.4, also die neueste Version. Kann es etwas mit den Einstellungen unter "Sharing" zu tun haben?
 
Glückwunsch...nebenbei, ich nutze den NFS Manager für selbiges, ist echt zu empfehlen
-> Versiontracker

Gruß
uli007
 
@malibux:

Eigentlich nicht. An das NFS kommst du über dieses Fenster ja nicht ran. Aber schön, dass es jetzt funktioniert ;)

@uli007:

Das Problem ist ja nicht die Freigabe selber (die hat er ja mit dem Terminal erstellt), sondern die zugehörigen Dienste. Diese starten nicht automatisch, obwohl sie das sollten ;)

Dirk
 
komischerweise hat der NFS Manager bei mir nicht funktioniert, warum auch immer!

achja und zu früh gefreut, jetzt kann ich kein verzweinis mehr von der dbox mounten! ahhh....ich glaub ich spinn ;-)
 
Hmpf, geht es denn, wenn du das wieder mittels Lingon entfernst und dann rebootest? Sehr kurios...

Dirk
 
hi!

ist mir schon klar, beim ersten Befehl aus dem Skript bricht er das Skript ab..siehe hier

imac-g5:~ myuser$ osascript /Users/myuser/Documents/AppleSkripte/NFS.scpt

/Users/myUser/Documents/AppleSkripte/NFS.scpt: execution error: portmap[269]: PID 268 started this second instance of portmap (the first instance may not be running, as it launches on demand via launchd), exiting! (1)
imac-g5:~ myuser$

Mein Skript sieht derzeit so aus:

do shell script ("sudo /usr/sbin/portmap") user name "myuser" password "mypasswort" with administrator privileges
do shell script ("sudo /usr/sbin/mountd")
do shell script ("sudo /sbin/nfsd -t -u -n 6")

Das Problem ist wenn ich mount und nfsd alleine starte gehts nicht, sondern nur wenn ich portmapa auch anwerfe, obwohl eine Fehlermeldung kommt..

Meine Idee wäre jetzt die, das Appleskript so einzustellen, dass es Fehler ignoriert, geht das? dann würde die Fehlermeldung ignoriert und die nächsten Zeilen ausgeführt. Wie gesagt im Terminal bei händisscher Eingabe (siehe oben) geht das.

lg
 
Kann es sein, dass ich grundsätzlich noch etwas installieren muss? Es gibt doch so eine Art Unix Paket (X11?) welches man sich kostenlos bei Apple runterladen kann? Vielleicht starten dann die Dienste?
 
Das mit dem X11 ist nicht nötig, da auch eine X11-Installation vorhanden ist (die man aber nur für einige wenige Sachen benötigt).

Das selbe Kuriosum habe ich eben auch erlebt, als ich das mal getestet habe mit einem Shell-Skript, das vom launchd gerufen wird. Hat auch nicht geklappt. Kuriose Sache das, da bin ich im Moment leider erstmal überfragt, sorry… :(

Dirk
 
ich bekomme das einfach nicht hin, hab über die exports datei in /etc den pfad /Users/burn/dbox eingebaut. das entspricht ja bei mir im finder benutzer/burn/dbox

ich bekomme aber immer die meldung das die dbox das verzeichnis entweder nicht mounten kann, bzw das das verzeichnis nicht beschreibbar ist.

muss es in einem ip subnetzwerk liegen? weil dbox 192.168.1.37 über router und mac über airport 10.0.1.2
 
Das wäre auf jeden Fall einen Versuch wert. Hast du die Chance, die Box direkt mal an den Mac zu klemmen? So könntest du das ja mal ausprobieren…

Dirk
 
Zurück
Oben Unten