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