
偶然、/usr/bin
セミコロンを含む数十個のファイルを見つけました;
。私の記憶が正しければ、そのようなファイルは、何らかのプログラムによって開かれたファイルに書き込まれたときに作成されます (例: OS の更新中)。ただし、これらは次回の再起動時に削除されると思っていました。しかし、私の場合、これらのファイルは開かれていません。
# find /usr -name \*\;\* | grep c++
/usr/bin/c++;5cf64746
/usr/bin/c++;5cfffc10
/usr/bin/c++;5cfb88d7
/usr/bin/c++;5cf8e8e4
/usr/bin/c++;5cfcd91f
/usr/bin/c++;5cc1f485
/usr/bin/c++;5cf4f405
/usr/bin/c++;5cfffc85
/usr/bin/c++;5cf7968b
/usr/bin/c++;5cfe28b9
/usr/bin/c++;5cff80b7
/usr/bin/c++;5cf57b84
/usr/bin/c++;5cfc4cbf
# lsof | fgrep /c++
Exit 1
質問:
これらのファイルを安全に削除してもよろしいでしょうか?
そもそも彼らはなぜここにいるのでしょうか?
コンピューターは一度もクラッシュしたことがなく、すべて正常に再起動しました。これは CentOS 7 システムです。更新プログラムは によってインストールされましたyum
。
多くのファイルは実際には同一です (ただし、すべての inode は異なります。確認しました)。
# ll /usr/bin/c++?5*
-rwxr-xr-x. 2 root root 772688 Mar 6 2018 /usr/bin/c++;5cc1f485
-rwxr-xr-x. 4 root root 772688 Apr 10 2018 /usr/bin/c++;5cf4f405
-rwxr-xr-x. 4 root root 772688 Apr 10 2018 /usr/bin/c++;5cf57b84
-rwxr-xr-x. 4 root root 772688 Apr 10 2018 /usr/bin/c++;5cf64746
-rwxr-xr-x. 4 root root 772688 Apr 10 2018 /usr/bin/c++;5cf7968b
-rwxr-xr-x. 4 root root 772688 Apr 10 2018 /usr/bin/c++;5cf8e8e4
-rwxr-xr-x. 4 root root 772688 Apr 10 2018 /usr/bin/c++;5cfc4cbf
-rwxr-xr-x. 4 root root 772688 Apr 10 2018 /usr/bin/c++;5cfb88d7
-rwxr-xr-x. 4 root root 772688 Apr 10 2018 /usr/bin/c++;5cfcd91f
-rwxr-xr-x. 4 root root 772688 Apr 10 2018 /usr/bin/c++;5cfe28b9
-rwxr-xr-x. 4 root root 772720 May 15 2018 /usr/bin/c++;5cff80b7
-rwxr-xr-x. 4 root root 772720 May 15 2018 /usr/bin/c++;5cfffc10
-rwxr-xr-x. 4 root root 772720 May 15 2018 /usr/bin/c++;5cfffc85
アップデートによる説明はまだ意味をなしていますか?
答え1
これらのファイルが作成された理由が分かりました。コンテナ(Linuxカーネルマウント(ファイルシステム)名前空間を特徴とする)で実行されているプロセスが、ファイアージェイルFirejail は、コンテナ内のプロセスがアクセスできないように、一部のファイル (実行可能ファイルやライブラリなど) をマスクします。そのため、これらのファイルはyum update
/によって削除されても Linux カーネルによって参照されたままになりますdnf update
。したがって、その時点では削除されません。
これは、再起動後、または実際には、それらを使用している最後のコンテナ プロセスが終了した後に、ファイルを安全に削除できることも意味します。
コンテナ/コンピュータをシャットダウンしてもこれらのファイルが削除されないのはなぜかという疑問が残ります。これは、これらのマシンのカーネル (ext4 ファイルシステム ドライバー?) で修正されていないバグではないかと思われます。