Я хочу удалить 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
, так что вы должны использовать одиночные кавычки , чтобы остановить это поведение.)Результат:
источник
libreoffice*
(то есть шаблонами стиля глобуса), который немного смущает меня, потому что ни один из них не должен работать :-)--dry-run
чтобы увидеть, что будет удалено без каких-либо изменений в системе.apt
используются регулярные выражения POSIX. Fromman apt-get
(Debian Jessie): "Если ни один пакет не соответствует данному выражению, и выражение содержит один из '.', '?' или '*' тогда предполагается, что это регулярное выражение POSIX ... "Альтернатива:
Это перечислит все соответствующие пакеты
libreoffice
. Когда вы подтвердите, что это все, от кого вы хотите избавиться, выполните следующую команду ... с осторожностью :Идея:
libreoffice
источник
-p
опцию, котораяxargs
будет запрашивать подтверждение перед выполнением каждой построенной команды, или сначала проверятьecho
вместоsudo apt-get purge
-p
бы помогла, но это была бы не однократная команда. Я использовал echos для проверки того, что я получал перед запуском команды, так что это стоит рекомендовать.-n1
это хорошо для,echo
но вы должны удалить его из чистки; в противном случае порядок зависимостей (a зависит от b, сначала пытается удалить b) может нарушить очистку.В Aptitude есть поддержка глобальных шаблонов, и еще одно довольно классное совпадение:
Это будет соответствовать любой пакет , который имеет в его имени
libreoffice
и ,3.6
а также он установлен (это то , что~i
стоит.источник