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

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

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

Спасибо.

10
задан 22 May 2013 в 15:05

4 ответа

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

0
ответ дан 22 May 2013 в 15:05

Когда вы выполняете команду 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)
...

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

0
ответ дан 22 May 2013 в 15:05

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

Для поиска,

sudo aptitude search $keyword

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

sudo aptitude install
sudo aptitude update
sudo aptitude upgrade

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

sudo apt-get install aptitude
0
ответ дан 22 May 2013 в 15:05

Установите apt-xapian-index и используйте поиск axi-кэша при поиске вместо Кв. - кэш. Вы получите намного лучшие результаты

0
ответ дан 11 October 2019 в 15:44

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

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