adminday.de

… der tägliche Wahnsinn

Archive for the 'Tutorials und Tipps' Category...

Filed under Software, Tutorials und Tipps

Da ich grade vor diesem Problem stand auf einem System eine neue Mac Office 2008 Lizenz zu installieren ohne das Office Paket komplett zu löschen hier die Lösung:

Alle Office 2008 Programme beenden und die datei

Programme -> Microsoft Office 2008 -> Office -> OfficePID.plist

sowie

User -> Library -> Preferences -> Microsoft -> Office 2008 -> Microsoft Office 2008 Settings.plist

löschen! Der Ordner User ist dabei dein Heimtverzeichnis

Das wars. Office Mac 2008 starten und schon kommt der Dialog um die Lizenz erneut einzugeben.

Viel spaß!

Kommentare (3) Posted by Jann on Dienstag, Januar 26th, 2010

Filed under Mac OS X, Tutorials und Tipps

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!

Kommentare (10) Posted by Jann on Montag, Oktober 19th, 2009

Filed under Tutorials und Tipps

Wer bei OS X mal aus der Shell schnell etwas in die Finder Zwischenablage bringen muss dem sei mit pbcopy geholfen. Auch die Zwischenablage aus dem Finder kann in der Shell bequem ausgelesen werden.

Etwas von der Shell in die Zwischenablage, z.b. system.log

cat system.log | pbcopy

… system.log ist wohl ne schlechte idee in der zwischenablage ;) , also lieber mal so:

echo “Ab in die Ablage” | pbcopy

Danach kann man mit cmd + v dies einfach in ein Textdokument einfügen.

Um die Finder Zwischenablage auszulesen einfach in der Shell

Einfach anzeigen in der Shell pbpaste eintippen.

pbpaste

Danach sollte (sofern etwas in der Zwischenablage vorhanden ist) es einfach in den output geschreiben werden. Natürlich kann man sich den inhalt auch gleich in eine Datei schreiben:

pbpaste > ablage.txt

Viel spaß damit, wofür auch immer ihr es brauchen werdet^^

Kommentare (6) Posted by Jann on Donnerstag, Juli 9th, 2009

Filed under Tutorials und Tipps

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.

Kommentare (2) Posted by Jann on Mittwoch, Juni 10th, 2009

Filed under Tutorials und Tipps

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 !

:)

Kommentare (2) Posted by Jann on Montag, Juni 8th, 2009

Filed under Tutorials und Tipps

Wer oft für Projekte oder sonstige Sachen ein immer gleich bleibende Ordnerstruktur braucht dem könnte dieser Shell Befehl nützlich sein:

sehllordnerstruktur

mkdir -p “Projekt Name”/{html/{styles,images/{original,thumbs},includes},raw-data/{Bilder,Photoshop},sonstiges}

kurze Erklährung:
- Ordner mit Leerzeichen im Namen müssen in Anführungsstriche gesetzt werden
- Mehrere Ordner werden mit Kommas getrennt
- Unterordner werden mit Ordner/Unterordner angelegt
- Mehrere Unterordner werden in geschweift klammern gesetzt und mit Kommas getrennt

Das ganze am obigen Beispiel sieht dann im Finder so aus:

Ordnerstruktur

Wer will kann den befehl natürlich noch erweitern, ideen hierfür währen z.B.: Automatisch Datum an einen Ordner hängen um Jahres oder Monatsstrukturen zu bilden usw^^

Vieleicht habe ich hiermit dem einen oder anderen etwas händische Arbeit gespart^^

Oder habt ihr noch andere Ideen wie man sowas noch besser Abbilden kann ?

Kommentare (5) Posted by Jann on Donnerstag, Juni 4th, 2009

Filed under Tutorials und Tipps

Kurznotiz, gilt für Mac / Linux / Unix / (bei Windows hilft nur “format c:” ;) )

Oft muss ich in einem Ordner schnell mal alle Dateien sichern als Backup da ich sie im nächsten Moment überschreibe.

Um nicht den ganzen übergeordneten Ordner gleich komplett sichern zu müssen sondern nur die Dateien im aktuellen Ordner ohne Unterverzeichnisse zu sichern habe ich folgenden befehl:

for i in *.*; do cp $i $i.bak ; done

Alle Dateien im Ordner werden dann von xyz.txt nach xyz.txt.bak kopiert, wer anstelle des kopieren die Daten verschieben will ersetzt im script einfach “cp” mit “mv”

Wer in einem Verzeichnis nur bestimmte Dateitypen z.B. *.html sichern mag macht dies dann so:

for i in *.html; do cp $i $i.bak ; done

somit werden an alle *.html Dateien im Ordner nach *.html.bak gesichert

Das gleiche geht mit jedem beliebigen Dateityp ^^

Viel spaß! Hoffe es hilft dem einem oder anderen :)

Kommentare (5) Posted by Jann on Montag, Mai 18th, 2009

Filed under Mac OS X, Tutorials und Tipps

Das MacBook Air hat ja kein CD / DVD Laufwerk, kann aber jedoch von jedem beliebigen Mac das CD / DVD Laufwerk benutzen, um diese Funktion zu aktivieren muss auf dem Mac (der das CD / DVD Laufwerk hat) das CD / DVD Sharing Aktiviert werden (Zu finden in den Systemeinstellungen -> Sharing). Nun kann man über das Netzwerk mit dem MacBook Air auf das Laufwerk zugreifen.

Diese Funktion hat Apple eigentlich nur dem MacBook Air spendiert, allerdings lässt es sich auch auf jeden anderen Mac freischalten.

Dafür müssen folgende 2 Shellbefehle im Terminal eingegeben werden (alles in eine Zeile):

defaults write com.apple.NetworkBrowser EnableODiskBrowsing -bool true

und danach

defaults write com.apple.NetworkBrowser ODSSupported -bool true

Jetzt einmal das System neustarten und schon kann man schön im Finder ein freigegebenes CD / DVD Laufwerk sehen :) , siehe Screenshot:

Macbook DVD sharing

Kommentare (4) Posted by Jann on Montag, Januar 26th, 2009

Filed under Mac OS X, Tutorials und Tipps

Nach der Umstellung auf 10.5 in unserer Firma klagten hier und da einige User über einen langsamen Finder.

Der Finder brauche an einigen Systemen bis zu 4 Sekunden um den Inhalt eines Ordners darzustellen, sowohl lokal als auch im Netzwerk.

Die Lösung ist recht einfach gewesen:

Unter Den Systemeinstellungen -> Tastatur und Maus auf den Reiter Maus klicken und prüfen wie Langsam oder schnell der Doppelklick eingestellt ist.

Ist der Doppelklick recht Langsam eingestellt braucht der Finder ein paar Sekunden (2 – 5 Sek.) um einen Ordnerinhalt anzuzeigen, aber fragt mich jetzt nicht ob das so gewollt ist oder ein Bug ist^^

PS: Der Dank gilt meinem Kollegen der dies herausgefunden hat.

Kommentare (3) Posted by Jann on Mittwoch, Oktober 29th, 2008

Filed under Mac OS X, Tutorials und Tipps

Wenn ihr unter Mac OS X 10.5.x Probleme beim installieren eines bestimmten Updates habt (über die Softwareaktualisierung ) hier die Lösung.

In meinem Fall hatte ich Probleme beim Installieren des QuickTime Updates. Die Fehlermeldung lautete:

Das Update „QuickTime“ konnte nicht gesichert werden

Sie haben nicht die notwendigen Zugriffsrechte

Hier ein Bild der Fehlermeldung:

In der Regel sind dies Rechteprobleme die sich leider nicht über das Festplattendienstprogramm lösen lassen.

Die Fehlermeldungen in der install.log, zu finden über das Dienstprogramm Konsole (Logdateien) sehen so aus:

Sep 12 18:11:10 noname Software Update[4347]: Package Authoring Error: installation-check results requires a message

Sep 12 18:24:28 noname Software Update[4404]: __choice_su_visible returned error: Undefined value

Die einfachste Lösung ist das entsprechende Update zu löschen. einfach im Finder in den Ordner /Library/Updates/ gehen und den Inhalt löschen.

Das ganze geht auch in der Shell… hierzu müsst ihr in die Shell gehen (Terminal) und euch als Root User anmelden und den kompletten Inhalt des Ordners /Library/Updates/ löschen.

  • Terminal Starten
  • Mit dem Befehl “su root” sich als Root User anmelden
  • In das Verzeichnis /Library/Updates/ (mit dem Befehl “cd /Library/Updates/“)
  • Mit “ls -la” könnt ihr euch nun den Inhalt des Verzeichnisses anzeigen lassen
  • Entweder löscht ihr nun den ganzen Inhalt oder nur das betroffene Update. für den ganzen Inhalt einfach “rm -r *” eingeben, für das betroffene Update “rm -r dasUpdate

Das Terminal kann nun wieder beendet werden und ihr könnt nun die Softwareaktuallisierung nochmals laufen lassen, alle Updates werden erneut heruntergeladen und Installiert.

Kommentare (4) Posted by Jann on Samstag, September 13th, 2008