find: обнаружен цикл файловой системы

Когда я пытаюсь найти файл, используя find -name "filename" я получаю сообщение об ошибке:

 ./var/named/chroot/var/named' is part of the same file system loop as `./var/named' 

Я запустил команду ls -ldi /var/named/chroot/var/named/ /var/named и номера inode остались прежними. Исследование указывает, что исправление заключается в удалении жесткой ссылки /var/named/chroot/var/named/ using rm -f и воссоздании ее как каталога, но когда я это делаю, мне сообщают, что ее нельзя удалить, поскольку она является каталог уже. Как это исправить? Я запускаю Centos 6 с Plesk 11.

Команда mount дает следующее:

 /dev/vzfs on / type reiserfs (rw,usrquota,grpquota) proc on /proc type proc (rw,relatime) sysfs on /sys type sysfs (rw,relatime) none on /dev type tmpfs (rw,relatime) none on /dev/pts type devpts (rw,relatime) none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime) /etc/named on /var/named/chroot/etc/named type none (rw,bind) /var/named on /var/named/chroot/var/named type none (rw,bind) /etc/named.rfc1912.zones on /var/named/chroot/etc/named.rfc1912.zones type none (rw,bind) /etc/rndc.key on /var/named/chroot/etc/rndc.key type none (rw,bind) /usr/lib64/bind on /var/named/chroot/usr/lib64/bind type none (rw,bind) /etc/named.iscdlv.key on /var/named/chroot/etc/named.iscdlv.key type none (rw,bind) /etc/named.root.key on /var/named/chroot/etc/named.root.key type none (rw,bind) 

  • Не удается установить Snort 2.9.6.1 из-за «Не совместимой архитектуры»,
  • Присоединившись к пользователю AD, изменив на
  • Подключить сетевой сетевой диск к Linux в другом домене
  • Порт Ethernet не мигает в спящем режиме, хотя WOL включен
  • Как определить версию CentOS?
  • Невозможно установить nextcloud, несмотря на правильное разрешение
  • обновить версию chroot на centOS 5?
  • Требуется: perl (Compress :: Raw :: Zlib) = 2.052
  • 4 Solutions collect form web for “find: обнаружен цикл файловой системы”

    named , то есть DNS-сервер, работает в chroot. Чтобы получить доступ к конфигурационному файлу, сценарий запуска использует mount --bind чтобы сделать конфигурационный dir видимым внутри chroot. Это означает, что /var/named/ совпадает с /var/named/chroot/var/named и /var/named/chroot/var/named/chroot/var/named и так далее. Это рекурсивная структура каталогов, поэтому, если find попытался перекрыть все это, он никогда не сможет прекратить ее выполнение, поэтому он понимает, что оба каталога на самом деле одинаковы и печатает вам это сообщение, чтобы предупредить вас.

    Сообщение означает, что find не будет искать внутри /var/named/chroot/var/named потому что он понял, что он такой же, как и какой-то другой каталог, который уже видел раньше. Это абсолютно безобидное сообщение, вы можете смело игнорировать его: после пропуска /var/named/chroot/var/named операция find продолжается нормально.

    Я не думаю, что это жесткая связь. Обычно жесткие ссылки каталога запрещены. Я мог бы быть мягкой ссылкой, но похоже, что это контур монтирования: кажется, что /var/named или возможно /var снова монтируется на /var/named/chroot . Возможно, это привязка монтирования ( mount -o bind ) или просто обычная монтировка.

    Можете ли вы опубликовать вывод своей команды mount ? Кроме того, возможно, это гора, необходимая для тюрьмы chroot, и вам лучше оставить ее.

    Сообщение запускает код возврата 1 и не может быть проигнорировано, и перенаправление не работает.

    Использование findutils findutils-4.4.2-6.el6.x86_64

    Кажется, это соответствующий отчет об ошибке:

    В системах под управлением ядра Linux «find -printf% F» больше не производит неправильный ответ для файлов в файловых системах, которые были перемонтированы в другом месте с помощью «mount -bind». (Ошибка Саванны # 14921).

    Решение A (проблема с защитой), если вы не можете исправить затронутый скрипт (т. Е. Потому, что он был написан сторонней стороной), заключается в том, чтобы удалить пакет bind-chroot, по крайней мере временно.

    Проблема вызвана сценарием init named который монтирует каталог /var/named/chroot над /var/named/chroot . Решение этой проблемы также присутствует в скрипте init.

     mount_chroot_conf() { # Mount source is a directory. Mount it only if directory in chroot is # empty. 

    Как упоминалось выше, функция mount будет работать только в том случае, если каталог пуст. Поэтому используйте приведенное ниже решение:

    1. Стоп named
    2. Создайте каталог /var/named/chroot/var/named
    3. Создайте пустой файл внутри этого каталога
    4. Начать с named
    Linux и Unix - лучшая ОС в мире.