我可以刪除有分號的檔案嗎?在其中(由更新創建?)

我可以刪除有分號的檔案嗎?在其中(由更新創建?)

我偶然發現了幾十個文件中/usr/bin含有分號;。如果我沒記錯的話,這樣的檔案是在寫入某個程式開啟的檔案時所建立的(例如在作業系統更新期間)。但是,我認為這些會在下次重新啟動時被刪除。然而,就我而言,這些文件未開啟:

# 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

問題:

  1. 我可以安全地刪除這些文件嗎?

  2. 他們首先為什麼要來這裡?

電腦從來沒有當機過,都是乾淨重開機。它是CentOS 7系統。更新已安裝yum

許多文件實際上是相同的(儘管所有索引節點都不同,我檢查過):

# 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 檔案系統驅動程式?)中未修復的錯誤。

相關內容