Veto Files, .DS_Store, .AppleDouble & Co.: Notizen zu Mac OSX Clients am Linux Server mit Samba

Die Leser, die schon länger OSX Clients mit einem Samba Server bedienen, werden die Besonderheiten kennen: Der Dateimanager des Mac OS (Finder) speichert eine ganze Menge an Metadaten zu Dateien und Ordnern in versteckten Dateien namens .DS_Store, .AppleDouble u.a.

Die Dateien beginnen alle mit einem Punkt und sind daher standardmäßig auf OSX, Windows und ebenso in der Linux-GUI versteckt bzw. unsichtbar. Spätestens wenn man aber per Terminal auf dem Server unterwegs ist, sieht man die Dateien, ebenso wenn man die Anzeige versteckter Dateien auf dem Client aktiviert hat: Das ganze Serverlaufwerk wird mit den Metadateien o.g. „versorgt“, was gerade Mac-Anwendern in heterogenen Netzen vermutlich nicht allzu viele Freunde machen dürfte 😉

Da in den Metadaten nur Dinge wie z.B. die letzte Sortierung o.ä. belanglose Dinge gespeichert werden, kann man deren Erstellung ohne mir bekannte Nachteile deaktvieren.

In meiner Agentur (die Internetagentur dimensional aus Köln) hatten wir das Thema vor vielen Jahren schonmal behandelt. Damals – zu Zeiten älterer Finder-Versionen – hatten wir über die Option veto files im Samba den Rundumschlag gemacht und alles Mac-spezifische verboten. Seinerzeit war da noch etwas mehr nötig als heute:

Aus der alten Samba Konfiguration (smb.conf):

Unerwünschte Dateien verbieten:
(Achtung, alt – richtige/aktuelle Konfiguration folgt weiter unten!)
veto files = /.?Desktop/.finderinfo/*Desktop DB*/resource.frk/.bin/Network Trash Folder/OpenFolderList*/TheVolumeSettingsFolder/.DS_Store/._*

Unerwünschte Dateien verstecken:
(Achtung, alt – richtige/aktuelle Konfiguration folgt weiter unten!)
hide files = /.*/DesktopFolderDB/Trash-For%m/resource.frk/*Desktop DB*/*Desktop DF*/*OpenFolderList*/*Network Trash Folder*/Network Trash Folder*/Icon*/.AppleDouble/TheVolumeSettingsFolder/.index-formatierung

Und noch das Löschen von Ordnern ermöglichen, die ggf. noch solche Dateien enthalten:
(Achtung, alt – richtige/aktuelle Konfiguration folgt weiter unten!)

delete veto files = yes

Jetzt aktuell hatte ich auf meinem Fileserver zu Hause einige eigentümliche Probleme, die m.E. mit der unfassbar grottenschlechten nicht so gelungenen Samba Implementation von Mac OS X und deren Zusammenspiel mit dem Samba Server liegen. Das Hauptproblem war, dass das Kopieren von Dateien auf den Server mit seltsamen Fehlermeldungen fehlschlug. Ein weiteres grundsätzlicheres Problem mit der SMBX genannten „Apple-eigenen“ Samba Implementation sind extrem geringe Transferraten beim Kopieren.

Ich habe mir daher den Server und speziell das Samba File Sharing vorgenommen und einfach mal „Inventur“ gemacht. Rausgekommen an Aufgaben ist:

Der Übersichtlichkeit halber werde ich die Infos auf die o.g. 4 Artikel verteilen.

Update: einer der o.g. Artikel ist schonmal da……weiteres Update folgt!

Kurznotiz: XSL Cache leeren

Bei Projekten mit intensiver Nutzung von XSL bzw. XSLT macht die Verwendung des XSL Bytecode Caches sehr viel Sinn, siehe dazu auch diese sehr umfassende Erklärung meines Kollegen Max.

Wichtig ist aber auch, wie sich der Cache hier verhält – und das ist bei der NY Times, welche die Extension „XSLCache“ entwickelt hat, nachzulesen:

Neulich hatten wir die Aufgabe, in einem Projekt den XSL Cache zu „refreshen“ – ohne jedoch die Webserver neu starten zu wollen. Es gibt da eine sehr simple und schnelle Lösung (Doku hier bei der NY Times):

The XSL cache uses the modification time (mtime) attribute of stylesheets to figure out if a file is newer than the cached version and needs to be updated. There are several cases where a file might change but the modification time remains old that you should avoid if you want the XSL cache to reload changed stylesheets correctly:

tar and rsync/scp can sometimes preserve the modification time of the archived/copied file. You must be careful about the following:

  • tar, use the -m flag
  • rsync, avoid using the -t/–times flag
  • scp, avoid using the -p flag
  • Be careful about radically adjusting the system clock and modifying XSL files. Similarly, clock skew between web servers and NFS shares may create issues.
  • If all else fails, use touch to clear a stylesheet from the cache, by resetting its last modified timestamp.

In addition, this early release of XSL Cache does not use shared memory, so each PHP process/thread will have its own copy of the stylesheet. Although this is admittedly wasteful, the memory cost does not seem to be costly. However, if you use the cachesheet argument to clear a cached stylesheet from one web server process, it may still be cached in other processes.

(Quelle: http://code.nytimes.com/projects/xslcache/wiki/StaleCaches)

Kurzmitteilung: CloudCamp Berlin 2009 (30.04.2009)

  • Eine spannende Veranstaltung steht in Berlin auf der Agenda: Das CloudCamp. Zur Darstellung zitiere ich von der Veranstalter-Website:

About CloudCamp:

CloudCamp is an unconference where attendees can exchange ideas, knowledge and information in a creative and supporting environment, advancing the current state of cloud computing and related technologies. As an informal, member-supported gathering, we rely entirely on volunteers to help with meeting content, speakers, meeting locations, equipment and membership recruitment. We also have corporate sponsors that provide financial assistance with venues, food, drink, software, services and other valuable donations.

Weitere Informationen/Links:

Das coolste Datacenter / Rechenzentrum der Welt?

Medium: www.youtube.com
Link: www.youtube.com

NRW08 / Slides von Thomas Weinert zur Optimierung der Frontend Performance

Mein Kollege Thomas Weinert hat auf der Community Konferenz „NRW08“ einen Vortrag zur Optimierung der Frontend Performance gehalten – hier sind die Slides zum Nachlesen:

MySQL Proxy / Erkennung von SQL Injections

Über einen Blogpost von Björn bin ich gerade übr etwas sehr interessantes gestolpert: Den MySQL Proxy.

In dem o.g. Posting geht es insbesondere darum, unter Nutzung des zwischengeschalteten Proxy Servers die SQL Befehle manipulieren und analysieren zu können – u.a., um hiermit SQL Injections erkennen zu können – spannende Sache. Anschauen will ich mir das aber insbesondere, um einen Einsatz als Loadbalancer auszuprobieren. Dazu dann später nochmal mehr…

Video “Seattle Conference on Scalability: YouTube Scalability”

Es gibt einen sehr interessanten Blogeintrag, der auf ein Videovortrag verweist, das einer der Youtube Entwickler/Techniker gehalten hat. Es geht um Skalierbarkeit, speziell um Thumbnails, Datenbanken, etc..

Abstract von der video.google.com Webseite:

“This talk will discuss some of the scalability challenges that have arisen during … Alle » YouTube’s short but extraordinary history. YouTube has grown incredibly rapidly despite having had only a handful of people responsible for scaling the site. Topics of discussion will include hardware scalability, software scalability, and database scalability.

Speaker: Cuong Do Cuong is currently an engineering manager at YouTube/Google. He was part of the engineering team that scaled the YouTube software and hardware infrastructure from its infancy to its current scale. Prior to YouTube/Google, he held various software development and management positions at PayPal and Inktomi.”

Best practises to speed up your website (Yahoo’s Tipps zur Optimierung)

Die “Best Practices for Speeding Up Your Web Site” (slides) von yahoo sind dem einen oder anderen sicherlich bekannt – falls nicht: lesen lohnt sich definitiv.