Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
mac:xattr [2011/03/31 15:21] 127.0.0.1 external edit |
mac:xattr [2011/04/16 21:18] (aktuell) wikisysop |
||
---|---|---|---|
Zeile 22: | Zeile 22: | ||
Die EAs einer Datei auf einem am Mac gemounteten NTFS Filesystem (smbfs) lassen sich zB mit <fc #008000>xattr</fc> oder <fc #008000>ls -l@</fc> anzeigen: | Die EAs einer Datei auf einem am Mac gemounteten NTFS Filesystem (smbfs) lassen sich zB mit <fc #008000>xattr</fc> oder <fc #008000>ls -l@</fc> anzeigen: | ||
- | <xterm2>$ <fc #008000>xattr MacFile.dmg</fc> (cr) | + | <xterm>$ <fc #008000>xattr MacFile.dmg</fc> |
- | <fc #800000>com.apple.diskimages.fsck | + | <fc #0000FF>com.apple.diskimages.fsck |
com.apple.diskimages.recentcksum</fc> | com.apple.diskimages.recentcksum</fc> | ||
- | </xterm2> | + | </xterm> |
Auf einem Windows Computer mit NTFS Filesystem zeigt sich ein ähnliches Bild, wenn die Datei von einem Mac System ≥ 10.6 abgespeichert wurde: | Auf einem Windows Computer mit NTFS Filesystem zeigt sich ein ähnliches Bild, wenn die Datei von einem Mac System ≥ 10.6 abgespeichert wurde: | ||
- | <xterm2>C:\orgfiles\MacData><fc #008000>streams MacFile.dmg</fc> (cr) | + | <xterm>C:\orgfiles\MacData><fc #008000>streams MacFile.dmg</fc> |
Streams v1.56 - Enumerate alternate NTFS data streams | Streams v1.56 - Enumerate alternate NTFS data streams | ||
Copyright (C) 1999-2007 Mark Russinovich | Copyright (C) 1999-2007 Mark Russinovich | ||
Sysinternals - www.sysinternals.com | Sysinternals - www.sysinternals.com | ||
- | . | + | |
C:\orgfiles\MacData\MacFile.dmg: | C:\orgfiles\MacData\MacFile.dmg: | ||
- | :<fc #800000>com.apple.diskimages.fsck</fc>:$DATA 20 | + | :<fc #0000FF>com.apple.diskimages.fsck</fc>:$DATA 20 |
- | :<fc #800000>com.apple.diskimages.recentcksum</fc>:$DATA 80 | + | :<fc #0000FF>com.apple.diskimages.recentcksum</fc>:$DATA 80 |
- | </xterm2> | + | </xterm> |
Zeile 50: | Zeile 50: | ||
Lässt man sich nun den Inhalt eines solchen, im Falle von FAT als msdos, gemounteten Volumes anzeigen, fällt auf, dass die in der AppleDouble Datei gespeicherten Information von Mac OS bereits wieder als EAs der Data Fork angezeigt werden: | Lässt man sich nun den Inhalt eines solchen, im Falle von FAT als msdos, gemounteten Volumes anzeigen, fällt auf, dass die in der AppleDouble Datei gespeicherten Information von Mac OS bereits wieder als EAs der Data Fork angezeigt werden: | ||
- | <xterm2>pronto-macpro:MacFilesFAT pronto$ <fc #008000>ls -la@</fc> (cr) | + | <xterm>pronto-macpro:MacFilesFAT pronto$ <fc #008000>ls -la@</fc> |
total 3856 | total 3856 | ||
drwxrwxrwx 1 pronto staff 4096 13 Mai 20:36 . | drwxrwxrwx 1 pronto staff 4096 13 Mai 20:36 . | ||
drwxrwxrwx 1 pronto staff 4096 13 Mai 20:36 .. | drwxrwxrwx 1 pronto staff 4096 13 Mai 20:36 .. | ||
- | -rwxrwxrwx 1 pronto staff 4096 13 Mai 20:36 <fc #800000>._MacFile.dmg</fc> | + | -rwxrwxrwx 1 pronto staff 4096 13 Mai 20:36 <fc #0000FF>._MacFile.dmg</fc> |
- | -rwxrwxrwx<fc #800000>@</fc> 1 pronto staff 1961028 25 Apr 18:55 MacFile.dmg | + | -rwxrwxrwx<fc #0000FF>@</fc> 1 pronto staff 1961028 25 Apr 18:55 MacFile.dmg |
- | <fc #800000>com.apple.diskimages.fsck</fc> 20 | + | <fc #0000FF>com.apple.diskimages.fsck</fc> 20 |
- | <fc #800000>com.apple.diskimages.recentcksum</fc> 80 | + | <fc #0000FF>com.apple.diskimages.recentcksum</fc> 80 |
- | </xterm2> | + | </xterm> |
Löscht man nun die AppleDouble Datei, kann auch Mac OS keine weiteren Metadaten mehr erkennen. Selbes geschieht wenn durch unachtsames Verschieben der Data Fork diese von der AppleDouble Datei getrennt wird: | Löscht man nun die AppleDouble Datei, kann auch Mac OS keine weiteren Metadaten mehr erkennen. Selbes geschieht wenn durch unachtsames Verschieben der Data Fork diese von der AppleDouble Datei getrennt wird: | ||
- | <xterm2>$ <fc #008000>rm ._MacFile.dmg</fc> (cr) | + | <xterm>$ <fc #008000>rm ._MacFile.dmg</fc> |
- | $ <fc #008000>ls -la@</fc> (cr) | + | $ <fc #008000>ls -la@</fc> |
total 3848 | total 3848 | ||
drwxrwxrwx 1 pronto staff 4096 13 Mai 21:17 . | drwxrwxrwx 1 pronto staff 4096 13 Mai 21:17 . | ||
drwxrwxrwx 1 pronto staff 4096 13 Mai 21:11 .. | drwxrwxrwx 1 pronto staff 4096 13 Mai 21:11 .. | ||
-rwxrwxrwx 1 pronto staff 1961028 25 Apr 18:55 MacFile.dmg | -rwxrwxrwx 1 pronto staff 1961028 25 Apr 18:55 MacFile.dmg | ||
- | </xterm2> | + | </xterm> |
Diese AppleDouble Dateien haben noch einen weiteren gravierenden Nachteil: Sie nisten sich auch auf Dateisystemen ein, wo man sie so gar nicht haben möchte. Wird zB auf einem Mac System eine CD oder DVD gebrannt, haben wir es bei dem Ziel Dateisystem (ISO 9660((http://de.wikipedia.org/wiki/ISO_9660))) wieder mit so einem Dateisystem zu tun, welches mit Apples Metadaten nichts anfangen kann. Anders als bei Windows Alternative Data Streams, welche beim Brennen der CD einfach weggelassen werden, kommt bei Apple wieder der ganze AppleDouble Sumsebrums auf die CD. Nicht schön wenn zB im Printbereich, wo Apple immer noch der Platzhirsch ist, ein CD-Master für eine CD Heftbeilage gebrannt wird. Fieserweise bemerkt das der Benutzer an seiner Mac OSX Workstation gar nicht, weil mit einem Punkt beginnende Dateien vom Finder standardmäßig gar nicht angezeigt werden. Somit wird der Segen zum Fluch ... Was zumindestens bei uns schon mal zu einer Kundenreklamation geführt hat und wir fast 1.500 Heftbeilagen CDs wegschmeissen konnten. Der Kunde zeigte sich gnädig und wir uns geläutert. | Diese AppleDouble Dateien haben noch einen weiteren gravierenden Nachteil: Sie nisten sich auch auf Dateisystemen ein, wo man sie so gar nicht haben möchte. Wird zB auf einem Mac System eine CD oder DVD gebrannt, haben wir es bei dem Ziel Dateisystem (ISO 9660((http://de.wikipedia.org/wiki/ISO_9660))) wieder mit so einem Dateisystem zu tun, welches mit Apples Metadaten nichts anfangen kann. Anders als bei Windows Alternative Data Streams, welche beim Brennen der CD einfach weggelassen werden, kommt bei Apple wieder der ganze AppleDouble Sumsebrums auf die CD. Nicht schön wenn zB im Printbereich, wo Apple immer noch der Platzhirsch ist, ein CD-Master für eine CD Heftbeilage gebrannt wird. Fieserweise bemerkt das der Benutzer an seiner Mac OSX Workstation gar nicht, weil mit einem Punkt beginnende Dateien vom Finder standardmäßig gar nicht angezeigt werden. Somit wird der Segen zum Fluch ... Was zumindestens bei uns schon mal zu einer Kundenreklamation geführt hat und wir fast 1.500 Heftbeilagen CDs wegschmeissen konnten. Der Kunde zeigte sich gnädig und wir uns geläutert. | ||
Zeile 78: | Zeile 78: | ||
Erweiterte Attribute (EAs) erweitern die Basis Attribute zu Dateien oder Verzeichnissen im Dateisystem (HFS+). Sie werden in einem name:value Paar gespeichert, welche mit dem Data Fork Objekt im Dateisystem verknüpft sind. Der Name (Identifier -> name) eines erweiterten Attributs ist ein simpler UTF-8 String, welcher idR den Urheber des Attributs identifiziert (com.apple) und ggf noch die Funktion beschreibt (quarantine). Im Prinzip aber ist der Name frei wählbar. Der Wert (value) eines Attributs ist ein Pointer zu einem Datenpuffer im Dateisystem, welcher Text oder Binärdaten mit dem Attribut verknüpft. | Erweiterte Attribute (EAs) erweitern die Basis Attribute zu Dateien oder Verzeichnissen im Dateisystem (HFS+). Sie werden in einem name:value Paar gespeichert, welche mit dem Data Fork Objekt im Dateisystem verknüpft sind. Der Name (Identifier -> name) eines erweiterten Attributs ist ein simpler UTF-8 String, welcher idR den Urheber des Attributs identifiziert (com.apple) und ggf noch die Funktion beschreibt (quarantine). Im Prinzip aber ist der Name frei wählbar. Der Wert (value) eines Attributs ist ein Pointer zu einem Datenpuffer im Dateisystem, welcher Text oder Binärdaten mit dem Attribut verknüpft. | ||
- | \\ \\ | + | |
Mac OS bringt einige Tools mit, mit denen die erweiterten Attribute angezeigt, bearbeitet oder gelöscht werden können. <fc #008000>xattr</fc> dürfte das mächtigste sein aber auch einige Optionen zum <fc #008000>ls-Befehl</fc> können gute Dienste leisten. Ein erstes Indiz für das Vorhandensein eines EA ist ein <fc #008000>@-Zeichen | Mac OS bringt einige Tools mit, mit denen die erweiterten Attribute angezeigt, bearbeitet oder gelöscht werden können. <fc #008000>xattr</fc> dürfte das mächtigste sein aber auch einige Optionen zum <fc #008000>ls-Befehl</fc> können gute Dienste leisten. Ein erstes Indiz für das Vorhandensein eines EA ist ein <fc #008000>@-Zeichen | ||
</fc> bei der Ausgabe von <fc #008000>ls -l</fc>: | </fc> bei der Ausgabe von <fc #008000>ls -l</fc>: | ||
- | <xterm2>$ <fc #008000>ls -l</fc> (cr) | + | <xterm>$ <fc #008000>ls -l</fc> |
total 17488 | total 17488 | ||
- | -rw-r--r--<fc #800000>@</fc> 1 pronto staff 209428 14 Mai 14:19 Bilder | + | -rw-r--r--<fc #0000FF>@</fc> 1 pronto staff 209428 14 Mai 14:19 Bilder |
- | -rw-r--r--<fc #800000>@</fc> 1 pronto staff 128064 14 Mai 14:21 ECI_Offset_2009_EN.pdf | + | -rw-r--r--<fc #0000FF>@</fc> 1 pronto staff 128064 14 Mai 14:21 ECI_Offset_2009_EN.pdf |
- | -rw-r--r--<fc #800000>@</fc> 1 pronto staff 140408 14 Mai 14:21 Filme | + | -rw-r--r--<fc #0000FF>@</fc> 1 pronto staff 140408 14 Mai 14:21 Filme |
- | -rw-r--r--<fc #800000>@</fc> 1 pronto staff 285397 14 Mai 14:21 Logo_Klar.psd | + | -rw-r--r--<fc #0000FF>@</fc> 1 pronto staff 285397 14 Mai 14:21 Logo_Klar.psd |
- | -rwxr-xr-x<fc #800000>@</fc> 1 pronto staff 261469 14 Mai 14:21 SC_paper_info.pdf | + | -rwxr-xr-x<fc #0000FF>@</fc> 1 pronto staff 261469 14 Mai 14:21 SC_paper_info.pdf |
- | -rw-r--r--<fc #800000>@</fc> 1 pronto staff 1131770 14 Mai 14:21 Trapping.ai | + | -rw-r--r--<fc #0000FF>@</fc> 1 pronto staff 1131770 14 Mai 14:21 Trapping.ai |
- | -rw-r--r--<fc #800000>@</fc> 1 pronto staff 5919242 14 Mai 14:20 Ukelele_1.8.4.dmg | + | -rw-r--r--<fc #0000FF>@</fc> 1 pronto staff 5919242 14 Mai 14:20 Ukelele_1.8.4.dmg |
- | </xterm2> | + | </xterm> |
Nun gibt es zwei Möglichkeiten sich die erweiterten Attribute anzeigen zu lassen. Sowohl das <fc #008000>ls-Kommando</fc> wie auch das <fc #008000>xattr-Kommando</fc> bieten eine Möglichkeit. Um sich einen Überblick zu verschaffen eignet sich das <fc #008000>ls-Kommando</fc> mit den Optionen <fc #008000>-l@</fc> erstmal besser: | Nun gibt es zwei Möglichkeiten sich die erweiterten Attribute anzeigen zu lassen. Sowohl das <fc #008000>ls-Kommando</fc> wie auch das <fc #008000>xattr-Kommando</fc> bieten eine Möglichkeit. Um sich einen Überblick zu verschaffen eignet sich das <fc #008000>ls-Kommando</fc> mit den Optionen <fc #008000>-l@</fc> erstmal besser: | ||
- | <xterm2>$ <fc #008000>ls -l@</fc> (cr) | + | <xterm>$ <fc #008000>ls -l@</fc> |
total 16576 | total 16576 | ||
-rw-r--r--@ 1 pronto staff 209428 14 Mai 14:19 Bilder | -rw-r--r--@ 1 pronto staff 209428 14 Mai 14:19 Bilder | ||
- | <fc #800000>com.apple.FinderInfo 32 | + | <fc #0000FF>com.apple.FinderInfo 32 |
com.apple.ResourceFork 209091</fc> | com.apple.ResourceFork 209091</fc> | ||
-rw-r--r--@ 1 pronto staff 128064 14 Mai 14:21 ECI_Offset_2009_EN.pdf | -rw-r--r--@ 1 pronto staff 128064 14 Mai 14:21 ECI_Offset_2009_EN.pdf | ||
- | <fc #800000>com.apple.FinderInfo 32 | + | <fc #0000FF>com.apple.FinderInfo 32 |
com.apple.quarantine 42</fc> | com.apple.quarantine 42</fc> | ||
-rw-r--r--@ 1 pronto staff 140408 14 Mai 14:21 Filme | -rw-r--r--@ 1 pronto staff 140408 14 Mai 14:21 Filme | ||
- | <fc #800000>com.apple.FinderInfo 32 | + | <fc #0000FF>com.apple.FinderInfo 32 |
com.apple.ResourceFork 140072</fc> | com.apple.ResourceFork 140072</fc> | ||
-rw-r--r--@ 1 pronto staff 285397 14 Mai 14:21 Logo_Klar.psd | -rw-r--r--@ 1 pronto staff 285397 14 Mai 14:21 Logo_Klar.psd | ||
- | <fc #800000>com.apple.FinderInfo 32 | + | <fc #0000FF>com.apple.FinderInfo 32 |
com.apple.ResourceFork 29090</fc> | com.apple.ResourceFork 29090</fc> | ||
-rwxr-xr-x@ 1 pronto staff 261469 14 Mai 14:21 SC_paper_info.pdf | -rwxr-xr-x@ 1 pronto staff 261469 14 Mai 14:21 SC_paper_info.pdf | ||
- | <fc #800000>com.apple.FinderInfo 32 | + | <fc #0000FF>com.apple.FinderInfo 32 |
com.apple.quarantine 42</fc> | com.apple.quarantine 42</fc> | ||
-rw-r--r--@ 1 pronto staff 1131770 14 Mai 14:21 Trapping.ai | -rw-r--r--@ 1 pronto staff 1131770 14 Mai 14:21 Trapping.ai | ||
- | <fc #800000>com.apple.FinderInfo 32 | + | <fc #0000FF>com.apple.FinderInfo 32 |
com.apple.ResourceFork 368</fc> | com.apple.ResourceFork 368</fc> | ||
-rw-r--r--@ 1 pronto staff 5919242 14 Mai 14:20 Ukelele_1.8.4.dmg | -rw-r--r--@ 1 pronto staff 5919242 14 Mai 14:20 Ukelele_1.8.4.dmg | ||
- | <fc #800000>com.apple.diskimages.recentcksum 79</fc> | + | <fc #0000FF>com.apple.diskimages.recentcksum 79</fc> |
- | </xterm2> | + | </xterm> |
ls -l@ //Dateiname// zeigt nun Details zu den EAs einer Datei an: | ls -l@ //Dateiname// zeigt nun Details zu den EAs einer Datei an: | ||
- | <xterm2>$ <fc #008000>ls -l@ rezilla1.png</fc> (cr) | + | <xterm>$ <fc #008000>ls -l@ rezilla1.png</fc> |
-rw-r--r--@ 1 pronto staff 39890 14 Mai 17:02 rezilla1.png | -rw-r--r--@ 1 pronto staff 39890 14 Mai 17:02 rezilla1.png | ||
- | <fc #800000>com.apple.metadata:kMDItemIsScreenCapture 42 | + | <fc #0000FF>com.apple.metadata:kMDItemIsScreenCapture 42 |
com.apple.metadata:kMDItemScreenCaptureType 48</fc> | com.apple.metadata:kMDItemScreenCaptureType 48</fc> | ||
- | </xterm2> | + | </xterm> |
Hier wird die Namens Konvention name:value verdeutlicht. Das EA <fc #008000>com.apple.metadata</fc> hat hier den Wert <fc #008000>kMDItemIsScreenCapture</fc> bzw. <fc #008000>kMDItemScreenCaptureType</fc>. Der Inhalt des EAs wird vom Betriebsystem oder einer Anwendung ausgewertet, dadurch werden zT Anzeigeoptionen eingestellt, Abfragen ausgelöst, Checksummen ausgewertet usw. Im Prinzip kann eine Datei, bzw. in diesem Kontext das Data Fork, auch ohne diese EAs ganz gut leben, dabei ist es umso mehr verwunderlich, dass die Anzahl der EAs nun fast schon täglich anwächst. | Hier wird die Namens Konvention name:value verdeutlicht. Das EA <fc #008000>com.apple.metadata</fc> hat hier den Wert <fc #008000>kMDItemIsScreenCapture</fc> bzw. <fc #008000>kMDItemScreenCaptureType</fc>. Der Inhalt des EAs wird vom Betriebsystem oder einer Anwendung ausgewertet, dadurch werden zT Anzeigeoptionen eingestellt, Abfragen ausgelöst, Checksummen ausgewertet usw. Im Prinzip kann eine Datei, bzw. in diesem Kontext das Data Fork, auch ohne diese EAs ganz gut leben, dabei ist es umso mehr verwunderlich, dass die Anzahl der EAs nun fast schon täglich anwächst. |