軟件包 “被標記為手動安裝”?這是什么意思?
如果你使用 apt 命令在終端中安裝軟件包,你將看到各種輸出。
如果你注意并查看輸出,有時你會注意到一條消息:
package_name set to manually installed
你有沒有想過這條消息是什么意思,為什么你沒有在所有包上看到它?讓我在本篇中分享一些細節(jié)。
理解 “軟件包被標記為手動安裝”
當你嘗試安裝已安裝的庫或開發(fā)包時,你會看到此消息。此依賴包是與另一個包一起自動安裝的。如果刪除了主包,則使用 apt autoremove 命令刪除依賴包。
但是由于你試圖顯式安裝依賴包,你的 Ubuntu 系統(tǒng)認為你需要這個包獨立于主包。因此,該軟件包被標記為手動安裝,因此不會自動刪除。
不是很清楚,對吧?以 在 Ubuntu 上安裝 VLC 為例。
由于主 VLC 包依賴于許多其他包,因此這些包會自動安裝。
installing vlc with apt ubuntu
如果你檢查名稱中包含 vlc? 的 已安裝軟件包列表?,你會看到除了 VLC,其余都標記為“自動”。這表明這些軟件包是(跟著 vlc)自動安裝的,當 VLC 被卸載時,它們將使用 apt autoremove 命令自動刪除。
list installed packages vlc ubuntu
現(xiàn)在假設你出于某種原因考慮安裝 vlc-plugin-base?。如果你在其上運行 apt install? 命令,系統(tǒng)會告訴你該軟件包已安裝。同時,它將標記從自動更改為手動,因為系統(tǒng)認為在嘗試手動安裝表明你明確需要此 vlc-plugin-base。
package set manually
可以看到它的狀態(tài)已經從 [installed,automatic]? 變成了 [installed]。
listing installed packages with vlc
現(xiàn)在,讓我刪除 VLC 并運行 autoremove? 命令。你可以看到 vlc-plugin-base 不在要刪除的軟件包列表中。
autoremove vlc ubuntu
再次檢查已安裝軟件包的列表。vlc-plugin-base 仍然安裝在系統(tǒng)上。
listing installed packages after removing vlc
你可以在這里看到另外兩個與 VLC 相關的包。這些是 vlc-plugin-base? 包的依賴項,這就是為什么它們也存在于系統(tǒng)上但標記為 automatic 的原因。
我相信現(xiàn)在有了這些例子,事情就更清楚了。讓我給你一個額外的技巧。
將包重置為自動
如果包的狀態(tài)從自動更改為手動,你可以通過以下方式將其設置回自動:
set package to automatic
結論
這不是一個重大錯誤,也不會阻止你在系統(tǒng)中進行工作。但是,了解這些小事會增加你的知識。