Procurando serviço resolvido pelo sistema após a recente divulgação de vulnerabilidades, vi um comportamento muito estranho do comando find.
root@localhost:/# find . -name "*systemd-resolved*"
./usr/share/man/man8/systemd-resolved.service.8.gz
./usr/share/man/man8/systemd-resolved.8.gz
O comando retorna 0 ou duas linhas como saída para a primeira execução. Mas se eu executar o comando na segunda vez, recebo:
root@localhost:/# find . -name "*systemd-resolved*"
./usr/share/man/man8/systemd-resolved.service.8.gz
./usr/share/man/man8/systemd-resolved.8.gz
./lib/systemd/systemd-resolved
./lib/systemd/system/systemd-resolved.service.d
./lib/systemd/system/systemd-resolved.service
Isso significa que, pela primeira vez, "localizar" na verdade não encontra tudo. Além disso, isso acontece apenas uma vez. A execução do comando na próxima vez mostra a saída correta. Eu verifiquei isso em alguns outros sistemas com o Debian 8 (jessie) instalado. Nas pessoas com o Kernel 4.9+, esse problema exato sempre ocorre, mas nos sistemas com o kernel 3.16 isso não ocorre.
Após a reinicialização do sistema, tudo isso acontece novamente. Mas o comportamento é o mesmo para cada sistema individual. Isso significa que, se o teste em um sistema específico retornar (incorretamente) duas linhas de saída para a primeira execução e a saída correta para a segunda execução, a primeira execução do comando após a reinicialização do sistema imprimirá novamente duas linhas. Portanto, os sistemas mostram o mesmo comportamento após cada reinicialização (de acordo com meus testes). Os detalhes dos arquivos são os seguintes:
-rw-r--r-- 1 root root ./usr/share/man/man8/systemd-resolved.service.8.gz
lrwxrwxrwx 1 root root ./usr/share/man/man8/systemd-resolved.8.gz -> systemd-resolved.service.8.gz
-rwxr-xr-x 1 root root ./lib/systemd/systemd-resolved
drwxr-xr-x 2 root root ./lib/systemd/system/systemd-resolved.service.d
-rw-r--r-- 1 root root ./lib/systemd/system/systemd-resolved.service
EDIT: Para todos aqueles que sugerem o problema, talvez relacionados a este caso específico para esses arquivos específicos: " resolvido pelo sistema " é apenas um exemplo. Isso acontece ao pesquisar outras palavras-chave também. Este é outro exemplo que fornece resultados incorretos para a primeira execução:
root@localhost:/# find . -name "*apache*"
Ninguém aqui é capaz de verificar esse problema em um Debian 8 com o kernel mais recente do repositório de backport?
/lib/systemd
montado? Que tipo de sistema de arquivos é esse? Se for um ponto de montagem separado, a que horas foi montado?
strace
? Em qual SO você observou o comportamento defeituoso? O que você quer dizer com "retorna 0 ou dois resultados como acima"? Zero ou duas linhas de saída ou código de saída 0 + duas linhas? Isso acontece novamente depois de iniciar um novo shell ou reiniciar? Pode ser relevante que a primeira chamada retorne apenas arquivos, enquanto a segunda retorna arquivos e diretórios.