我有一个场景,我想删除一组可能安装或可能没有安装的软件包,我希望apt-get删除那些那些并且默默地忽略那些不包含的软件包。就像是:
apt-get remove foo bar baz
如果安装了foo和bar但baz没有安装,那么就会删除foo和bar而不会抱怨baz。有没有办法做到这一点?
我尝试过的东西没有用,有了cup-dbg作为我的替罪羊实际安装的包被删除:
jcp@a-boyd:~$ sudo apt-get remove -y cups-dbg bogus-package
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package bogus-package
jcp@a-boyd:~$ sudo apt-get remove --ignore-missing cups-dbg bogus-package
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package bogus-package
jcp@a-boyd:~$ sudo apt-get remove --fix-broken cups-dbg bogus-package
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package bogus-package
我知道我可以用shell脚本和一些dpkg --list
魔法来做到这一点,但我想避免任何并非绝对必要的复杂性。
这个答案最终对我有用。愚蠢地解决了一个愚蠢的问题。请注意,Launchpad上确实存在缺陷,因此请随时提供帮助。
—
杰夫