mac | Wo werden Software Updates abgelegt
October 28th, 2009 at 11:46
Wir hatten im IRC heute u.a. das Thema Software Updates sowie deren Speicherort zum Thema. Aufgekommen ist die Diskussion über die Frage
Weiß jemand, wo die Programme ihre Downloads ablegen, wenn man die internen Update-Funktionen nutzt?!
Im folgenden mal ein paar Gedanken zu diesem Thema.
Grundsätzliches
Im ersten Moment ist diese Frage nicht zu beantworten – schlichtweg da es mehrere Fälle gibt.
Einmal Software-Updates direkt aus dem Hause Apple – welche im Normalfall über die in Mac OS X eingebaute und entsprechend benannte Funktion Software Update umgesetzt wird.
Der andere Fall betrifft Software die nicht direkt von Apple stammt dieser Fall unterscheidet sich in der Praxis leider in diverse Unterfälle
- Programme die das Sparkle Framework verwenden
- Programme die eigenen Update Mechanismus verwenden
- Programme die keinen Update Mechanismus verwenden
Mögliche Szenarien
Fall 1 – Apple
In diesem Fall ist die Aufteilung relativ klar. Der Apple Dienst Software Update prüft nach Updates

Und bietet diese dann ggf. zum Downlad an

Einige Optionen diesbezüglich findet man unter den Systemeinstellungen (System-Preferences)

Apple legt diese Updates je nach Mac OS X Version und Voreinstellung in unterschiedlichen Verzeichnissen ab. Im folgenden nur mal eine Übersicht einiger möglichen Anlaufstellen.
/var/db/receipts
/Library/Receipts
/Library/Packages
Letzlich läuft die IRC Frage auf Fall 2 bzw 2.1 hinaus – weshalb hier auch erstmal Schluss mit der Beteachtung der Apple Software Updates mache.
Fall 2.1 – Sparkle Framework
Viele Entwickler greifen auf das Sparkle-Framework von Andy Matuschak zurück – da dieses einfach einzubinden ist – relativ gut funktioniert und damit aus Entwickler Sicht der naheliegenste Ansatz darstellt.
Dieses Updateszenario ist inzwischen eine Art Quasi-Standard für Drittanbieter Software unter Mac OS X.
Die Frage die man sich jedoch stellen kann ist
Wie erkenne ich überhaupt ob ein Programm das Sparkle Framework verwendet ?
Relativ einfach – wie so oft ist der schnellste Weg der Blick in die entsprechenden Dokumentation des Programmes (sofern vorhanden) oder aber vielleicht noch naheliegender der Blick ins Package.
Ich verwende im Beispiel jetzt mal Daisydisk – in diesem Fall springt einem der folgende Update-Dialog entgegen

Für Benutzer die schon länger mit Mac OS X arbeiten deutet solch ein Update-dialog eigentlich immer auf Sparkle hin – aber trotzdem hilft ein Blick ins Package um auf Nummer sicher zu gehen.

und darin findet man dann relativ schnell den Ordner Frameworks welcher das Sparkle Framework enthalten sollte.

Nachdem nun klar ist wie man feststelle kann ob ein Programm das Sparkle Framework verwendet bleibt die Frage
Wo legt Sparkle die Update ab ?
Bedient man sich einer fixen Suche nach der Frage
Where does Sparkle store the temporary download?
landet man u.a. bei dieser Aussage von Andy Matuschak

Nun gut. Die Richtung hat man so grob – will man es aber genau wissen hilft letzlich nur das gute alte Hilfsprogramm FSEventer- welches ich jedem technisch interessierten Mac OS X Benutzer ans Herz lege.
Im folgenden werfe ich FSEventer an uns lasse es auf den Pfad-String Daisy prüfen

Die Aussage /tmp trifft es in etwa – aber in meinem Falle nicht exakt
Letzlich bleibt einem im Falle Sparkle Update also die Wahl mit FSEventer zu prüfen oder einfach eine brauchbare Suche anzuwerfen – brauchbar in der Form das man auf ein Programm zurückgreift welches alle Dateien findet – nicht nur Teile wie Spotlight. Find-any-File kann ich in diesem Kontext immer wieder positiv hervorheben.
Fall 2.2 – Eigene Update Funktion
Verwendet eine Software eine eigene Update Routine bleiben einem letzlich dieselben Mittel wie im Falle 2.1 – FSEventer und eine Suche – wenngleich man davon ausgehen kann das sich diese Fälle noch etwas spzieller gestelten werden -einfach da jeder machen kann was und wie er es will.
Fall 2.3 – Keine Update Funktion
In diesem Fall stellt sich die grundsätzliche Frage nicht – schreibt eine Beschwerdemail an den Hersteller und hofft das dieser den Ball irgendwann aufnimmt und diese wichtige Grundfunktion in sein Produkt integriert
Fazit
Mehr wie obige 3 Update-Szenarien fallen mir unter Mac OS X auf die schnelle nicht ein – wer wie im Falle der ausgehenden Frage wissen will wo Sparkle-Programme ihre Files ablegen sollte mit dem Duo FSEventer und Find-Any-file perfekt gerüstet sein. ansonsten hoffe ich der Artikel konnte die eine oder andere Zusatzinformation bieten.
Viel Spaß beim weiteren wühlen in Mac OS X
Tags: find any file, framework, fseventer, software update, sparkle, updates


