с использованием поиска apt-cache

9

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

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

Спасибо.

    
задан Jason Posit 22.05.2013 в 06:07
источник

3 ответа

11

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

    
ответ дан ssoto 22.05.2013 в 06:46
6

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

Согласно странице apt-cache man, /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)
...

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

    
ответ дан Kevin Bowen 22.05.2013 в 06:47
0

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

Чтобы выполнить поиск,

sudo aptitude search $keyword

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

sudo aptitude install
sudo aptitude update
sudo aptitude upgrade

Чтобы установить aptitude,

sudo apt-get install aptitude
    
ответ дан llt 22.05.2013 в 07:43