Schnell landet einmal ein Office-Dokument an einem gut verborgenen Ort im lokalen Dateisystem. Ein anderes Problem bereiten prall gefüllte Webserver-Verzeichnisse, wenn deren Verwalter FTP benutzen. Diese Projekteküche präsentiert nützliche Tools, die dabei helfen, mit solchen Dateien effektiv umzugehen.
Everything is a file – das ist ein Kernsatz der Unix-Philosophie. Entsprechend gibt es auf modernen Systemen Zigtausende von Dateien. Oft ist es schwierig, die benötigte zu finden. Handelt es sich um ein Office-Dokument oder eine Bilddatei, ist die Desktop-Suchmaschine Beagle [1] tonangebend, da sie unterschiedliche Dokumentformate versteht und bei der Suche zum Beispiel Exif-Informationen in Bitmap-Dateien einbezieht [2].
Beagle vereint außerdem die Vorteile von Locate und Find: Es holt die Informationen für die Suche nicht in Echtzeit aus dem Dateisystem, sondern wie Locate aus einer Datenbank. Das beschleunigt die Suche. Anders als Locate bringt Beagle die Datenbank jedoch nicht nur täglich oder stündlich auf den neuesten Stand. Vielmehr meldet das Inotify-Interface des Linux-Kernels ab Version 2.6.13 der Suchmaschine, wenn sich der Inhalt eines der überwachten Verzeichnisse verändert. Die Beagle-Datenbank ist also stets aktuell. Außerdem entfällt das regelmäßig per Cronjob anzustoßende, Ressourcen-intensive Durchkämmen des Dateisystems.
Nadel im Heuhaufen
Bei der Suche in den unzähligen Textdateien, die die Konfigurationsdaten eines Linux-Systems enthalten, bewährt sich Searchmonkey [3]. Das Suchwerkzeug vereint die Funktionalität von Find und Grep unter einer grafischen Oberfläche (Abbildung 1): Es sucht nach Dateinamen und gleichzeitig in den Datei-Inhalten. Fundstellen in der Datei, die in der Ergebnisliste ausgewählt ist, hebt das praktische Tool im eingebauten Viewer-Fenster hervor. Wer mit regulären Ausdrücken nicht allzu vertraut ist, wird den Expression Wizzard zu schätzen wissen, mit dem der Anwender den gewünschten Suchausdruck interaktiv erstellt. Einmal eingegebene reguläre Ausdrücke bleiben in der History-Liste erhalten. Searchmonkey arbeitet wahlweise Case-sensitiv oder nicht Case-sensitiv.

Abbildung 1: Searchmonkey bietet Konsolenmuffeln die Funktionen von Grep und Find unter einer grafischen Oberfläche. Außerdem enthält das Tool einen Wizzard für Regular Expressions.
Einfach versioniert
Wer Ordnung hält, muss gar nicht erst suchen. Eine Versionsverwaltung hilft unterschiedliche Fassungen von Dateien übersichtlich zu archivieren. Zwar sind die Prinzipien einer Versionsverwaltung leicht zu verstehen, dennoch machen unerfahrene Anwender gerade bei der Arbeit mit einem CVS immer wieder Fehler. Bis sie diese bemerken, ist es dann meist zu spät: Die benötigte Dateiversion ist verloren. Das Simple Version Control System (ASCVS, [4]) ersetzt die Kommandozeile durch ein übersichtliches Webfrontend (Abbildung 2) und erleichtert damit Versionskontroll-Neulingen den Einstieg.

Abbildung 2: Installation ohne Root-Rechte: Mit ASCVS läuft auf jedem PHP-fähigen Webserver eine einfache Versionsverwaltung. Auch Webpräsenzen auf einem Shared Host lassen sich damit verwalten.
Auf die Trennung zwischen Repository und Arbeitskopie verzichtet das einfache System: Die Anwender bearbeiten die Dateien in einem zentralen Verzeichnis per FTP oder SSH. Nach dem Upload teilen sie dem Versionskontrollsystem mit, dass die Datei in einer neuen Fassung vorliegt. Alternativ überwacht ein Cronjob, der »ASCVS-Verzeichnis/cli/cronupdateallfiles.php« aufruft, das gesamte Verzeichnis auf Änderungen.
Die einfache Architektur des Simple Version Control System eignet sich nicht für größere Projekte mit vielen Mitarbeitern: Zwischen dem Upload und dem Commit der neuen Version im Webfrontend liegt eine kurze Zeitspanne, in der sich konkurrierende Uploads wechselseitig überschreiben würden.
Eine typische Anwendung für die PHP-basierte Minimallösung ist das Pflegen einer Webpräsenz durch eine kleines Team. Der Installationsaufwand ist gering: kopieren der PHP-Dateien, einrichten einer leeren Datenbank, anpassen der Einstellungen zum Datenbank-Server in der Datei »db.php«, aufrufen von »install.php« im Browser – schon ist das System eingerichtet.
Die Teammitglieder arbeiten wie gewohnt an den Dateien auf dem Server. Kommt die Auto-Commit-Funktion zum Einsatz, müssen die Anwender sich gar nicht um die Versionskontrolle kümmern. Die Voraussetzungen PHP und MySQL oder Postgress sind meist selbst beim Shared Hosting auf einem Server ohne Root-Zugriff erfüllt.
Direktzugriff
Bei einer Internetpräsenz auf einem Shared Host lassen sich Dateien meist nur über FTP verwalten. Besonders das Verschieben von Unterverzeichnissen, die viele Dateien enthalten, dauert oft unangenehm lange. PHP hat ohne Umweg über das etwas antiquierte FTP-Protokoll direkt auf dem Server Zugriff auf die Dateien. Es liegt nahe, den direkten Schreibzugriff zu nutzen, um Dateien zu löschen, zu verschieben oder umzubenennen. Genau dies tut die in PHP programmierte Webanwendung Bytesfall Explorer [5]: Aufbauend auf PHP-Dateisystemfunktionen greift sie auf das Filesystem des Servers zu.
Die Anwendung bildet dabei optisch den Windows Explorer nach, unterstützt allerdings kein Drag&Drop. Die Verzögerungen, die sich bei einem FTP-Programm beim Laden eines Verzeichnisses mit vielen Dateien ergeben, fallen weg. Bytesfall Explorer zeigt die Daten über den verfügbaren Speicherplatz auf dem Server an und bietet eine komfortable Suchfunktion. Login-Daten speichert die Anwendung in einer MySQL- oder Postgress-Datenbank.
Es verursacht weniger Aufwand, Benutzeraccounts in Bytesfall Explorer zu verwalten als in der oft recht unübersichtlichen Weboberfläche des Hosters neue FTP-Accounts anzulegen. Um das Sicherheitsrisiko durch eine Webanwendung mit Dateizugriff zu minimieren, empfiehlt es sich, den Webserver-Zugriff auf das Bytesfall-Explorer-Verzeichnis durch ein Passwort zu schützen.
Der Installationsaufwand ist minimal: Der Anwender braucht nur mit den beiliegende SQL-Dateien die Datenbank zu initialisieren sowie deren Pfad und Login anzupassen. Einen leistungsfähigen Editor mit Syntaxhighlighting kann der Bytesfall Explorer zwar nicht ersetzen, bei kleineren Änderungen macht der integrierte Editor für Textdateien jedoch das wiederholte Downloaden und erneute Uploaden überflüssig.
Ratatouille mit Schafskäse
Diese Projekteküche stellte eine bunte Mischung aus Tools vor, die den Umgang mit Dateien erleichtern. Das passende Kochrezept dafür ist auch eine Mischung: Ratatouille mit Schafskäse.
Zutaten für eine Portion: 100 ml warmes Wasser, 1 Zwiebel, 1 mittelgroße Aubergine, 2 Tomaten, 1 gelbe Paprikaschote 1 kleine Zucchini. Für die richtige Würze sorgen je ein halber Teelöffel Oregano und Kräuter der Provence, eine Messerspitze Cayennepfeffer sowie ein halber Teelöffel Rosmarin, ein halber Teelöffel Liebstöckel und 2 Knoblauchzehen. Ein Teelöffel Gemüsebrühepulver, zwei Esslöffel Schlagsahne und 60 g Schafskäse runden die Mischung ab.
Zubereitung: Die Zwiebel in Ringe schneiden und in wenig Fett glasig dünsten. Die Aubergine putzen, klein würfeln und zu den Zwiebeln geben. Die Tomaten häuten, zerkleinern und in die Pfanne geben. Die Paprika putzen, in Streifen schneiden, die Zucchini würfeln und beides in das Ratatouille geben. Mit dem warmen Wasser auffüllen. Mit dem Cayennepfeffer und den Kräutern abschmecken. Den klein gehackten Knoblauch unterrühren und das Gemüsebrühe-Pulver hinzugeben.
Das Ganze 10 bis 15 Minuten zugedeckt auf niedriger Stufe garen, anschließend mit der Sahne verfeinern. Zum Schluss den Schafskäse zerbröselt aufs Ratatouille geben und bei geschlossenem Deckel schmelzen lassen.
|
Infos |
|---|
|
[1] Desktop-Suchmaschine Beagle: [http://beagle-project.org/Main_Page] [2] Steffen Leich, “Ordnung im Chaos – 13 Desktop-Suchsysteme im Vergleich”: Linux-Magazin 10/05, S. 94 [3] Searchmonkey: [http://searchmonkey.sourceforge.net/index.php/Main_Page] [4] ASCVS: [http://asvcs.com] [5] Bytesfall Explorer: [http://bfexplorer.sourceforge.net] |





