Archives for posts with tag: Mac

Einer der wenigen Dinge die mich am Mac nerven ist die Tatsache, dass viele Programme mit Gewalt am Anfang als Administrator installiert und betrieben werden wollen. Dabei ist dies in vielen Fällen gar nicht nötig. Wer auf dem Mac seine Programme nicht für alle Benutzer installieren will, leg sich einfach einen Applications-Ordner im Benutzerordner an und speichert seine Programme dort. Der Vorteil liegt darin, dass man sich dann nur um das Sichern des Benutzerordners kümmern muss; die Programme die man nutzt werden mitgesichert. Bei einer Neuinstallation muss ich nur den Benutzerordner wiederherstellen und ich kann weiterarbeiten.

Aber zum eigentlichen Thema: Als Entwickler nutze ich auch MySQL und das Standardverhalten die Daten unter /var/ abzulegen finde ich ein wenig störend, da ich zum Nutzen von MySql Administrationsprivilegien brauche und die Daten aus oben genannten Gründen nicht in meinem Benutzerordner liegen. Man kann MySql allerdings auch recht einfach unter dem eigenen Benutzer starten.

Read the rest of this entry »

Fork me on GitHub

Bei meinen Streifzügen durchs Internet ist mir letzten das Programm RoadTrip (früher: Bobcat) auf der Mac Seite von Garmin aufgefallen, mit dem einfach Tracks und Wegpunkte bearbeiten kann. Leider bietet die Standardinstallation nur die US Basemap Karte, welche nicht wirklich korrekt ist ;)

Da ich ja auf meinem Garmin GPS auch die OpenStreetMap Karte benutze, liegt es nahe, RoadTrip ebenfalls diese unterzujubeln. Mit dem Programm MapInstall, welches bei RoadTrip dabei ist, lassen sich Karten im .gmapi Format einfach hinzufügen – nur wie kommt man an solch eine Karte? Mein GPS will ja eine gmasupp.img Datei haben. Laut der Beschreibung von Garmin muss man die Karte auf Windows mit MapConvert in irgendwas dubioses konvertieren, und kann sie dann auf dem Mac in gmapi verwandeln. Irgendwie unschön.

Read the rest of this entry »

Eins der tollen neuen Features von Mac OS X Leopard war bzw ist TimeMachine,
ein kleines Backupprogramm, was im Hintergrund stündlich die eigenen
Daten sichert. Hierfür benötigt es entweder eine externe Festplatte oder
Time Capsule, die WLAN Festplatte von Apple. Da ich eine externe
Festplatte an Notebooks nicht mag und eine Time Capsule dann doch ein
wenig ins Geld geht, habe ich mich damals, beim Kauf meines Macbooks für
die Open Source Zwischenlösung entschieden: Externe Festplatte an den
Server anklemmen, diese ins WLAN freigeben und den geheimen
TimeMachine-Schalter für “Unsupported Network Storages” aktiviert.

Das ganze lief auch ein halbes Jahr gut; bis plötzlich das Backup anfing
ewig zu dauern, nie fertig wurde und schlussendlich mit Fehlern über ein
kaputtes Backuparchiv zu Bruch ging. Fazit für mich: TimeMachine über
ein nicht IEEE
802.11n
Wlan bzw auf einer Nicht-Time-Capsule geht über kurz oder
lang schief. TimeMachine braucht ewig um mit dem Backup anzufangen und
dass ist für mich K.O. Kriterium für diese Lösung.

Da mein Macbook dann in den letzten 2 Wochen auch noch mit einer 100%
CPU Auslastung angefangen hatte die Festplatte nach Fehlern zu
durchsuchen (anscheinend war der Header kaputt), musste ich das gute
Stück wohl oder übel nun doch mal neuinstallieren. Aber vorher braucht
man ja ein Backup der eigenen Daten. Ich hatte vorher schon nach
Alternativen zu TimeMachine geschaut und bin über das Unix-Boardmittel rsync
gestolpert: Ein kleines Kommandozeilentool welches Daten zwischen zwei
Systemen synchronisiert.

Vorteile gegenüber TimeMachine:

  • OpenSource: Die Lösung kann ich auch für meine anderen PCs verwenden
  • Ich hab mehr Kontrolle darüber
  • Auf dem Server werden blanke Dateien abgelegt, d.h. ich komme auch
    ohne Mac an die Daten ran

Nachteile:

  • Keine schicke GUI
  • Bastellösung
  • Man muss selbst Cronjobs anlegen usw.
  • Eventuell fehlerhafte Synchronisation bei Apple / HFS-Eigenheiten
  • Kein Restore bei Systeminstallation direkt vom Backup (Also erst
    Installieren, dann Backup kopieren)

Da ich wie gesagt mein Macbook neuinstalliert habe, konnte ich das so
erzeugte Backup auch gleich mal testen. Probleme gab es eigentlich
keine, außer jede Menge fehlender Programme, da ich nur meinen
Benutzerordner gesichert habe (Tipp: Im Benutzerordner einen Ordner
“Applications” anlegen und dort die Programme speichern). Wer das ganze
bei sich ausprobieren will, findet mein Script hier:


#!/bin/sh

# This script does personal backups to a rsync backup server. You will end up
# with a 7 day rotating incremental backup. The incrementals will go
# into subdirectories named after the day of the week, and the current
# full backup goes into a directory called "current"
# tridge-at-linuxcare.com

# Modified for my personal Mac use :)
# stephan.zeissler-AT-moinz.de

# directory to backup
BDIR=$HOME

# excludes file - this contains a wildcard pattern per line of files to exclude
EXCLUDES=$HOME/.cron_excludes

# the name of the backup machine
BSERVER=szeiss2s@moon:/export/backupdb/szeiss2s

########################################################################

BACKUPDIR=`date +%A`
RSH_CMD="ssh -i $HOME/.ssh/id_rsa_backup"
OPTS="-x -S --force --ignore-errors --delete-excluded --exclude-from=$EXCLUDES --delete --backup --backup-dir=/export/backupdb/szeiss2s/$BACKUPDIR -a"

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin

if [ ! -f /tmp/.rsync-backup ]; then
  touch /tmp/.rsync-backup

  # the following line clears the last weeks incremental directory
  [ -d $HOME/emptydir ] || mkdir $HOME/emptydir
  rsync -e "$RSH_CMD" --delete -a $HOME/emptydir/ $BSERVER/$BACKUPDIR/
  rmdir $HOME/emptydir

  # now the actual transfer
  growlnotify -n "Rsync" "Backup" -m "Starting backup ..." -p -1
  rsync -e "$RSH_CMD" $* $OPTS $BDIR $BSERVER/current

  # Clear the log
  growlnotify -n "Rsync" "Backup" -m "Backup beendet." -p 1
  rm -f /tmp/.rsync-backup

else
  # Backup seems to be already running.
  growlnotify -n "Rsync" "Backup" -s -m "Already running - Aborting." -p 2
  echo "Found /tmp/.rsync-backup so aborting - delete the file if the backup is not running."
fi

P.S.: Der Befehl growlnotify zeigt ein kleines Notifier-Fenster an und
muss erst
P.S.S.: Nein, das Skript ist nicht einfach so nutzbar, aber ich denke
der schlaue User wird das von selbst hinkriegen. Ansonsten gibts ja noch
Email.