Pelo menos no Ubuntu 1 , /var/run
é um link simbólico para /run
$ ls -l /var/run
lrwxrwxrwx 1 root root 4 Jun 29 14:05 /var/run -> /run
O comando find
tem duas opções que controlam o tratamento de links simbólicos, conforme observado na página de manual:
-P Never follow symbolic links. This is the default behaviour.
-L Follow symbolic links.
Então, quando você executou find /var/ -name reboot-required
, o link não foi seguido e o arquivo não foi encontrado. Em contraste, quando você executou find /var/run/ -name reboot-required
, a pesquisa foi iniciada a partir do "outro lado" do link simbólico (como se você tivesse executado find /run -name reboot-required
) e, portanto, o arquivo foi encontrado.
Adicionar o sinal -L
deve resolver a ambiguidade, por exemplo
find -L /var/ -name reboot-required 2>/dev/null
[1] Na verdade, isso parece ser exigido pelo padrão Linux FHS 3.0 .