`tail -f`でファイルの進行状況を確認できない


11

tail -f以前はそうだったのに今は動かないのは驚きです。

バックアップのために実行する以下のコマンドがあります。

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

出力とエラーを確認するために、2つのファイルz1とがありz2ます。

次に、ファイルz1の端末でコマンドの出力を確認します。

ubuntu@ubuntu:~$ tail -f z1

しかし、このコマンドは時間とともに追加されているデータを表示していません。

私はusbペンドライブを使用してUbuntu 14.04.1のライブインストールに取り組んでいます。これが理由でしょうか?


1
おそらくあなたの問題とは無関係ですが、あなたは言う2 > z2stderrリダイレクト構文で2>は、2との間のスペースは実際には許可されていないと思います>
Ulrich Schwarz 14

@UlrichSchwarzごめんなさい、私の間違いです。私は修正しました
ラビ14

1
tarにf outputfilenameオプションを指定したので、z1は空のファイルになります。
マークプロトニック2014

@MarkPlotnick no z1には、-vオプションに対応する出力があります。「cat z1」を実行すると、バックアップされたすべてのファイルが表示されます。問題は、tailコマンドが機能しないことです。
ラビ2014

@Ravi申し訳ありませんが、vとfを一緒に使用すると、GNU tarがリストをstdoutに書き込みます。これは、書かれたtarの標準に反します。あなたの問題を再現しようとします。z1とz2はどのディレクトリにありますか?ライブCDのRAMディスクまたはUSBドライブ?USBの場合、ファイルシステムのタイプ(ext3、vfat)は何ですか?
マークプロトニック2014

回答:


10

これを再現できます。それはバグです。

UbuntuライブCDでは、デフォルトのユーザーのホームディレクトリを含むファイルシステムはタイプoverlayfsです。これは、inotifyをサポートすると主張していますが、サポートしていません。

そのtail -fため、overlayfs上のファイルは使用inotifyを試み、ファイルが変更されたときに通知を受け取りません。

これに関するUbuntuのバグレポートはBug#882147です:overlayfsはinotifyインターフェースを正しく実装していません。そのバグレポートで引用されている回避策は、Jim MeyeringからAndrea Ranieriを経由して使用することです。

tail -f ---disable-inotify file

(実際には3つのハイフンがあります。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.