Поиск пакетов в репозитории Ubuntu
Обновлено: 21.11.2024
Это подробное руководство для начинающих по команде apt search. Используя команды apt search и apt show, вы можете получить подробную информацию о доступных версиях, зависимостях, репозиториях и другую важную информацию о пакетах в Ubuntu.
Вы когда-нибудь задумывались, доступен ли определенный пакет для установки с помощью диспетчера пакетов apt?
Задумывались ли вы, является ли пакет, предлагаемый репозиториями Ubuntu, последним или нет?
Диспетчер пакетов apt в Ubuntu и многих других дистрибутивах предоставляет для этой цели два удобных параметра команды apt.
Команда apt search ищет указанную строку в имени и описании пакетов.
Команда apt show предоставляет подробную информацию о пакете:
Команды не требуют наличия root-прав в Ubuntu. Вот пример этих команд:
Зачем использовать команду apt search или apt show?
Допустим, вы хотите установить язык программирования Gambas в Ubuntu. Вы довольны своим знанием команды apt, поэтому решили использовать командную строку для установки приложения.
Вы открываете терминал и используете команду apt для установки gambas, но в результате не можете обнаружить ошибку пакета.
Почему Ubuntu не нашла пакет gambas? Потому что нет такого пакета под названием gambas. Вместо этого он доступен как gambas3. Это ситуация, когда вы можете воспользоваться командой apt search.
Перейдем к команде apt show. Эта команда предоставляет подробную информацию о пакете, его репозитории, зависимостях и многом другом.
Знание того, какая версия пакета доступна в официальном репозитории, может помочь вам решить, следует ли устанавливать его из каких-либо других источников.
Менеджер пакетов apt работает с локальной базой данных/кэшем доступных пакетов из различных репозиториев. Эта база данных содержит информацию о доступной версии пакета, зависимостях и т. д. Она не содержит сам пакет целиком. Пакеты загружаются из удаленных репозиториев.
Когда вы запускаете команду sudo apt update, этот кеш создается/обновляется в каталоге /var/lib/apt/lists/. Команды apt search и apt show используют этот кеш.
Термин "пакет" используется для обозначения приложения, программы, программного обеспечения.
Поиск доступных пакетов с помощью команды apt search
Позвольте мне продолжить пример с гамбасом. Скажем, вы ищете
Он предоставит вам огромный список пакетов, в названии или описании которых есть слово "gambas". Этот список вывода находится в алфавитном порядке.
Теперь вам, конечно, придется сделать разумный прогноз относительно того пакета, который вы хотите. В этом примере первым результатом является «Полная визуальная среда разработки для Gambas». Это дает вам хороший намек на то, что это основной пакет, который вы ищете.
Почему так много пакетов, связанных с gambas? Потому что некоторые из этих пакетов gambas, вероятно, являются зависимостями, которые будут установлены автоматически, если вы установите пакет gambas3. Если вы используете команду 'apt show gambas3', она покажет все зависимости, которые будут установлены с пакетом gambas3.
Некоторые из перечисленных пакетов могут быть библиотеками, которые могут понадобиться разработчику в некоторых особых случаях при разработке его/его программного обеспечения.
Использовать apt search только для имени пакета
По умолчанию команда apt search ищет искомый термин как в названии пакета, так и в его описании.
Вы можете сузить область поиска, указав команде apt искать только имена пакетов.
Если вы следуете этому руководству, попробуйте. Проверьте вывод с поисковым запросом «transitional» с параметром –names-only и без него, и вы увидите, как изменится вывод.
Дополнительный совет: вы можете использовать команду apt list –installed для поиска установленных пакетов в Ubuntu.
Получить подробную информацию о пакете с помощью команды apt show
Выход apt search содержит краткое описание пакетов. Если вам нужны дополнительные сведения, используйте команду apt show.
Команда apt show работает с точным именем пакета и предоставляет гораздо больше информации о пакете. Вы получаете:
- Информация о версии
- Информация о репозитории
- Происхождение и ответственный за информацию о пакете
- Куда сообщить об ошибке
- Размер загрузки и установки
- Зависимости
- Подробное описание пакета
- И многое другое
Вот пример:
Необходимо указать точное имя пакета, иначе apt show не будет работать. Хорошо, что завершение табуляции работает с командой show.
Как видно на предыдущем изображении, у вас есть много информации, которая может оказаться полезной.
Команда apt show также работает с установленными пакетами. В этом случае вы можете увидеть, из какого источника был установлен пакет. Был ли это PPA или какой-то сторонний репозиторий, или юниверс, или сам основной репозиторий?
Лично я часто использую apt show. Это помогает мне узнать, является ли версия пакета, предоставленная Ubuntu, последней или нет. Довольно удобный инструмент!
Заключение
Если вы читали мое подробное руководство о разнице между командами apt и apt-get, вы бы знали, что эта команда «apt search» работает аналогично «apt-cache search». Не существует такой команды, как «apt-get search».
Цель создания команды apt — предоставить вам один инструмент с достаточным количеством опций для управления пакетами в вашей системе Debian/Ubuntu. Apt-get, apt-cache и другие инструменты apt все еще существуют, и их можно использовать в сценариях для более сложных сценариев.
Я надеюсь, что это введение в команды apt search и apt show было полезным для вас. Буду рад вашим вопросам и предложениям по этой теме.
Если вам понравилось, поделитесь им на различных форумах Linux и в сообществах, которые вы часто посещаете. Это очень помогает нам. Спасибо.
Здесь представлена информация обо всех пакетах, доступных в архиве пакетов Ubuntu.
Обзор списка пакетов:
Поиск
Поиск по каталогам пакетов
Доступны краткие поисковые запросы:
Поиск по содержимому пакетов
Механизм поиска позволяет искать в содержимом дистрибутивов Ubuntu любые файлы (или только части пути имени файла), которые включаются в пакеты. Также вы можете получить полный список файлов заданного пакета.
- Сегодня был заменен жесткий диск сервера после того, как он начал барахлить. Большинство вещей должно снова работать. Однако я случайно удалил информацию о новых пакетах, так что в ближайшие несколько дней она будет ненадежной.
- Добавлены edgy-backports на главную страницу и в формы поиска.
- Добавить дерзость. Изменения в новом выпуске уже были внесены несколько дней назад.
- Ссылки «Отчеты об ошибках» теперь правильно указывают на панель запуска для всех пакетов. Спасибо всем, кто сообщил мне об этой ошибке.
- Я добавил robots.txt, чтобы запретить некоторым людям пытаться зеркалировать сайт с помощью wget -r . Если по какой-либо причине вам необходимо отразить сайт, пожалуйста, свяжитесь со мной по почте, чтобы мы могли сделать это другими способами, которые не будут так сильно нагружать сервер.
- Просматривая статистику журналов, я заметил, что, по-видимому, packages.ubuntulinux.org также указывает на мой сервер без моего ведома. Я исправил конфигурацию apache, теперь он знает об этом и правильно обрабатывает.
- Ссылка на файл CSS на официальной домашней странице Ubuntu была плохой идеей, и когда страница исчезла, возникли некоторые сбои. К настоящему времени большинство проблем должно быть устранено.
- Приносим извинения за проблемы с производительностью сайта. Мой маленький сервер не всегда может справиться с большим количеством посещений этого сайта (около 2 000 000 в месяц). Думаю, в ближайшем будущем мне придется искать другое решение для хостинга.
- Файлы содержимого снова обновлены, поэтому я удалил все предупреждения и добавил соответствующие ссылки обратно
- Ссылки "Проверить отчеты об ошибках" теперь указывают на панель запуска для пакетов Universe/Multiverse. Предложено j -at-bootlab -dot-org.
- Наконец-то я перешел на "новый" макет. Приветствуются комментарии и исправления оставшихся особенностей.
- Я добавил на этот сайт предупреждение об устаревших файлах содержимого в архиве Ubuntu, из-за чего поиск содержимого становится совершенно бесполезным для чего-либо после варти. На самом деле я понятия не имею, кого спросить об этом, поскольку я не могу найти на веб-сайте Ubuntu, кто является ftp-мастером в Ubuntu?
- Теперь вы также можете просматривать пакеты из hoary-backports
Эта страница также доступна на следующих языках:
Авторские права © 1997 - 2013 Canonical Ltd.; См. условия лицензии. Ubuntu это торговый знак компании Canonical Ltd. Об этом сайте.
Я успешно установил некоторые пакеты с помощью командной строки 'sudo apt-get install packagename', хотя заранее знал, что эти пакеты доступны. Но как мне найти или получить список того, что доступно в репозиториях?
9 ответов 9
Чтобы найти конкретный пакет по имени или описанию:
В командной строке используйте:
где ключевое слово для поиска может быть полностью или частью имени пакета или любых слов, используемых в его описании.
Например, поисковый прокси apt-cache включает в себя оба этих пакета:
Примечание: список может быть длинным, поэтому вы можете направить вывод в less, чтобы он прокручивался по одной строке или по одному экрану за раз, т. е. apt-cache ищет что-то | меньше .
Чтобы получить список ВСЕХ пакетов
Используйте Synaptic, если у вас включена функция X-forwarding или вы используете компьютер
Synaptic часто является более удобным способом сделать это, но требует, по крайней мере, X-сервера на вашей стороне (если вы не используете среду рабочего стола). При необходимости установите с помощью sudo apt-get install synaptic.
Synaptic на сервере ssh через переадресацию X:
Synaptic работает локально на Ubuntu Desktop:
как и apt-get , вы можете просто запустить apt-cache без каких-либо аргументов и получить краткую справку/шпаргалку. Вы всегда можете прочитать справочные страницы для более подробной помощи. (т.е. man apt-cache )
Предположим, что я достаточно глуп, чтобы захотеть перенести результаты в apt install , есть ли разумный способ сделать это? Вывод этой функции беспорядочный. Можно использовать первое слово из каждой строки, но должен быть более простой способ.
При использовании aptitude , apt-cache и apt выходные данные форматируются по-разному. (Ни один из них не требует использования sudo при поиске пакета.) Я предпочитаю использовать apt из-за его удобочитаемости. Он выделяет имя пакета и ставит пробел между различными пакетами. Он также имеет [установлено] в списке рядом с каждым уже установленным пакетом. Использование:
@jbrock, если ваш вывод не tty, а канал, как в apt search firefox | grep -A 3 firefox, вместо этого вы должны использовать поиск apt-cache. Вывод инструмента apt предназначен для потребления человеком и может быть изменен без предварительного уведомления. Инструменты apt-get и apt-cache имеют стабильный вывод, который можно использовать в сценариях и конвейерах, подобных вашему.
Вы также можете использовать aptitude из командной строки:
Раздражает то, что Ubuntu, похоже, не предоставляет его вам по умолчанию. До тех пор, пока я не узнал об apt-cache , я всегда делал так apt-get install aptitude на каждом новом установленном устройстве. Однако, поскольку я не могу найти способ заставить apt-cache показать мне, установлен ли он, я думаю, что мне придется продолжать делать это некоторое время :-)
@paxdiablo Просто создайте двухстрочный сценарий оболочки (вторая строка, например, dpkg --list | grep "$1" ) или добавьте для этого функцию оболочки в свой .bash_login . :-)
Инструмент командной строки apt-cache используется для поиска подходящего кэша пакетов программного обеспечения. Проще говоря, этот инструмент используется для поиска пакетов программного обеспечения, сбора информации о пакетах, а также для поиска доступных пакетов, готовых для установки в системах на базе Debian или Ubuntu.
Чтобы узнать имя пакета и его описание перед установкой, используйте флаг «поиск». Использование «поиска» с apt-cache отобразит список совпадающих пакетов с кратким описанием. Допустим, вы хотите узнать описание пакета vsftpd, тогда будет команда.
Возможный вывод будет таким:
Чтобы найти и перечислить все пакеты, начинающиеся с «vsftpd», вы можете использовать следующую команду.
Возможно, вы также захотите запустить результаты с помощью команды more или даже команды grep. Например:
Предполагая, что вы хотите сделать все это из терминала, используйте следующее:
сначала я рекомендую вам обновить индексные файлы пакета, чтобы список всех файлов в репозитории, который вы собираетесь создать, был актуальным
затем используйте функцию "search regex" в apt-cache, где "regex" означает регулярное выражение и является шаблоном для поиска. Для получения дополнительной информации о шаблонах поиска вы можете найти ручное регулярное выражение (7) с помощью команды man 7 regex или на английском языке. Переменная регулярного выражения, равная . будет достаточно.
Приведенное выше даст вам ВСЕ результаты, но не в том порядке, который особенно удобен для просмотра.
Итак, наконец, мы можем сортировать по словарю, используя sort -d, и показывать только страницу за раз, используя less.
В следующей статье мы рассмотрим, как искать доступные пакеты из командной строки. Существует несколько способов поиска пакетов, доступных в Debian, Ubuntu или Linux Mint, из терминала. Эти пакеты можно найти благодаря apt, apt-cache и aptitude. Эти инструменты помогут нам при поиске имен пакетов и их описаний.Они также могут быть очень полезны, если мы ищем определенный пакет, но не знаем точного названия пакета или если нам нужен инструмент для определенной цели или задачи. Таким образом, мы сможем узнать доступные варианты.
Основные различия между использованием apt, apt-cache и aptitude для поиска доступных пакетов заключаются в их результатах и порядке, в котором эти пакеты классифицируются. Кроме того, aptitude может быть не установлен по умолчанию в вашем дистрибутиве Gnu/Linux на базе Debian. Если это ваш случай, вам придется установить его.
Из всех примеров, которые мы собираемся увидеть, apt-cache имеет самый простой для чтения вывод, так как обычно мне не нужна дополнительная информация. Чтобы увидеть установленные/доступные версии, вы можете использовать имя пакета политики apt-cache.
Еще одна вещь, о которой следует помнить, это то, что apt и apt-cache выполняют поиск в кэше программных пакетов apt, поэтому они возвращают оба пакета, доступные в репозиториях, например, установленные вручную пакеты DEB (недоступные в репозиториях). В случае aptitude возвращаются только те пакеты, которые доступны в репозиториях.
Оглавление
Поиск доступных пакетов из командной строки
Поиск доступных пакетов с помощью apt-cache
Как я уже писал, мы можем использовать apt-cache для поиска доступных пакетов в репозиториях Debian, Ubuntu или Linux Mint в дополнение к установленным пакетам DEB, которых нет в репозиториях. Используемый формат будет следующим:
Практический пример поиска пакета "nodejs" может выглядеть примерно так:
Как видно из предыдущего снимка, мне не удалось захватить все выходные данные, потому что они могут быть очень длинными.
Поиск доступных пакетов с помощью aptitude
В случае aptitude это интерфейс на основе Ncurses для apt. Этот инструмент обычно не устанавливается по умолчанию, но мы сможем установить его в Debian, Ubuntu, Linux Mint и других дистрибутивах Gnu/Linux на основе Debian, используя эту команду в терминале (Ctrl + Alt + T):
После установки мы сможем использовать aptitude для поиска пакетов из командной строки. Используемый формат будет примерно таким:
Практический пример поиска пакета "nodejs" может быть следующим:
Мы также сможем использовать пользовательский интерфейс aptitude Ncurses. Нам не нужно будет больше писать aptitude для его запуска:
Здесь мы можем искать пакеты, нажимая / и вводя ключевое слово для поиска.
Поиск доступных пакетов с помощью apt
Используя apt, мы можем искать доступные пакеты из командной строки следующим образом:
Просто нужно заменить слово ПОИСК на ключевое слово, которое нас интересует. Мы можем добавить несколько ключевых слов в кавычки.
Это будет пример поиска «nodejs» вместе с его выводом:
Еще раз, результатов так много, что я не смог запечатлеть их все на предыдущем изображении.
Сделайте результаты более удобными для чтения
В трех только что рассмотренных случаях результаты поиска могут быть очень длинными. Когда это так, мы сможем запускать их, используя Дополнительно рядом с командами. Это облегчит чтение, как показано ниже:
Мы также можем исключить результаты, которые не включают определенное ключевое слово (в данном примере SEARCH2), используя команду grep:
Grep по умолчанию чувствителен к регистру. Если мы добавим опцию -i, мы сможем игнорировать верхний и нижний регистр. Это будет выглядеть следующим образом: grep -i SEARCH2.
Содержание статьи соответствует нашим принципам редакционной этики. Чтобы сообщить об ошибке, нажмите здесь!.
Читайте также: