GNU/Linux >> Belajar Linux >  >> Ubuntu

Tidakkah `tail -f` Mengikuti Syslog Saat Menjalankan Live?

Saya ingin memantau /var/log/syslog untuk setiap perubahan dalam waktu nyata (atau dalam waktu beberapa detik), tetapi tail -f tidak akan memperbarui dengan perubahan baru.

Saya menjalankan Linux Mint 17 XFCE live berbasis Ubuntu sekarang, tetapi ini juga tidak berfungsi pada live iso Ubuntu, Xubuntu, atau Linux Mint Mate.

Saya sudah mencoba ini:

$ tail -f /var/log/syslog
$ tail -f --retry -s 1 /var/log/syslog
$ tail --follow=name /var/log/syslog
$ tail --follow=name --retry /var/log/syslog
$ tail --follow=name --retry -s 1 /var/log/syslog

Namun pada awalnya hanya menampilkan beberapa baris terakhir file, kemudian tidak ada pembaruan saat file bertambah (ketika, misalnya, mencoba memasang file kosong menghasilkan sekitar 15 baris kesalahan).

Sebenarnya, bahkan mencoba mengikuti file uji di folder rumah saya sepertinya tidak berhasil, menjalankan tail -f testfile dan kemudian (di terminal lain):
$ echo "new stuff" >> testfile
$ echo "new stuff2" >> testfile
$ echo "3" >> testfile
tidak menghasilkan pembaruan apa pun pada tail baik…
Tetapi jika saya meletakkan testfile di /tmp (dipasang pada tmpfs) maka tidak ikuti perubahan file.

Mengapa ekor tidak mengikuti?

Apakah ada yang aneh saat menjalankan siaran langsung, atau overlay yang melumpuhkan tail -f ? Dan ada saran bagaimana cara mengikuti log? (xwatch berfungsi dengan baik, ada yang lebih baik atau di terminal?)

Saya sudah mencoba menjalankan strace tail -f -s 1 testfile dan ini adalah beberapa baris keluaran terakhir, setelah write(1, adalah beberapa baris testfile yang ada :

write(1, "new1\n", 5new1
)                   = 5
fstat64(3, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
fstatfs64(3, 84, {f_type=0x1021994, f_bsize=4096, f_blocks=968776, f_bfree=461437, f_bavail=461437, f_files=203469, f_ffree=190635, f_fsid={0, 0}, f_namelen=255, f_frsize=4096, f_flags=1056}) = 0
inotify_init()                          = 4
inotify_add_watch(4, "testfile", IN_MODIFY|IN_ATTRIB|IN_DELETE_SELF|IN_MOVE_SELF) = 1
fstat64(3, {st_mode=S_IFREG|0644, st_size=22, ...}) = 0
read(4, 

Jawaban yang Diterima:

tail menggunakan inotify yang tidak bekerja dengan overlayfs Lihat laporan bug ini dan diskusi ini. @Xen2050 menunjukkan ---disable-inotify beralih ke tail Lihat solusi ini

Anda dapat menggunakan apt-src untuk menginstal coreutils source, dan kompilasi ulang tail dengan -UHAVE_INOTIFY


Ubuntu
  1. Ubuntu – Menjalankan Perintah Saat Cd/dvd/bd Dimasukkan?

  2. Bisakah Saya Memperbarui Sistem Dengan Live Cd?

  3. Konfirmasi Otomatis Saat Menjalankan Skrip Bash?

  1. Google Chrome Membiarkan Proses Hidup Setelah Ditutup?

  2. Ketika Saya Memulai Komputer, Itu Hanya Menampilkan Terminal?

  3. Kesalahan Saat Menjalankan Pembaruan Apt-get??

  1. Cara menggunakan perintah ekor di Ubuntu Linux

  2. Menyeret Jendela Apakah Laggy (jendela Tidak Mengikuti Mouse Saat Bergerak dengan Lancar)?

  3. Cara Menjaga Kontainer Docker Tetap Berjalan Saat Daemon Berhenti