LINUX.ORG.RU

Странное поведение find

 


0

1

Ubuntu 14.04.5 LTS

Запустил find по корню:

root@kinder:~# find / -name 'pyenv'

root@kinder:~# 

Ничего не нашёл. Я удивился, т.к. знал, что такая папка должна быть точно. Сделал более «широкий поиск»:

root@kinder:~# find / -name '*pyenv*'
/usr/local/pyenv_old
/usr/local/pyenv_old/test/pyenv.bats
[...]
/usr/local/pyenv_old/libexec/pyenv-version-origin
/usr/local/pyenv_old/libexec/pyenv-versions
/usr/local/pyenv_old/libexec/pyenv-completions
[...]
/usr/local/pyenv/libexec/pyenv-local
/usr/local/pyenv/libexec/pyenv-init
/usr/local/pyenv/libexec/pyenv
/usr/local/pyenv/bin/pyenv
/usr/local/pyenv/plugins/python-build/test/pyenv.bats
[...]

Файлы нашлись. Повторил поиск ещё раз по корню:

root@kinder:~# find / -name 'pyenv'
/usr/local/pyenv_old/libexec/pyenv
/usr/local/pyenv_old/bin/pyenv
/usr/local/pyenv
/usr/local/pyenv/libexec/pyenv
/usr/local/pyenv/bin/pyenv

Файлы нашлись, но далеко не все.

Как такое могло произойти?

Удается ли воспроизвести проблему? Если есть консистентное воспроизведение, например после перезагрузки, получается ли вопроизвести с ключом find -xdev ?

anonymous ()
Ответ на: комментарий от anonymous
Filesystem      Size  Used Avail Use% Mounted on
udev            7,9G  4,0K  7,9G   1% /dev
tmpfs           1,6G  812K  1,6G   1% /run
/dev/dm-0       162G  142G   12G  93% /
none            4,0K     0  4,0K   0% /sys/fs/cgroup
none            5,0M     0  5,0M   0% /run/lock
none            7,9G   68K  7,9G   1% /run/shm
none            100M     0  100M   0% /run/user
/dev/sda1       236M   40M  184M  18% /boot
kiaroot@kinder:~$ cat /proc/mounts 
sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
udev /dev devtmpfs rw,relatime,size=8204868k,nr_inodes=2051217,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
tmpfs /run tmpfs rw,nosuid,noexec,relatime,size=1643288k,mode=755 0 0
/dev/dm-0 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
none /sys/fs/cgroup tmpfs rw,relatime,size=4k,mode=755 0 0
none /sys/fs/fuse/connections fusectl rw,relatime 0 0
none /sys/kernel/debug debugfs rw,relatime 0 0
none /sys/kernel/security securityfs rw,relatime 0 0
none /run/lock tmpfs rw,nosuid,nodev,noexec,relatime,size=5120k 0 0
none /run/shm tmpfs rw,nosuid,nodev,relatime 0 0
none /run/user tmpfs rw,nosuid,nodev,noexec,relatime,size=102400k,mode=755 0 0
none /sys/fs/pstore pstore rw,relatime 0 0
/dev/sda1 /boot ext2 rw,relatime,block_validity,barrier,user_xattr,acl 0 0
binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,nosuid,nodev,noexec,relatime 0 0
systemd /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,name=systemd 0 0
tracefs /sys/kernel/debug/tracing tracefs rw,relatime 0 0
iljuase ★★ ()
Ответ на: комментарий от iljuase

А ты себе в PROMPT добавь вывод exit code последней исполненной команды - полезное дело, пригодится еще.

https://unix.stackexchange.com/questions/470018/set-last-command-exit-code-to-bash-prompt

А если по теме - старайся использовать find -xdev по-умолчанию если явно не нужно иного - есть предположение, что при прыжках по смонтированным фс, особенно если они какие-нибудь экзотические, он может вести себя странно. Пруфов не будет.

anonymous ()
Ответ на: комментарий от Shulman

Есть юзкейсы в которых locate с его регулярными перестроениями базы использовать категорически нельзя. Например, если между перестроениями меняется много мелких файлов. Или если их в принципе много. На десктопе - пожалуйста, только в прод каку не тащите.

anonymous ()
Ответ на: комментарий от anonymous

На десктопе - пожалуйста, только в прод каку не тащите.

Мы о десктопе, а ты о чем? locate удобней всего для поиска файлов, если они свежие, то updatedb конечно.

anonymous ()