Как найти пакеты для установки через apt-get
После выполнения man apt-get
и беглый поиск в гугле не понятно как я нахожу новые программы для установки (из интернета) используя apt-get
(который невероятно мощный и простой из другого дистрибутива Linux).
Я использую Ubuntu Server 8.04 LTS (унаследованная система, используемая для произвольной работы), поэтому нет графического интерфейса.
У кого-нибудь есть быстрый совет здесь?
9 ответов
Я всегда использую http://packages.ubuntu.com/
Также вы можете использовать apt-cache search
для поиска в командной строке. Или вы можете использовать менеджер пакетов GUI (Ubuntu Software Center / Synaptic) для поиска программного обеспечения.
Если вы ищете "Настройки 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
это двоичное имя для запуска программы.
В частности, для двоичных файлов существует приложение, которое запускается автоматически, если вы запускаете команду, которая не установлена. Например,
$ 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>
что может быть предпочтительнее, если вы действительно хотите использовать фильтры.
Я думаю, вы имеете в виду имя двоичной программы, включенной в пакет. Я использую эту технику, чтобы найти это:
просто введите 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
Но, в этом случае, я должен хотя бы знать название программы
Вы можете попробовать программу "aptitude" из командной строки. Это графический менеджер пакетов. Не забудьте добавить sudo в программу для любых реальных установок. "Способность судо". Вы также можете использовать aptitude так же, как apt-get; msgstr "установка sudo aptitude". Я предпочитаю apt-get для отдельных пакетов, имена которых я знаю.
Кроме того, вы просто в командной строке? Если у вас есть рабочий стол, вы можете использовать System -> Preferences -Synaptic или Ubuntu Software Center. Они функционируют почти одинаково, но у них более простой поиск пакетов.
Вы можете получить (длинный) список устанавливаемых пакетов, набрав apt-get install
и затем дважды нажмите TAB (для автозаполнения). Это ограничено, потому что оно не говорит вам, что делают пакеты (Synaptic или Software Center было бы лучше для этого), но это может быть полезно, когда вы не можете вспомнить точное имя пакета. Вы также можете ввести первую часть имени пакета (например, openoffice
), чтобы получить более короткий список более подходящих пакетов.
Вы можете запустить (желательно в вашем ~/.bashrc)
. /etc/bash_completion
когда вы печатаете:
sudo apt-get in<hit tab twice here>
он предложит установить, а затем начать вводить часть имени - например, nvidia
и вы увидите доступные варианты, начиная с nvidia
Добавление дополнительной информации к ответу выше, который предлагает использоватьapt-cache search ...
.
Поскольку поиск apt-cache использует регулярное выражение, он выведет все пакеты, слова в которых соответствуют входным данным. Также по умолчанию apt-cache ищет как имена пакетов, так и их описания, чтобы они соответствовали входным данным.
Итак, для точного поиска package_name используйте--names-only
флаг и оберните имя_пакета между^
и$
apt-cache --names-only search "^package_name$"
Используйте инструмент командной строки, если вы знаете имя нужного вам пакета. Я не пользуюсь программным центром. Вы можете получить имя пакета через центр программного обеспечения и использовать его в терминале, если вам действительно нужно использовать инструмент apt-get из командной строки. И обычно имя пакета совпадает с именем программы.