我注意到,每当我使用该命令时,sudo apt-get -y autoremove
我需要的相当多的包都会在要删除的列表中。
在浏览了论坛上的一些帖子后,我发现该命令会删除已自动安装的软件包。为了防止软件包自动删除,我必须将其标记为
sudo apt-get install <package-name>
假设我有 120 个指定要自动删除的包。
如何使用单个命令将它们标记为手动安装?
答案1
将所有准备好自动删除的包存储在一个文本文件中,然后apt-mark manual
对这些包运行命令将其标记为手动安装。
for i in $(cat ~/Desktop/package.txt); do sudo apt-mark manual $i ; done
~/Desktop/package.txt
- 包含要设置为手动安装的软件包名称。
答案2
我不确定您是否理解 autoremove 在手册页中建议什么:
自动移除
autoremove is used to remove packages that were automatically installed to satisfy dependencies for other packages and are now no longer needed.
http://manpages.ubuntu.com/manpages/saucy/man8/apt-get.8.html
它们已经安装,因此“标记为已安装”,但它们不是必需的,因为它们是您已删除的软件包的依赖项。
如果您愿意,您可以将其删除,或者如果您不想删除它们,您可以保留它们。
如果您觉得有问题,我们需要有关您安装/删除的软件包的更多信息。也许 pastebin 是 autoremove 希望删除的软件包列表?
答案3
好吧,只需apt-get -s autoremove
从终端复制包列表并将其粘贴到后面sudo apt-get install
。