Aus Linux-Magazin 08/2012

Auf den Punkt gebracht

Haben Sie Anregungen, Statements oder Kommentare? Dann schreiben Sie an [redaktion@linux-magazin.de]. Die Redaktion behält es sich vor, die Zuschriften und Leserbriefe zu kürzen. Sie veröffentlicht alle Beiträge mit Namen, sofern der Autor nicht ausdrücklich Anonymität wünscht.

Kindle-Clippings

05/12, S. 92: Den Perl-Snapshot “Datensauger” fand ich ausgezeichnet. Ich habe eine kleine Anmerkung zum Format der Datei »My Clippings.txt« . Mein Kindle Touch mit der Firmware-Version 5.1 fügt ein weiteres Wort zwischen »-« und dem Typ (Markierung, Notiz, Lesezeichen) ein. Das geschieht sowohl bei deutscher als auch bei englischer Menüführung. Nach einer kleinen Änderung in »ClippingsParser.pm« wird die Datei wieder richtig geparst und die SQlite-Datenbank korrekt befüllt.

Peter Lidauer, per E-Mail

Dateisystem-Details

07/12, S. 22: Vor lauter Detailwissen ist dem Autor Udo Seidel in der Dateisystemübersicht ein Schnitzer unterlaufen: Dateinamen sind eigentlich Namen von Verweisen auf Inodes, und davon kann es natürlich beliebig viele geben. Bei Verzeichnissen ist das sogar immer so, denn der Name sowie die Einträge ».« und »..« in allen Unterverzeichnissen zeigen alle auf denselben Inode. Durch etwas Zauberei wird dieser Anschein bei Einhängepunkten sogar dateisystemübergreifend erweckt. Das führt dazu, dass Inode-Nummern scheinbar mehrfach vergeben sind. Auf meinem Rechner haben etwa »/« , »/.« und »/..« , aber auch »/home« alle die Nummer 2.

Bei normalen Dateien ist es mit der Eins-zu-eins-Beziehung vorbei, wenn man ihnen mit »ln« weitere Namen gibt. Witzigerweise existiert auch die Eins-zu-null-Beziehung, wenn eine noch geöffnete Datei gelöscht wird. Dateien an sich kann man gar nicht löschen, nur deren Namen. Den Inode samt Daten räumt der Kernel erst weg, wenn weder Namen noch zugreifende Prozesse existieren.

Was die Zeitstempel und Userland-Tools betrifft, so ist der Befehl »stat« auskunftsfreudig. Seit Perl 5.8.8 eignet sich außerdem Time::HiRes, das allerdings auf fünf Nachkommastellen rundet, als Ersatz für die Funktion »stat()« . Aus dem schlichten »ls« lässt sich mehr Genauigkeit mit der Option »–time-style« herauskitzeln. Ich empfehle folgende Aliase:

alias lln='ls -l --time-style="+%F %T.%N"'
alias llm='ls -l --time-style="+%F %T.%03N"'

Dabei füllen aber leider ältere »ls« -Versionen »%03N« mit Leerzeichen auf.

Daniel Pfeiffer, per E-Mail

Der Fokus des Artikels liegt auf dem Problem, dass das System ohne freie Inodes keine neuen Dateien mehr anlegen kann. Dieses Problem ist in meiner Praxis tatsächlich schon aufgetreten.

Danke für den Hinweis zum Auslesen der Nanosekunden-Information mit Perl. Es ist richtig, dass Glibc die Information seit einiger Zeit bereitstellt. Dies trifft insbesondere für den Systemaufruf »stat()« zu, den die Programme »stat« und »ls« verwenden. Das Nanosekunden-genaue Setzen eines Zeitstempels mit »touch« schlägt jedoch fehl, wenn man keine Referenzdatei verwendet. Auch beim Transport über das Netzwerk geht die Nanosekunden-Information verloren. (Udo Seidel)

Incron

07/12, S. 56: Eine klitzekleine Korrektur zu den Informationen über Incron, das ich seit Jahren benutze und schätze: Das Tool eignet sich auch dazu, auf Veränderungen in Dateien zu reagieren. Auf meinem System beobachtet es beispielsweise Änderungen von »/etc/passwd« .

Helmut Hullen, per E-Mail

07/12, S. 56: Eine interessante Alternative zu Incron ist das Programm Iwatch http://iwatch.sourceforge.net. Es kann nämlich auch rekursiv arbeiten, was ich als sehr nützliches Feature empfinde. Allerdings, und das sehe ich eher als Nachteil, verwendet es eine XML-Datei zur Konfiguration.

Christoph Kaminski, per E-Mail

Bash Bashing

07/12, S. 92: Im Bash Bashing ist Herrn Bablok ein Fehler unterlaufen. Erst weist er im Zusammenhang mit Grep und Backticks auf das Problem mit Leerzeichen in Dateinamen hin, und dann das:

find . -type f -printf "%T@ %p\n"| sort -n | cut -d" " -f2

Diese Konstellation zeigt die gefundenen Dateinamen nur bis zum ersten Space an. Besser ist:

find . -type f -printf "%T@ %p\n"| sort -n | sed 's#[^\ ]* ##'

Oder einfach:

find . -type f -printf "%T@ %p\n"| sort -n | cut -d" " -f2-

Götz Babin-Ebell, per E-Mail

Erratum

06/12, S. 71: Auf der Bücherseite “Tux liest” haben wir den Namen eines Rezensenten bedauerlicherweise zu “Mölle” verkürzt. Er heißt korrekt Andreas Möller und hat das Video-Training zu HTML 5 besprochen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben