Der Fortschritt einer Datei mit "tail -f" kann nicht angezeigt werden

11

Es ist eine Überraschung, warum jetzt tail -fnicht funktioniert, während früher war.

Ich habe den folgenden Befehl, um für die Sicherung auszuführen.

ubuntu@ubuntu:~$ sudo tar -cvf /media/ubuntu/My*Linux/ub*data/zebra.tar /media/ubuntu/home > z1 2> z2 && echo "pass" || echo "fail"

Um die Ausgabe und den Fehler zu sehen, gibt es diese 2 Dateien z1und z2.

Jetzt möchte ich die Ausgabe des Befehls auf einem Terminal aus Datei z1 sehen:

ubuntu@ubuntu:~$ tail -f z1

Dieser Befehl zeigt jedoch nicht die Daten an, die mit der Zeit angehängt werden.

Ich arbeite an einer Live-Installation von Ubuntu 14.04.1 mit einem USB-Stick. Kann das der Grund sein?

Ravi
quelle
1
Möglicherweise nichts mit Ihrem Problem zu tun, aber Sie sagen 2 > z2. Ich denke, die stderrUmleitungssyntax 2>lässt tatsächlich keinen Raum zwischen dem 2und dem zu >.
Ulrich Schwarz
@ UlrichSchwarz Entschuldigung, das ist mein Fehler. Ich habe korrigiert
Ravi
1
Da Sie tar eine f outputfilenameOption gegeben haben, wird z1 eine leere Datei sein.
Mark Plotnick
@MarkPlotnick no z1 hat die Ausgabe entsprechend der Option -v. Wenn ich 'cat z1' ausführe, werden alle gesicherten Dateien angezeigt. Das Problem ist, dass der Befehl tail nicht funktioniert.
Ravi
@ Ravi Entschuldigung, Sie haben Recht, GNU tar schreibt die Liste an stdout, wenn v und f zusammen verwendet werden. Dies widerspricht dem schriftlichen Standard für Teer. Ich werde versuchen, Ihr Problem zu reproduzieren. In welchem ​​Verzeichnis befinden sich z1 und z2? Die RAM-Disk der Live-CD oder das USB-Laufwerk? Wenn USB, Was ist der Dateisystemtyp (ext3, vfat)?
Mark Plotnick

Antworten:

10

Ich kann das reproduzieren. Es ist ein Fehler.

Auf einer Ubuntu-Live-CD ist das Dateisystem, das das Ausgangsverzeichnis des Standardbenutzers enthält, type overlayfs , das behauptet, inotify zu unterstützen , dies jedoch nicht tut.

Bei tail -feiner Datei auf Overlayfs wird versucht, diese zu verwenden, inotifyund es werden keine Benachrichtigungen angezeigt, wenn sich die Datei geändert hat.

Der Ubuntu-Fehlerbericht hierfür lautet Bug # 882147: overlayfs implementiert inotify-Schnittstellen nicht korrekt . Eine in diesem Fehlerbericht zitierte Problemumgehung von Jim Meyering über Andrea Ranieri ist zu verwenden

tail -f ---disable-inotify file

(Es gibt dort wirklich drei Bindestriche.)

Mark Plotnick
quelle