Locate
locate 和 mlocate 的區別
我想安裝命令
locate
,可以通過sudo apt-get install
mlocate
.但是,我第一次執行
sudo apt-get install
*locate
*似乎安裝了其他東西。然而,鍵入命令
locate <package>
似乎要求*mlocate
*.包裹是什麼*
locate
*,可以(應該)安全地移除它嗎?
locate包是來自GNU findutils的locate的實現。mlocate包是相同概念的另一個實現,稱為mlocate。它們實現了相同的基本功能:基於(通常)每晚重建的索引快速查找文件名。除了基本用法之外,它們的某些功能有所不同。特別是,GNU locate 只建立一個世界可讀文件的索引(除非你從你的帳戶執行它),而 mlocate 建立一個所有文件的索引,但只讓呼叫使用者看到它可以訪問的文件。這使得 mlocate 在大多數情況下更有用,但在一些不由系統管理員執行的不尋常安裝中無法使用(因為
mlocate
必須是setuid root),並且存在安全風險。在 Debian 及其衍生版本下,如果同時安裝兩者,
locate
將執行mlocate
實現,而您需要locate.findutils
執行 GNU 實現。這是通過替代品管理的。如果您都安裝了它們,它們都會花時間重建各自的索引,但除此之外它們不會相互衝突。