Mam scenariusz, w którym chciałbym usunąć zestaw pakietów, które mogą lub nie mogą być zainstalowane, i chciałbym, aby apt-get usunął te, które są, i po cichu zignorował te, które nie są. Coś jak:
apt-get remove foo bar baz
który, gdyby zainstalowano foo i bar, ale nie był baz, usunie foo i bar bez narzekań na baz. Czy jest na to sposób?
Rzeczy, które próbowałem, ale nie działały, z cup-dbg jako moim faktycznie zainstalowanym pakietem kozła ofiarnego do usunięcia:
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
Wiem, że mógłbym to zrobić za pomocą skryptu powłoki i odrobiny dpkg --list
magii, ale chciałbym uniknąć złożoności, która nie jest absolutnie konieczna.