Подстановочные знаки Apt с исключением

Я пытаюсь установить все пакеты шрифтов , кроме fonts-mathematica . Как лучше всего это сделать?

Я начал с команды ниже:

apt-get -y install *fonts*

С уважением, j

2
задан 14 July 2020 в 23:11

1 ответ

Мы можем использовать apt новые паттерны. Для получения дополнительной информации используйте man apt-pattern .

Перечислите все пакеты, в именах которых содержатся «шрифты», и сосчитайте их:

$ apt list '~n.*fonts.*' 2> /dev/null | wc -l

573

Отфильтруйте вывод, используя grep , чтобы найти fonts-mathematica :

$ apt list '~n.*fonts.*' 2> /dev/null | grep -i mathematica

fonts-mathematica/focal 21 all
mathematica-fonts/focal 21 all

Чтобы исключить это:

$ apt list '~n.*fonts.* !?exact-name(fonts-mathematica)' 2> /dev/null | 
grep mathematica

mathematica-fonts/focal 21 all

Или даже исключить их обоих:

$ apt list \
'~n.*fonts.* !?exact-name(fonts-mathematica) !?exact-name(mathematica-fonts)' |
 grep mathematica

Итак, вот что вы ищете:

$ sudo apt install \
'~n.*fonts.* !?exact-name(fonts-mathematica) !?exact-name(mathematica-fonts)'

И это определенно закончится множество конфликтов.

Что мы можем сделать, это сформировать список всех этих пакетов:

$ apt list \
'~n.*fonts.* !?exact-name(fonts-mathematica) !?exact-name(mathematica-fonts)' | 
cut -f1 -d/ > 2>/dev/null fonts_lists

Или даже более понятным способом:

$ apt-cache search --names-only fonts | grep -v -e fonts-mathematica -e mathematica-fonts | cut -f1 -d' ' > fonts_list

Затем используйте руководство, подобное этому: « Продолжать при ошибке, когда apt-get обнаруживает, что установка не может обнаружить проблему с пакетом ", чтобы установить их один за другим.

2
ответ дан 30 July 2020 в 22:07

Другие вопросы по тегам:

Похожие вопросы: