Я учусь использовать apt. Когда я делаю apt-cache search git
, чтобы увидеть все пакеты, соответствующие git, я вижу группу пакетов, описания которых не имеют ничего общего с git. Почему это так и как я могу это исправить? (Ubuntu 12.04.2 LTS).
Кроме того, почему функция поиска находится в команде, в имени которой содержится «кеш»? Какое отношение имеет функция поиска к кешам?
Спасибо.
Когда вы выполняете команду 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)
...
Тем не менее, вам нужно будет настроить запросы кеша пакетов, чтобы они были более специфичны для ваших интересов. Надеюсь, это поможет.
Это косвенный ответ на ваш вопрос, но все же связанный с ним, поскольку речь идет об управлении пакетами. Я лично использую aptitude вместо apt-get. aptitude - это синаптический эквивалент терминала.
Для поиска,
sudo aptitude search $keyword
Другие команды
sudo aptitude install
sudo aptitude update
sudo aptitude upgrade
Для установки aptitude,
sudo apt-get install aptitude
aptitude why
- как я сказал " используйте его для queries" - страница довольно стара также (отредактировал 08.02.2012) - таким образом, мое предупреждение все еще стоит.
– Adam Cox
18.03.2020, 19:54
Если вы хотите выполнять поиск только по имени, используйте аргумент --names-only
. Для получения дополнительной информации читайте man apt-cache
, это было бы полезно.
^
пакеты средств и описания , которые запускаются сgit
. Хорошо, второй вывод понят. Таким образом, что делает^git$
возврат? Пакеты, которые запускаются сgit
и...? – misterzik 18.03.2020, 19:52apt-cache search ^git$
возвратится, а именно, пакет мерзавца.apt-cache search ^git
возвратит пакеты, которые начинаются с фразы " git" и будет менее конкретным. – tomcyjohn 18.03.2020, 19:52apt-cache search ^git$
только возвратит результаты, которые содержат " git" в пакете name". я don' t понимают это, потому что, напримерgit-man
(от второго вывода Вы отправили) также содержитgit
. Можно ли объяснить, что делает каре и средние символы $? Я знаю, что каре означает " начинает with" но тогда это противоречит со вторым выводом, который Вы отправили (вывод^git
), потому что it' s возвратeasygit
=). – Falkenfighter 18.03.2020, 19:52apt-cache search ^git | grep --color git
– Daniel Iturriza 18.03.2020, 19:53