используя apt-cache search

Я учусь использовать apt. Когда я делаю apt-cache search git, чтобы увидеть все пакеты, соответствующие git, я вижу группу пакетов, описания которых не имеют ничего общего с git. Почему это так и как я могу это исправить? (Ubuntu 12.04.2 LTS).

Кроме того, почему функция поиска находится в команде, в имени которой содержится «кеш»? Какое отношение имеет функция поиска к кешам?

Спасибо.

10
задан 18.03.2020, 19:50

3 ответа

Когда вы выполняете команду apt-cache search <package name>, вы выполняете запрос к информации, хранящейся на вашем локальном компьютере, о доступных пакетах. Это кеш из ваших «подписанных» репозиториев. То есть команда выполняет запрос к репозиториям, которые вы настроили в USC (Ubuntu Software Center) или Synaptic.

Согласно справочной странице apt-cache, /etc/apt/sources.list - это место для получения информации в запросе. Есть несколько дополнительных мест для других типов информации о пакете. См. man apt-cache для более подробной информации.

По сути, запуск apt-cache search git вернет все экземпляры доступных пакетов, содержащих последовательность слов «git» в имени пакета, а также в описании пакета.

Например, это означает, что любой пакет, который может содержать последовательность слов «git» в нем, например слово «di git al», в его описании также будет возвращен в результате. Обратите внимание на жирный шрифт в предыдущем предложении.

Если вас интересуют только пакеты, которые конкретно связаны с git - менеджером управления версиями, вам нужно ограничить свой запрос использованием регулярного выражения, чтобы сделать результаты поиска более ограничительными.

Например:

sudo apt-cache search ^git$

будут возвращать результаты, которые явно содержат только фразу «git» в имени пакета.

Например:

sudo apt-cache search ^git$
git - fast, scalable, distributed revision control system

Команда: sudo apt-cache search ^git

будет возвращать результаты для пакетов, начинающихся с фразы «git»:

Например:

sudo apt-cache search ^git
git - fast, scalable, distributed revision control system
git-core - fast, scalable, distributed revision control system (obsolete)
git-doc - fast, scalable, distributed revision control system (documentation)
git-man - fast, scalable, distributed revision control system (manual pages)
gitk - fast, scalable, distributed revision control system (revision tree visualizer)
easygit - git for mere mortals
gforge-plugin-scmgit - Git plugin for FusionForge (transitional package)
git-all - fast, scalable, distributed revision control system (all subpackages)
git-annex - manage files with git, without checking their contents into git
git-arch - fast, scalable, distributed revision control system (arch interoperability)
...

Тем не менее, вам нужно будет настроить запросы кеша пакетов, чтобы они были более специфичны для ваших интересов. Надеюсь, это поможет.

6
ответ дан 18.03.2020, 19:51
  • 1
    Можно было получить более обобщенный результат поиска путем запущения поиска способного кэша запроса ^git?' – user278049 18.03.2020, 19:51
  • 2
    Ох. ^ пакеты средств и описания , которые запускаются с git. Хорошо, второй вывод понят. Таким образом, что делает ^git$ возврат? Пакеты, которые запускаются с git и...? – misterzik 18.03.2020, 19:52
  • 3
    @Alaa Думают о символах " ^" и " $ " как привязки к Вашему запросу. apt-cache search ^git$ возвратится, а именно, пакет мерзавца. apt-cache search ^git возвратит пакеты, которые начинаются с фразы " git" и будет менее конкретным. – tomcyjohn 18.03.2020, 19:52
  • 4
    " apt-cache search ^git$ только возвратит результаты, которые содержат " git" в пакете name". я don' t понимают это, потому что, например git-man (от второго вывода Вы отправили) также содержит git. Можно ли объяснить, что делает каре и средние символы $? Я знаю, что каре означает " начинает with" но тогда это противоречит со вторым выводом, который Вы отправили (вывод ^git), потому что it' s возврат easygit =). – Falkenfighter 18.03.2020, 19:52
  • 5
    Для имения более красочного вывода можно было улучшить команду с apt-cache search ^git | grep --color git – Daniel Iturriza 18.03.2020, 19:53

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

Для поиска,

sudo aptitude search $keyword

Другие команды

sudo aptitude install
sudo aptitude update
sudo aptitude upgrade

Для установки aptitude,

sudo apt-get install aptitude
0
ответ дан 18.03.2020, 19:51
  • 1
    help.ubuntu.com/community/MultiArch объясняет, как способность может использоваться для проблем мультидуги – m00am 18.03.2020, 19:52
  • 2
    Ясно. I' m пользователь способности, таким образом, можно ли указать на меня на статью, где она говорит, что это - проблематичное в системе мультидуги? Я, возможно, должен переключиться назад на способный - добираются тогда. – Johann Sonntagbauer 18.03.2020, 19:52
  • 3
    bugs.launchpad.net/ubuntu/+source/aptitude/+bug/831768 , это, кажется, было недавно зафиксировано. Я все еще осторожен. Debian рекомендует склонный - добираются также (документы для хрипящего) – mahmoud alaa 18.03.2020, 19:53
  • 4
    Следует иметь в виду, что способность может все еще быть проблематичной в системах мультидуги - так it' s хорошо для использования его для запросов/поисков, но не так для установки/удаления пакетов. – Rene Cejas Bolecek 18.03.2020, 19:53
  • 5
    Та страница только упоминает aptitude why - как я сказал " используйте его для queries" - страница довольно стара также (отредактировал 08.02.2012) - таким образом, мое предупреждение все еще стоит. – Adam Cox 18.03.2020, 19:54

Если вы хотите выполнять поиск только по имени, используйте аргумент --names-only. Для получения дополнительной информации читайте man apt-cache, это было бы полезно.

12
ответ дан 18.03.2020, 19:52

Теги

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