Tidak dapat melihat perkembangan file dengan `tail -f`

11

Ini mengejutkan mengapa sekarang tail -ftidak berfungsi seperti sebelumnya.

Saya sudah perintah di bawah ini untuk menjalankan backup.

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

Untuk melihat output dan kesalahan, ada 2 file z1dan z2.

Sekarang saya ingin melihat output dari perintah pada terminal dari file z1:

ubuntu@ubuntu:~$ tail -f z1

tetapi perintah ini tidak menunjukkan data yang ditambahkan dengan waktu.

Saya sedang mengerjakan live install Ubuntu 14.04.1 menggunakan usb pen drive. Mungkinkah ini alasannya?

Ravi
sumber
1
Mungkin tidak terkait dengan masalah Anda, tetapi Anda katakan 2 > z2. Saya pikir stderrsintaks redirection 2>sebenarnya tidak memungkinkan ruang antara 2dan >.
Ulrich Schwarz
@UlrichSchwarz maaf itu kesalahan saya. Saya sudah mengoreksi
Ravi
1
Karena Anda memberi tar f outputfilenameopsi, z1 akan menjadi file kosong.
Mark Plotnick
@MarkPlotnick no z1 memiliki output yang sesuai dengan opsi -v. Jika saya menjalankan 'cat z1', itu akan menampilkan semua file yang dicadangkan. Masalahnya adalah perintah ekor tidak berfungsi.
Ravi
@Ravi maaf, Anda benar, tar GNU akan menulis daftar ke stdout ketika v dan f digunakan bersama-sama. Ini bertentangan dengan standar tertulis untuk tar. Akan mencoba mereproduksi masalah Anda. Direktori apa itu z1 dan z2? Disk RAM CD langsung atau drive USB? Jika USB, Apa jenis sistem file (ext3, vfat)?
Mark Plotnick

Jawaban:

10

Saya bisa mereproduksi ini. Itu bug.

Pada live CD Ubuntu, sistem file yang berisi direktori home pengguna default adalah tipe overlayfs , yang mengklaim mendukung inotify tetapi tidak.

Jadi tail -fpada file overlay, coba gunakan inotifydan kemudian tidak mendapatkan pemberitahuan ketika file telah berubah.

Laporan bug Ubuntu untuk ini adalah Bug # 882147: overlayfs tidak mengimplementasikan antarmuka inotify dengan benar . Solusi yang dikutip dalam laporan bug itu, dari Jim Meyering melalui Andrea Ranieri, adalah untuk digunakan

tail -f ---disable-inotify file

(Benar-benar ada tiga tanda hubung di sana.)

Tandai Plotnick
sumber