Як шукати доступні пакети з командного рядка?


584

Я успішно встановив деякі пакети, використовуючи командний рядок "sudo apt-get install ...", коли я заздалегідь знав, що ці пакети доступні. Але як я можу шукати або отримати список того, що є у сховищах?

Відповіді:


728

Для пошуку певного пакету за назвою чи описом:

У командному рядку використовуйте:

apt-cache search keyword

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

Наприклад, apt-cache search proxyвключає обидва ці пакети:

крихітний проксі - Легкий, не кешований, необов'язково анонімний HTTP-проксі
tircd - ircd проксі до API twitter

Примітка: список може бути довгим, тому ви можете передавати вихід, lessщоб зробити його прокручуваним по одній лінії або одному екрану за один раз, тобто apt-cache search something | less.

Щоб отримати список ВСІХ пакетів

apt-cache search .

Використовуйте Synaptic, якщо у вас увімкнено переадресацію X або на робочому столі

Synaptic часто є більш зручним способом зробити це, але для цього потрібен принаймні X-сервер (якщо ви не працюєте з робочим середовищем). При необхідності встановіть sudo apt-get install synaptic.

  • Synaptic на сервері ssh'd через переадресацію X:

    введіть тут опис зображення

  • Синаптичний запуск локально на Ubuntu Desktop:

    введіть тут опис зображення


@MarkThomas Спробуйте apt-cache policyтакож, це дає більше інформації про джерела.
yclian

наприклад apt-get, ви можете просто запустити apt-cacheбез будь-яких аргументів і отримати коротку інформацію про допомогу / шпаргалку. Ви завжди можете прочитати на ньому манжети для більш тривалої допомоги. (тобто man apt-cache)
pd12

Припустимо, що я досить дурний, щоб хотіти реалізувати результати apt install, чи є розумний спосіб це зробити? Вихід з цієї функції безладний. Можна було б використовувати перше слово з кожного рядка, але повинен бути простіший спосіб.
Делете

Ви також можете шукати в Інтернеті. packages.ubuntu.com
activedecay

Якщо вам потрібні лише назви всіх доступних пакетів, просто робітьapt-cache pkgnames
flaz14

42

Використовуючи aptitude, apt-cacheі aptвсі формати вихідних даних по-різному. (Жоден із них не вимагає використання під sudoчас пошуку пакету.) Я вважаю за краще використовувати aptйого для читання. Він виділяє назву пакета і ставить пробіл між різними пакетами. Він також [installed]вказав поруч із кожним пакетом, який уже встановлений. Використання:

apt search package-name

2
якщо я запускаю сказати "$ apt search firefox", це дає тони результатів виходу :(
user3804598

Ви можете звузити пошук чимось на кшталт:apt search firefox | grep -A 3 firefox
jbrock

1
Ще один варіант звуження пошуку: apt search ^firefoxабоapt search ^firefox$
jbrock

25

Ви також можете використовувати здатність з командного рядка:

aptitude search xxxxxx

2
Прикра в цьому - те, що Ubuntu, здається, не дає його вам за замовчуванням. До тих пір, поки я не дізнався про це apt-cache, я завжди робив це apt-get install aptitudeдля кожного нового встановленого ящика. Однак, оскільки я не можу знайти спосіб apt-cacheпоказати мені, чи встановлений він, я думаю, мені доведеться трохи продовжувати це робити :-)

2
@paxdiablo Просто створіть дворядковий скрипт оболонки (другий рядок як-небудь dpkg --list | grep "$1") або додайте функцію оболонки для цього ефекту у свій .bash_login... :-)
FooF

5

Інструмент командного рядка apt-кеш використовується для пошуку кешу програмного пакета програмного забезпечення. Простими словами, цей інструмент використовується для пошуку програмних пакетів, збору інформації про пакети, а також для пошуку того, які доступні пакети готові до встановлення в системах на базі Debian або Ubuntu.

Щоб дізнатись назву пакета та опис його перед встановленням, використовуйте прапор 'search'. Використовуючи "пошук" з apt-кешем, відобразиться список відповідних пакетів з коротким описом. Скажімо, ви хочете дізнатись опис пакета 'vsftpd', тоді команда буде.

Синтаксис:

apt-cache search SearchTerm
$ apt-cache search vsftpd

Можливим результатом буде:

vsftpd - lightweight, efficient FTP server written for security
ccze - A robust, modular log coloriser
ftpd - File Transfer Protocol (FTP) server
yasat - simple stupid audit tool

Для пошуку та списку всіх пакетів, що починаються з 'vsftpd', ви можете скористатися наступною командою.

$ apt-cache pkgnames vsftpd

Ви також можете запустити результати через більше, або навіть підкреслити. Наприклад:

apt-cache search firefox | grep plugin

3

Припустимо, що ви хочете зробити все це з терміналу, використовуйте наступне:

спочатку рекомендую оновити файли індексу пакета, щоб список усіх файлів у сховищі, яке ви збираєтеся створити, оновлений

sudo apt-get update

потім скористайтеся функцією " search regex", apt-cacheде "regex" означає "Regular Expression" і є шаблоном для пошуку. Для отримання додаткової інформації про шаблони пошуку ви можете знайти ручний регекс (7) за командою man 7 regexабо англійською мовою . Регулярний вираз змінної одно . буде достатньо

apt-cache search .

Наведене вище дасть ВСІ результати, але це не в будь-якому порядку, який є особливо корисним для перегляду.

Отже, нарешті, ми можемо сортувати за словниковим порядком, використовуючи sort -dта показуючи лише сторінку за часом, використовуючи less.

apt-cache search . |sort -d |less
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.