Как найти пакеты для установки через apt-get


67

После выполнения man apt-getпростого поиска в Google неясно, как я могу найти новые программы для установки (из Интернета) с помощью apt-get(что удивительно мощно и просто из другого дистрибутива Linux).

Я использую Ubuntu Server 8.04 LTS (унаследованная система, используемая для случайной работы), поэтому нет графического интерфейса.

У кого-нибудь есть быстрый совет здесь?

Ответы:


77

Я всегда использую packages.ubuntu.com

Также вы можете использовать apt-cache searchдля поиска в командной строке. Или вы можете использовать менеджер пакетов GUI (Ubuntu Software Center / Synaptic) для поиска программного обеспечения.


Как мне «импортировать» пакет из packages.ubuntu.com?
Ади Шавит

28

Если вы ищете «Настройки NVIDIA».

apt-cache search nvidia settings

Выход:

nvidia-settings - Werkzeug für die Konfiguration des NVIDIA-Grafiktreibers
nvidia-settings-updates - Tool of configuring the NVIDIA graphics driver

Вы видите 2 пакета nvidia-settingsи nvidia-settings-updates.

Найти связанный двоичный файл с пакетом nvidia-settings.

dpkg -L nvidia-settings | grep bin

Выход:

/usr/bin
/usr/lib/nvidia-settings/bin
/usr/lib/nvidia-settings/bin/nvidia-settings

nvidia-settings это двоичное имя для запуска программы.


8

В частности, для двоичных файлов существует приложение, которое запускается автоматически, если вы запускаете команду, которая не установлена. Например,

$ bonnie++
The program 'bonnie++' is currently not installed.  You can install it by typing:
sudo apt-get install bonnie++

Кроме этого, есть поиски: apt-cache search <query>или aptitude search <query>которые могут быть предпочтительнее, если вы действительно хотите использовать фильтры.


4

Я думаю, вы имеете в виду имя двоичной программы, включенной в пакет. Я использую эту технику, чтобы найти это:

просто введите dpkg -L <package-name>в терминал, он отобразит все файлы, установленные этим пакетом, а затем вы можете узнать имена двоичных программ, посмотрев их расположение. Обычно программы устанавливаются в /usr/binкаталог или /sbinкаталог.

Давайте посмотрим на пример:

anwar@edubuntu-lenovo:~$ dpkg -L gnome-screenshot 
/.
/usr
/usr/bin
/usr/bin/gnome-screenshot
/usr/share
/usr/share/GConf
/usr/share/GConf/gsettings
/usr/share/GConf/gsettings/gnome-screenshot.convert
/usr/share/applications
/usr/share/applications/gnome-screenshot.desktop
/usr/share/man
/usr/share/man/man1
/usr/share/man/man1/gnome-screenshot.1.gz
/usr/share/gnome-screenshot
/usr/share/gnome-screenshot/gnome-screenshot.ui
/usr/share/glib-2.0
/usr/share/glib-2.0/schemas
/usr/share/glib-2.0/schemas/org.gnome.gnome-screenshot.gschema.xml
/usr/share/doc
/usr/share/doc/gnome-screenshot
/usr/share/doc/gnome-screenshot/copyright
/usr/share/doc/gnome-screenshot/NEWS.gz
/usr/share/doc/gnome-screenshot/changelog.Debian.gz

Обратите внимание, что имя программы пакета gnome-screenshot gnome-screenshot.

Ты спрашивал

Есть ли какой-нибудь стандартный способ узнать <packageName>нужную программу?

Иногда терминал может сообщить вам имя пакета, которое необходимо установить, чтобы иметь желаемую программу. Это происходит, когда программа находится в стандартном репозитории, и вы включили этот репозиторий.

Например, если я наберу, gnome-documentsкогда такой пакет не установлен, терминал скажет:

anwar@edubuntu-lenovo:~$ gnome-documents
The program 'gnome-documents' is currently not installed.  You can install it by typing:
sudo apt-get install gnome-documents

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


Да, это похоже, но не то же самое, потому что он просто хочет найти новые программы / пакеты ... Хотя в моем случае я знаю имена пакетов и я хочу знать там имена apt-get ... т.е. как в примере, я знаю Имя пакета: «Настройки сервера NVIDIA X» (реальное имя) И хотите узнать имя apt-get: «Настройки NVIDIA»
Сэм

3

Вы можете попробовать программу «aptitude» из командной строки. Это графический менеджер пакетов. Не забудьте добавить sudo в программу для любых реальных установок. «Способность судо». Вы также можете использовать aptitude так же, как apt-get; msgstr "установка sudo aptitude". Я предпочитаю apt-get для отдельных пакетов, имена которых я знаю.

Кроме того, вы просто в командной строке? Если у вас есть рабочий стол, вы можете использовать System -> Preferences -Synaptic или Ubuntu Software Center. Они функционируют почти одинаково, но у них более простой поиск пакетов.


1
Центр программного обеспечения наиболее полезен для Google, когда я знаю, чего хочу, но не знаю названия пакета. (И Центр Программного обеспечения Meerkat новый, улучшенный и более Googly).
MSS

Центр программного обеспечения является новым для Lucid Lynx? У меня есть старое изображение, которое я унаследовал (Ubuntu Server 8.04 LTS)
r00fus

r00fus - он включен в Ubuntu 9.10.
NightwishFan

2

Вы можете получить (длинный) список устанавливаемых пакетов, набрав, apt-get install а затем TABдважды (для автозаполнения). Это ограничено, потому что оно не говорит вам, что делают пакеты (Synaptic или Software Center было бы лучше для этого), но это может быть полезно, когда вы не можете вспомнить точное имя пакета. Вы также можете ввести первую часть имени пакета (например openoffice), чтобы получить более короткий список более подходящих пакетов.


Хм ... только что проверил, что это не работает, когда я выполняю двойное нажатие, кажется, что мне нужно выполнить команду локальным файлом (например: я вижу .aptitude .bashrc .bash_history ...)
r00fus

Это странно, я получаю, Display all 39603 possibilities? (y or n)который дает список пакетов.
dv3500ea

0

Используйте инструмент командной строки, если вы знаете имя нужного вам пакета. Я не пользуюсь программным центром. Вы можете получить имя пакета через центр программного обеспечения и использовать его в терминале, если вам действительно нужно использовать инструмент apt-get из командной строки. И обычно имя пакета совпадает с именем программы.


0

вы можете запустить (желательно в вашем ~ / .bashrc)

. /etc/bash_completion

когда вы печатаете:

sudo apt-get in<hit tab twice here>

он предложит установить, а затем начать вводить часть имени - например, nvidia

и вы увидите доступные варианты, начиная с nvidia

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.