удалил бродячий файл и теперь вижу .nfs0000000000b869e300000001?

Я написал файл, и теперь вижу:

$ l total 64 -rw-rw-r-- 1 502 17229 Sep 17 16:42 page_object_methods.rb drwxrwxr-x 7 502 238 Sep 18 18:41 ../ -rw-rw-r-- 1 502 18437 Sep 18 18:41 new_page_object_methods.rb -rw-r--r-- 1 502 16384 Sep 18 18:42 .nfs0000000000b869e300000001 drwxrwxr-x 5 502 170 Sep 21 13:48 ./ 13:48:11 *vagrant* ubuntu-14 selenium_rspec_conversion 

и если я попытаюсь удалить его …

 $ rm .nfs0000000000b869e300000001 rm: cannot remove '.nfs0000000000b869e300000001': Device or resource busy 

Что это значит? Что мне делать

3 Solutions collect form web for “удалил бродячий файл и теперь вижу .nfs0000000000b869e300000001?”

Файл может быть удален, пока он открыт процессом. Когда это происходит, запись в каталоге удаляется, но сам файл (индекс и содержимое) остаются позади; файл действительно удаляется только тогда, когда у него больше нет ссылок, и он не открыт никаким процессом.

NFS – это протокол без состояния: операции могут выполняться независимо от предыдущих операций. Возможно, сервер перезагрузится, и как только он снова появится в сети, клиенты будут продолжать доступ к файлам, как и раньше. Для того, чтобы это сработало, файлы должны быть обозначены их именами, а не обработаны, полученные путем открытия файла (который сервер забыл при перезагрузке).

Разместите два вместе: что происходит, когда файл открывается клиентом и удаляется? Файл должен содержать имя, чтобы клиент, у которого он открыт, все равно мог получить к нему доступ. Но когда файл удаляется, ожидается, что после этого больше нет файла с таким именем. Таким образом, серверы NFS превращают удаление открытого файла в переименование: файл переименовывается в .nfs… ( .nfs за которым следует строка букв и цифр).

Вы не можете удалить эти файлы (если вы попытаетесь, все, что происходит, это то, что появляется новый .nfs… с другим суффиксом). В конечном итоге они уйдут, когда клиент, у которого открыт файл, закрывает его. (Если клиент исчезает перед закрытием файла, это может занять некоторое время, пока сервер не заметит.)

Некоторые другие процессы, вероятно, все еще используют файл (то есть имеют открытую дескриптор файла). Либо проигнорируйте файл, либо используйте lsof или подобное, чтобы попытаться найти, какой процесс открыл этот файл (или перезагрузите все!).

Поскольку NFS является «без гражданства», должен быть способ эмулировать метод UNIX для открытия файла, а затем удалить его, сохраняя открытую дескриптор файла.

Любая операция NFS-файла вызывает цепочку:

open(); seek-last-off(); doit(); close();

для запуска, и именно по этой причине NFS выживает при перезагрузке сервера.

После завершения процесса в клиенте, который старый файл открывается, файл исчезнет.

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

  • компиляция оболочки nginx не выполняется
  • Vagrant ssh не отображает командную строку
  • Как автоматически подать два аргумента в программу после запуска?
  • Vagrant не воспитывает eth1 на Xubuntu 16.04 гость
  • Запуск сценария оболочки с бродячим обеспечением
  • Собственность в общей папке NFS не изменяется в гостевой ОС в Vagrant
  • Передача ssh-agent для Vagrant VM
  • Как запустить Vagrant в качестве обычного пользователя в Fedora?
  • Утилиты VMWare останавливаются Работа над dist-upgrade
  • Vagrant: не удалось установить общую папку nfs (mount.nfs: операция не разрешена)
  • Interesting Posts

    Узнайте, какие процессы записываются на жесткий диск

    Как скопировать разметку раздела всего диска с помощью стандартных инструментов

    Как исправить ошибку загрузки UUID-диск не готов или нет, где не удалось загрузить microcode_amd.bin и HDIO_GET_IDENTITY?

    Как заставить iwconfig полностью работать с встроенным Linux

    Как я могу использовать grep для разбитых HTML-тегов?

    как отправлять собственные ftp-слова на один ftp-сервер?

    Тестирование файлов, содержащих определенные номера в его именах

    Модуль загрузки 8192cu не работает

    Fedora 20 Установка VMware Ошибка «C заголовков»?

    Что такое «правильный путь» для внесения изменений в /etc/resolv.conf с помощью /etc/resolv.conf.d?

    Могу ли я установить прокси для конкретных репозиториев yum?

    Как исправить сломанные стили GTK

    Беспроводное устройство не отображается

    Ведение сеанса экрана при выполнении сценария оболочки при загрузке

    Оценка использования файлового пространства на устройстве (не в каталоге)

    Linux и Unix - лучшая ОС в мире.