rsync update auf einem Mac mit OSX 10.6 (Leopard)


OSX 10.x bringt von Haus aus eine angepasste, aber alte Version von rsync mit.

rsync –version

zeigt uns, dass es sich um die Version 2.6.9 handelt. Um nun auf eine aktuelle Version (3.0.7 – Stand August 2010) zu kommen gibt es nicht allzu viele Möglichkeiten. Entweder man sucht im Netz nach einer fertig kompilierten Version oder man erstellt sich seine eigene Version. Das ist gar nicht so schwer. Zunächst sollte man sicherstellen, das man die nötigen Werkzeuge installiert ist. In diesem Fall sind das die Xcode-Tools von Apple. Darin enthalten ist unser Compiler. Die Software kann bei Apple heruntergeladen werden, oder befindet sich auf der Installations-DVD.

Installation erfolgt im Terminal:

Download der aktuellen Sourcen und Patches (Tilde-Zeichen => ALT+n)

cd ~/Downloads/
curl -O http://rsync.samba.org/ftp/rsync/src/rsync-3.0.7.tar.gz
curl -O http://rsync.samba.org/ftp/rsync/src/rsync-patches-3.0.7.tar.gz
Entpacken
tar -xzvf rsync-3.0.7.tar.gz
tar -xzvf rsync-patches-3.0.7.tar.gz
Aufräumen
rm rsync-3.0.7.tar.gz
rm rsync-patches-3.0.7.tar.gz
Patches anwenden
cd rsync-3.0.7
patch -p1 <patches/fileflags.diff
patch -p1 <patches/crtimes.diff
Vorbereiten…
./prepare-source
./configure
Wenn bis dahin alles erfolgreich war (dazu sind die Xcode-Tolls nötig) meldet er
rsync 3.0.7 configuration successful
Weiter gehts mit dem eigentlichen kompilieren
make
sudo make install

Nun noch kontrollieren ob alles gut gegangen ist (zwei Bindestriche vor „version“)

rsync  –version

sollte dann melden

rsync  version 3.0.7  protocol version 30
Copyright (C) 1996-2009 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, no iconv, symtimes, file-flags

rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.

Wo die neue Version abgelegt wird finden wir mit folgendem Befehl heraus

which rsync
/usr/local/bin/rsync

Fertig ;-)