Mac OS 10.6 und der Huawei MF637 (Web´n Walk Stick Fusion Telekom) UMTS USB Stick

Eben grade habe ich auf einem neuen MacBook Pro mit Mac OS 10.6 den Web´n Walk Stick Fusion (Modell MF637) versucht zu installieren. Nach der Installtion funtkionierte schon die Systemeinstllungen nicht mehr richtig… naja mal nen neustart machen und schauen was passiert.

Dumm nur das das MacBook Pro danach nicht mehr booten wollte!

Also das System im Verbose Modus (Apfel + V) gebootet und mal geschaut was los ist… das System bleibt mit folgender Meldung stehen:

Warning – com.apple.driver.InternalModemSupport declares no kernel dependencies ; using com.apple.kernel.6.0.

Yeah! Danke Telekom und Huwai für diese schadhafte Installation ! *kotz*

Nach langem suchem im Internet und debugging auf einem Testsystem nun die Lösung …

Der Installer der Telekom ersetzt unter /usr/lib/ die libcurl.4.dylib mit einer nicht 64-Bit fähigen version … WARUM AUCH IMMER DER INSTALLER SEINE EIGENE libcurl Version mitbringt! Das verstehe ich nicht!

Vorgehensweise wenn das System nicht mehr bootet:

Ihr müsst also einfach euch von einem anderem Mac mit 10.6 oder der Installtions DVD die libcurl.4.dylib besorgen.

Ich habe in meinm Fall einfach das MacBook Pro im Target Disc Modus gebootet und von einem anderem Mac (mit 10.6.) die libcurl.4.dylib auf das MacBook Pro kopiert.

Entweder macht ihr das über das Terminal mit „cp“ oder über den Finder mit „gehe zu“ und dann „/usr/lib/“ und einfach kopieren und überschreiben, den Mac neustarten und schon läuft alles wieder! Ja, auch die Telekom Software wird dann laufen!

Vorgehensweise bei einer neuen Erstinstallation:

  1. Die Datei /usr/lib/libcurl.4.dylib backupen (z.B. auf den Schreibtisch kopieren)
  2. Telekom Software installieren (welche nun die Original libcurl.4.dylib überschreibt)
  3. Danach das System nicht neustarten!
  4. Die vorher gesichterte libcurl.4.dylib wieder zurück nach /usr/lib/ kopieren
  5. System neustarten

Nun sollte der Mac und auch der UMTS Stick inkl. der Telekom Software laufen!

Danke… das hat mich grade eben 3 Stunden debugging und meine Mittagspause gekostet !

OS X Server – ClamAV / freshclam generve nach update auf OS X 10.5.8 Server

Am Wochenende habe ich einen unserer Apple Server geupdatet.

Nach dem Update von OS X Server 10.5.5 auf 10.5.8 haben launchd und clamav (bzw. freshclam) das System.log alle 10 Sekunden zugespammt.

Die Fehlermeldungen lauteten:

19.10.09 09:58:15 org.clamav.freshclam[9271] ERROR: Incorrect argument format for option –checks (-c)
19.10.09 09:58:15 org.clamav.freshclam[9271] ERROR: Can’t parse command line options
19.10.09 09:58:15 com.apple.launchd[1] (org.clamav.freshclam[9271]) Exited with exit code: 1
19.10.09 09:58:15 com.apple.launchd[1] (org.clamav.freshclam) Throttling respawn: Will start in 10 seconds

Anscheinen hat es hier nach dem Update eine launchd plist zerhauen oder was auch immer. Eine kurze Prüfung in der entsprechenden plist „org.clamav.freshclam.plist“ zeigte wohl auch schon das Problem… ein Leerzeichen im String welches wohl falsch übergeben wird.

Die Lösung

Per ssh auf den Server (oder  alternativ auf dem Server das Terminal öffnen) und dann:

1. ClamAV stoppen

sudo launchctl unload /System/Library/LaunchDaemons/org.clamav.freshclam.plist

2. Plist bearbeiten

vim /System/Library/LaunchDaemons/org.clamav.freshclam.plist

die entsprechende stelle…

<?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>Iterations</key>
<integer>1</integer>
<key>Label</key>
<string>org.clamav.freshclam</string>
<key>OnDemand</key>
<false/>
<key>Program</key>
<string>/usr/bin/freshclam</string>
<key>ProgramArguments</key>
<array>
<string>freshclam</string>
<string>-d</string>
<string>-c 4</string>
</array>

<key>ServiceIPC</key>
<false/>
<key>UserName</key>
<string>_clamav</string>
</dict>
</plist>

…ändern in

<?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>Iterations</key>
<integer>1</integer>
<key>Label</key>
<string>org.clamav.freshclam</string>
<key>OnDemand</key>
<false/>
<key>Program</key>
<string>/usr/bin/freshclam</string>
<key>ProgramArguments</key>
<array>
<string>freshclam</string>
<string>-d</string>
<string>-c</string>
<string>4</string>
</array>

<key>ServiceIPC</key>
<false/>
<key>UserName</key>
<string>_clamav</string>
</dict>
</plist>

und gut ist! Danach kann ClamAV wieder gestartet werden.

3. ClamAV wieder starten:

sudo launchctl load /System/Library/LaunchDaemons/org.clamav.freshclam.plist

Nach der Änderung sollte es im log dann wieder so aussehen:

19.10.09 10:15:17 org.clamav.freshclam[9319] ClamAV update process started at Mon Oct 19 10:15:17 2009
19.10.09 10:15:17 org.clamav.freshclam[9319] main.cld is up to date (version: 51, sigs: 545035, f-level: 42, builder: sven)
19.10.09 10:15:18 org.clamav.freshclam[9319] Trying host database.clamav.net (212.18.5.140)…
19.10.09 10:15:18 org.clamav.freshclam[9319] Downloading daily-9909.cdiff [100%]
19.10.09 10:15:18 org.clamav.freshclam[9319] Downloading daily-9909.cdiff [100%]
19.10.09 10:15:18 org.clamav.freshclam[9319] daily.cld updated (version: 9909, sigs: 86294, f-level: 43, builder: guitar)
19.10.09 10:15:18 org.clamav.freshclam[9319] Database updated (631329 signatures) from database.clamav.net (IP: 212.18.5.140)

So schaut es wieder gut aus, ClamAV kann sich wieder updaten und meine System.log wird nicht alle 10 Sekunden zugespammt :) Muchas!

Schnell den aktuellen Ordner aus dem Terminal im Finder öffnen

Mac OS X -> Kurznotiz:

Möchte man schnell mal den Aktuellen Ordner aus dem Terminal im Finder öffnen, dann einfach:

open .

in der Shell eingeben und schon öffnet sich der Ordner im Finder.

Genauso kann man auch Dateien aus der Shell heraus öffnen

open texdatei.txt

öffnet die textdatei.txt mit dem aktuell zugewiesenen Programm für txt Dateien… Standard ist dies Texedit.

Mac – Warnung vor unzureichenden Festplattenplatz

Wie heute bei macfidelity gelesen warnt Mac OS X  ja bekanntermaßen leider erst recht spät das die Festplatte voll ist. Fidel hat in deinem Blogbeitrag ein Programm vorgestellt das einem bei einem selbst definierten Wert rechtzeitig warnt.

Da ich keine Lust habe die Software bei jedem einzelnen Mac zu installieren und zu konfigurieren (das müsste ich dann mehr als 100 mal machen) habe ich mich für eine Script variante entschieden :)

Wir haben bei uns in der Firma schon einen Ordner auf jeden Mac für Scripte (/Library/wartungsscripts/), dieser wird mit einer Softwareverteilung mit den entsprechenden Scripten gefüllt.

Das Script muss natürlich mittels „chmod +x scriptname“ scriptfähing gemacht und die Rechte mittels chown auf root:wheel gesetzt werden.

Das Scrip prüft den Festplattenplatz und warnt per E-Mail wenn weniger als 500 MB frei ist, der wert kann selbstverständlich angepasst werden.

Das Script mit Kommentaren zu Erklärung:

#!/bin/sh

#Minimum groesse in KB ab der gewarnt wird
minfreespace=512000

# E-Mail Adressen
mailto=email@mydomain.de
mailfrom=email@senderdomain.de

####################################
# Ab hier keine Änderungen machen! #
####################################

# Computernamen Herausfinden
macname=$(hostname -s)

# Den belegten Fetsplattenplatz herausfinden
freespace=$(df -k . | awk ‚FNR==2 {print $4}‘)

# Einfache if Anweisung mit logging im Systemlog und E-Mail senden wenn weniger als $minfreespace frei ist
if [ $freespace -lt $minfreespace ]
then
# Mit sleep ein wenig warten um sicherzustellen das auch die netzwerkverbindungen schon geladen sind.. ist ne angewohnheit von mir ;)
SLEEP 15
echo „Der Mac $macname hat weniger als $minfreespace KB freien Festplattenplatz“ | mail -s „Rechner $macname hat zu wenig Festplattenplatz“ $mailto -r $mailfrom
logger [Check Free Space] – Not enough free Disk Space.
else
logger [Check Free Space] – Disk space OK
fi

Damit das ganze dann auch noch vom System automatisch gestartet wird müssen wir das Script mit Launchd starten. Mit Launchd kann man Scripte (ähnlich wie cron) zu bestimmten Zeiten, beim Systemstart oder beim System shutdown ausführen.

Ich habe mich für die Variante Systemstart entschieden, somit wird das Script mittels Launchd beim Systemstart ausgeführt

Damit Launchd das Script startet muss einfach in dem Ordner /System/Library/LaunchDaemons/ eine Plist Datei mit dem Namen com.private.checkhd.plist angelegt werden (oder ein eigener Fantasie-Name ;) ).

Der Inhalt der plist Datei für Launchd:

<?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>com.private.checkhd</string>
<key>Program</key>
<string>/Library/wartungsscripts/checkhd.sh</string>
<key>ProgramArguments</key>
<array>
<string>checkhd.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

Ihr müsst den Pfad zum Script entsprechend anpassen, oder ich legt das Script auch unter /Library/wartungsscripts/ mit dem Namen checkhd.sh ab.

Wichtig:
– Das Script muss ausführbar sein! (chmod +x script)
– Das Script und die plist für Launchd muss Besitzer root und Gruppe wheel sein (chown root:wheel datei)

Das ganze dann einfach mit einer Softwareverteilung im Netzwerk verteilen… fertig :)

Fragen ? Fragen !

:)

OS X 10.5.x schnell mal den lokalen DNS Cache löschen

Merke! Wenn man unter OS X 10.5 mal schnell den Lokalen DNS Cache leeren möchte einfach im Terminal folgenden befehl eingeben:

dscacheutil -flushcache

Unter OS X 10.4 war das noch:

lookupd -flushcache

War grade etwas verwirrt da als den unter 10.4 bekannten Befehl eingegeben habe und der mit nur gesagt hat „-bash: lookupd: command not found“ ^^

MAC OS X geschützte Dateien anderer User löschen

Heute hatte ich den Supportfall bei dem geschützte Dateien im Netzwerk gelöscht werden sollten, der User der diese allerdings erstellt und geschützt hatte, war heute nicht im Hause.

Unter MAC OS X geschützte Dateien lassen sich selbst mit dem Root User nicht löschen (dies durfte ich heute feststellen). Der Schutz darf nur vom Eigentümer der Datei und vom Super-User (Root) geändert werden. Nachdem der Schutz aufgehoben ist kann diese Datei dann von allen gelöscht werden die die entsprechenden Rechte haben.

Um eine Geschützte Datei wieder Ungeschützt zu machen geht man wie folgt vor:

  1. Auf dem betroffenden File Server als Root an der Shell anmelden
  2. Die Betroffene Datei suchen
  3. Mit dem Befehl „chflags nouchg Dateiname.datei “ den Schutz aufheben

Das ganze kann man auch für komplette Ordner machen

  • chflags -R  nouchg Ordnername

Mit dem Befehl „ls -lo“ kann man sich in der Shell anschauen ob eine Datei geschützt ist oder nicht. Ist eine Datei geschützt gibt es bei dem Befehl eine extra Spalte mit dem Flag, in diesem falle ist das Flag „uchg

-rwxrwx–x   1 User  Gruppe  uchg 291316 Apr 25 09:47 Dateiname.datei

Dieses Flag bzw. Attribut ist dafür gedacht das eine Datei nicht ausversehen gelöscht werden kann, da man hier vor dem löschen zuerst den Schutz aufheben muss.

Apple MAC OS X User Preferences clonen

Irgendwie suchen doch viele sehr häufig bei Google nach „apple user preferences klonen“. (Pro Tag 5 – 15 Leute), diesen Leuten versuche ich dann mal in diesem post zu helfen :D

Nun ja, ich weis zwar nicht warum ihr die User Preferences eines User clonen wollt aber prinzipiell funktioniert dies, selbst das einfache kopieren funktioniert wunderbar. Ihr solltet auf jeden Fall auf die korrekten Rechte achten, insbesondere wenn ihr die Preferences zwischen 2 MACs mit unterschiedlichen User Accounts kopiert oder clont.

Der User Preferences Ordner befindet sich unter /Users/Dein User Name/Library/Preferences/

Übrigens kann man den Inhalt diesen Ordners auch getrost löschen, hierbei gehen jedoch all deine User Spezifischen Einstellungen am System und deinen Programmen unter OS X verlohren. Diese müssen dann alle wieder von dir selbst eingerichtet werden. Das sind in der regel auch nicht viel.

Fragen ? Fragen !

TrueCrypt 5 für Mac OSX

Wie ich eben bei aptgetupdate gelesen habe ist nun endlich TrueCrypt 5 für Mac OSX raus gekommen. TrueCrypt 5 gibt es für OS X 10.4 (Tiger) und für OS X 10.5 (Leopard) jeweils in einer PPC und einer Intel Version.

TrueCrypt ist eine Open Source Software zum erstellen von verschlüsselten Container Dateien und ganzen Festplatten. Als Algorithmen stehen AES, Blowfish und Serpend zu Verfügung.

Dateien und Ordner über SSH kopieren

Da ich eben ca. 11GB an Dateien und Ordnern kopieren musste und keine Lust hatte die mit einem SFTP Client zu kopieren, habe ich mich entschieden dies über eine SSH Verbindung zu machen… doch wie ging das noch mal… ich mach das so selten das ich es immer wieder vergesse. Also folgt nun eine kleine Merkhilfe ;)

Dateien über SSH Kopieren mit scp

scp -r (Quellordner) user@domain:(Zielordner)

 

Edit:

Besser ist es bei solch einer Datenmenge das Programm rsync zu verwenden, mehr dazu findet ihr auf Shell Befehle in der kurzübersicht

RDC Menu – Remote Desktop Connection Bookmarks

Ich habe ja bereits über RDC (Remote Desktop Connection Mac) berichtet. Leider bietet RDC keine Lesezeichenleiste oder ähnliches. Hier habe ich nun ein Tool gefunden welches die Bedienung von RDC vereinfacht.

Über RDC Menu können Lesezeichen für den Remote Desktop Connection Client gespeichert werden, RDC Menu ist über die Status Bar erreichbar.

Ich kann diese Tool jedem empfehlen der von Mac aus Windows PCs administriert.

…zur Homepage von RDC Menu

RDC Menu LesezeichenRDC Menu Status Bar