У меня есть сценарий, в котором я хотел бы удалить набор пакетов, которые могут или не могут быть установлены, и я хотел бы, чтобы apt-get удалил те, которые есть, и молча проигнорировал те, которые не были. Что-то вроде:
apt-get remove foo bar baz
который, если бы foo и bar были установлены, но baz не был установлен, удалил бы foo и bar без жалоб на baz. Есть ли способ сделать это?
Вещи, которые я пробовал, которые не работали, с cups-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
Я знаю, что мог бы сделать это с помощью сценария оболочки и некоторой магии dpkg --list
, но я бы хотел избежать любой сложности, которая не является абсолютно необходимой.