symlink beim start erstellen

A

aspirin

Aktives Mitglied
Thread Starter
Dabei seit
21.11.2008
Beiträge
147
Reaktionspunkte
3
hallo,

ich muss nach jedem neustart des systems den link
Code:
sudo ln -s /opt/local/var/run/mysql5/mysqld.sock /tmp/mysql.sock
anlegen, damit ich mit meiner entwicklungsumgebung arbeiten kann. das ist recht nervig. ich benutze macports, ansonsten wäre es eventuell möglich, das in der my.cnf zu regeln. nun hab ich überlegt, ob das mit launchd und einem ensprechenden script möglich ist. zumal ich den link aber nur einmal anlegen muss, liege ich da aber offenbar falsch.
in einer linux umgebung könnte ich ein kurzes script in init.d ablegen.
wo mache ich sowas mit os/x?

grüße
 
warum beseitigst du nicht eher die ursache und änderst die config von dem programm, das den mysql socket in /tmp sucht?
 
weil das meherere sind, mongrel und textmate aufjedenfall. im netz und in zumindest einem buch, wird daher empfohlen diesen link anzulegen.
 
Zuletzt bearbeitet:
nutzt denn irgendwer den socket in /opt/local?
sonst änder das mal in der my.cnf, das wäre einfach als einen launchd job zu machen (obwohl das auch nicht so schwierig ist mit lingon oder launchd editor...)
 
auf diesem system findet sich keine benutzte my.cnf - zumindest findet der 'finder' keine.
ich habe den link nun in '/opt/local/share/mysql5/mysql/mysql.server' untergebracht. mag sein das dies nicht die sauberste lösung ist, aber sie funktioniert.

für launchd hatte ich folgendes geschrieben:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/
PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>org.lard.ln_s.mysql.ln</string>
        <key>ProgrammArguments</key>
        <array>
                <string>/bin/ln</string>
                <string>- s</string>
                <string>/opt/local/var/run/mysql5/mysqld.sock</string>
                <string>/tmp/mysql.sock</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
</dict>
</plist>
und in /Library/LaunchAgents/ abgelegt beim aktivieren erhalte ich ein 'Invalid argument
'. wahrscheinlich liegt es dort eh noch falsch. ich muss dazu wohl noch etwas mehr lesen.
 
Zuletzt bearbeitet:
es heißt nicht '- s' sondern '-s'
 
oh ja,
ich hab mich jetzt noch nicht weiter mit der thematik beschäftigt, die zeile einfach in '<string>-s</string>' geändert und erneut 'launchctl load' darauf ausgeführt.
gibt weiterhin das 'Invalid argument'.
 
Melde Dich mal an und wieder ab und sieh' nach, ob der link erstellt wird.
Falls nein: Such in system.log nach Einträgen
 
der link wird nicht erstellt.
im system.log findet sich die meldung
Code:
Dec  6 13:42:09 tron com.apple.launchctl.Aqua[169]: org.lard.ln_s.mysql.ln: Invalid argument
das bezieht sich dann auf
Code:
-rw-r--r--  1 root  wheel  468  6 Dez 11:33 org.lard.ln_s.mysql.ln.plist
in '/Library/LaunchAgents/' mit dem korrigiertem inhalt.

edit:
der unload versuch schlägt dann ebenfalls fehl:
Code:
sudo launchctl unload /Library/LaunchAgents/org.lard.ln_s.mysql.ln.plist
launchctl: Error unloading: org.lard.ln_s.mysql.ln
 
Zuletzt bearbeitet:
man muss schon aufpassen was man schreibt.
diese zeile:
Code:
<key>ProgrammArguments</key>
wird so
Code:
<key>ProgramArguments</key>
geschrieben und dann funktionierts.

vielen dank für eure unterstützung!
 
Zuletzt bearbeitet:
Zurück
Oben Unten