Проблема с использованием подстановочного знака с apt

Проблема с использованием подстановочного знака с apt

Когда я запускаю эту команду:

apt install libkf5*

Я получаю следующую ошибку:

Unable to locate package libkf5*


Я уверен, что пакеты, имена которых начинаются с libkf5существуют (табуляция говорит об этом). Так что проблема не в отсутствии этих пакетов. (Обратите внимание на звездочку в конце сообщения об ошибке, подстановочный знак вообще не работает).
Я использую aptv.1.9.
Заранее спасибо.

решение1

Последние версииapt изменился способ указания шаблонов, и aptбольше не поддерживает регулярные выражения напрямую или подстановочные знаки, за исключением *тех, для которых поддержка былавосстановлено в 2.1.0иперенесено на версию 2.0.3.

Теперь вам следует использовать

apt install '~nlibkf5.*'

с apt между 1.9.9 и 2.0.2, или длинная форма

apt install '?name(libkf5.*)'

доступно немного раньше.

Видетьapt-patternsстраница руководства( man apt-patterns) для получения подробной информации.

решение2

apt-getДля этой цели по-прежнему можно использовать обычную краску .

Для примера ОП это будет выглядеть так

sudo apt-get install "libkf5*"

решение3

Согласно списку изменений apt,версия 2.1.0:

* Reinstate * wildcards (Closes: #953531) (LP: #1872200)

(Ссылка: Launchpad#1872200)

Звездочка (и только звездочка) восстановлена ​​для всех aptподкоманд, включая apt install.

Хотя версия 2.1.0 слишком нова для поставки в Focal, она была перенесена на2.0.3который доступен в focal-proposedрепозитории. Вы можете обратиться кУбунту Викидля включения предлагаемого репозитория, а затем вы можете установить apt 2.0.3, в котором эта функция уже портирована.

Посмотреть на себя:

изображение

Примечание: Возможно, вам захочется прочитатьЧто такое «предлагаемый» репозиторий?прежде чем приступить к работе с предлагаемым репозиторием.

решение4

Я нашел небольшой трюк, который можно использовать aptс подстановочным знаком. Нам просто нужно сделать псевдоним aptс apt-get, но этот метод не работает, потому что псевдонимы не передаются в sudo. Чтобы обойти эту проблему, вы можете добавить второй псевдоним для sudoв свой .bashrcфайл:

alias sudo='sudo ' # whitespace is important 
alias apt='apt-get'

Кредиты:

Связанный контент