Não é possível ver a progressão de um arquivo com 'tail -f'

9

É uma surpresa por que agora tail -f não está funcionando enquanto era anterior.

Eu tenho o comando abaixo para executar o backup.

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

Para ver a saída e o erro, existem esses dois arquivos z1 e z2 .

Agora quero ver a saída do comando em um terminal do arquivo z1:

ubuntu@ubuntu:~$ tail -f z1

mas este comando não mostra os dados que estão sendo adicionados com o tempo.

Estou trabalhando na instalação ao vivo do Ubuntu 14.04.1 usando pen drive usb. Esta pode ser a razão?

    
por Ravi 31.07.2014 / 13:00

1 resposta

8

Eu posso reproduzir isso. É um bug.

Em um live CD do Ubuntu, o sistema de arquivos que contém o diretório pessoal do usuário padrão é overlayfs , que afirma apoiar inotify , mas não o faz.

Portanto, tail -f em um arquivo no overlayfs tenta usar inotify e, em seguida, não recebe nenhuma notificação quando o arquivo foi alterado.

O relatório de bug do Ubuntu para isso é Bug # 882147: o overlayfs não implementa as interfaces do inotify corretamente . Uma solução citada nesse relatório de bug, de Jim Meyering via Andrea Ranieri, é usar

tail -f ---disable-inotify file

(Existem três hífens lá.)

    
por 31.07.2014 / 20:04

Tags