Я хочу удалить libreoffice. Эта программа состоит из около трех десятков модулей. В идеале их можно удалить с помощью:
aptitude remove libreoffice3.6* libreoffice-debian-menus libobasis3.6-*
, но это не с
Couldn't find any package whose name or description matched "libreoffice3.6*"
и т. Д.
Как мне удалить набор пакетов по шаблону?
PS: я доволен ответами с использованием dpkg
или apt
, тоже
Используйте apt-get
, а не aptitude
, и используйте регулярные выражения.
В регулярном выражении .
означает любой символ, а *
означает ноль или более раз. Таким образом, выражение libreoffice.*
соответствует любому имени пакета, содержащему строку libreoffice
, за которой следует любое количество символов.
Обведите регулярное выражение одинарными кавычками, чтобы избежать интерпретации звездочкой оболочки. (Если бы у вас был файл с именем libreoffice.example
, например, в вашем текущем каталоге, оболочка заменила бы libreoffice.*
на libreoffice.example
, поэтому вы должны использовать одинарные кавычки, чтобы остановить это поведение.)
Результат:
sudo apt-get remove 'libreoffice.*'
Aptitude поддерживает глобальные шаблоны, и еще одно довольно классное совпадение выглядит так:
aptitude remove '?and(?name(libreoffice), name(3.6), ~i)' libreoffice-debian-menus
Это будет соответствовать любому пакету с его именами libreoffice
и 3.6
, а также установленному (это что означает ~i
.
Альтернатива:
dpkg -l | grep libreoffice | awk '{print $2}' | xargs -n1 echo
Это перечислит все пакеты, соответствующие libreoffice
. Когда вы подтвердите, что это все, от кого вы хотите избавиться, выполните следующую команду ... с осторожностью :
dpkg -l | grep libreoffice | awk '{print $2}' | xargs -n1 sudo apt-get purge -y
libreoffice
-n1
, хорошо для echo
, но необходимо удалить его из чистки; иначе порядок зависимости (зависеть от b, попытки удалить b сначала) мог бы повредить чистку.
– acdx
18.05.2020, 08:00
-p
опция так, чтобы xargs
запросил подтверждение прежде, чем выполнить каждую команду, созданную, или сначала свериться echo
вместо sudo apt-get purge
– Ian Clelland
18.05.2020, 08:01
-p
помог бы, но это wouldn' t быть командой с одним выстрелом. Я действительно использовал echos для тестирования то, что я получал прежде, чем выполнить команду, таким образом, that' s стоящий рекомендации.
– jathanism
18.05.2020, 08:02