軟體包 「被標記為手動安裝」?這是什麼意思?
如果你使用 apt
命令在終端中安裝軟體包,你將看到各種輸出。
如果你注意並查看輸出,有時你會注意到一條消息:
package_name set to manually installed
你有沒有想過這條消息是什麼意思,為什麼你沒有在所有包上看到它?讓我在本篇中分享一些細節。
理解 「軟體包被標記為手動安裝」
當你嘗試安裝已安裝的庫或開發包時,你會看到此消息。此依賴包是與另一個包一起自動安裝的。如果刪除了主包,則使用 apt autoremove
命令刪除依賴包。
但是由於你試圖顯式安裝依賴包,你的 Ubuntu 系統認為你需要這個包獨立於主包。因此,該軟體包被標記為手動安裝,因此不會自動刪除。
不是很清楚,對吧?以 在 Ubuntu 上安裝 VLC 為例。
由於主 VLC 包依賴於許多其他包,因此這些包會自動安裝。
如果你檢查名稱中包含 vlc
的 已安裝軟體包列表,你會看到除了 VLC,其餘都標記為「自動」。這表明這些軟體包是(跟著 vlc)自動安裝的,當 VLC 被卸載時,它們將使用 apt autoremove
命令自動刪除。
現在假設你出於某種原因考慮安裝 vlc-plugin-base
。如果你在其上運行 apt install
命令,系統會告訴你該軟體包已安裝。同時,它將標記從自動更改為手動,因為系統認為在嘗試手動安裝表明你明確需要此 vlc-plugin-base
。
可以看到它的狀態已經從 [installed,automatic]
變成了 [installed]
。
現在,讓我刪除 VLC 並運行 autoremove
命令。你可以看到 vlc-plugin-base
不在要刪除的軟體包列表中。
再次檢查已安裝軟體包的列表。vlc-plugin-base
仍然安裝在系統上。
你可以在這裡看到另外兩個與 VLC 相關的包。這些是 vlc-plugin-base
包的依賴項,這就是為什麼它們也存在於系統上但標記為 automatic
的原因。
我相信現在有了這些例子,事情就更清楚了。讓我給你一個額外的技巧。
將包重置為自動
如果包的狀態從自動更改為手動,你可以通過以下方式將其設置回自動:
sudo apt-mark auto package_name
結論
這不是一個重大錯誤,也不會阻止你在系統中進行工作。但是,了解這些小事會增加你的知識。
好奇心可能會害死貓,但它會讓企鵝變得更聰明。這是為這篇原本枯燥的文章增添幽默感的原始引述 : )
如果你想閱讀更多這樣的文章,這些文章可能看起來微不足道,但可以幫助你更好地了解您的 Linux 系統,請告訴我。
via: https://itsfoss.com/package-set-manually-installed/
作者:Abhishek Prakash 選題:lkxed 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive