.nfs0000000000b869e300000001 この表示された迷子になったファイルを削除します。

.nfs0000000000b869e300000001 この表示された迷子になったファイルを削除します。

ファイルを削除しましたが、次のように表示されます。

$ ls
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

これはどういう意味ですか?私は何をすべきですか?

ベストアンサー1

ファイルがプロセスによって開かれている間は、ファイルを削除できます。これが発生すると、ディレクトリエントリは削除されますが、ファイル自体(inodeと内容)はそのまま残ります。ファイルは、もはやリンクがなく、どのプロセスでも開かない場合にのみ実際に削除されます。

NFSは状態非保存プロトコルです。ジョブは前のジョブとは独立して実行できます。サーバーを再起動することもできますが、オンラインに戻ってもクライアントは以前と同じようにファイルにアクセスできます。これを機能させるには、ファイルを開いて取得したハンドル(サーバーが再起動すると忘れてしまう)ではなく名前でファイルを指定する必要があります。

2つをまとめると、クライアントがファイルを開いて削除するとどうなりますか?このファイルはアーカイブする必要があります。名前、開いたクライアントが引き続きアクセスできるようにします。ただし、ファイルが削除されると、その後、その名前のファイルが存在しないことが予想されます。したがって、NFSサーバーは削除開いたファイルを次に変換名前変更:ファイル名が.nfs….nfs後に文字と数字が続く)に変更されます。

これらのファイルは削除できません(試してみると、.nfs…新しいファイルは別のサフィックスとして表示されます)。ファイルを開いたクライアントがファイルを閉じると、最終的に消えます。 (ファイルを閉じる前にクライアントが消えると、サーバーがそれを認識するまでにしばらく時間がかかることがあります。)

おすすめ記事