4.4 KiB
软件包 “set to manually installed”?这是什么意思?
如果你使用 apt 命令在终端中安装软件包,你将看到各种输出。
如果你注意并查看输出,有时你会注意到一条消息:
package_name set to manually installed
你有没有想过这条消息是什么意思,为什么你没有在所有包上看到它?让我在本篇中分享一些细节。
理解 “Package set to manually installed”
当你尝试安装已安装的库或开发包时,你会看到此消息。此依赖包是与另一个包一起自动安装的。如果删除了主包,则使用 apt autoremove 命令删除依赖包。
但是由于你试图显式安装依赖包,你的 Ubuntu 系统认为你需要这个包独立于主包。因此,该软件包被标记为手动安装,因此不会自动删除。
不是很清楚,对吧?以在 Ubuntu 上安装 VLC 为例。
由于主 vlc 包依赖于许多其他包,因此这些包会自动安装。
如果你检查名称中包含 vlc 的已安装软件包列表,你会看到除了 vlc,其余都标记为“自动”。这表明这些软件包是自动安装的(使用 vlc),它们将使用 apt autoremove 命令自动删除(当 vlc 被卸载时)。
现在假设你出于某种原因考虑安装 “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 包名
结论
这不是一个重大错误,也不会阻止你在系统中进行工作。但是,了解这些小事会增加你的知识。
好奇心可能会害死猫,但它会让企鹅变得更聪明。这是为这篇原本枯燥的文章增添幽默感的原始引述 :)
如果你想阅读更多这样的文章,这些文章可能看起来微不足道,但可以帮助你更好地了解您的 Linux 系统,请告诉我。
via: https://itsfoss.com/package-set-manually-installed/
作者:Abhishek Prakash 选题:lkxed 译者:geekpi 校对:校对者ID