我如何找到要通过apt-get安装的软件包


67

在进行了man apt-get粗略的Google搜索之后,还不清楚如何找到要使用apt-get(从互联网上)安装的新程序的方法(这是另一个Linux发行版的强大而简单的功能)。

我正在使用Ubuntu Server 8.04 LTS(用于某些随机工作的继承系统),因此没有GUI。

有人在这里有快速建议吗?

Answers:


77

我总是使用packages.ubuntu.com

您也可以apt-cache search用于命令行搜索。或者,您可以使用GUI软件包管理器(Ubuntu软件中心/ Synaptic)来搜索软件。


如何从packages.ubuntu.com“导入”软件包?
Adi Shavit

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-settingsnvidia-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 Server设置”(实际名称),并且想知道apt-get名称:“ nvidia-settings”
2012年

3

您可以从命令行尝试程序“ aptitude”。它是一个图形化的程序包管理器。请记住将sudo附加到程序中以进行任何实际安装。'sudo aptitude'。您也可以像apt-get一样使用aptitude;“ sudo aptitude安装”。对于我知道名称的单个软件包,我更喜欢使用apt-get。

另外,您只是在命令行上吗?如果您有台式机,则可以使用系统->首选项-Synaptic或Ubuntu软件中心。它们的功能几乎相同,但是它们的包装搜索更为简单。


1
当我知道自己想要的但不知道软件包名称时,我发现紧随其后的Google软件中心对Google最为有用。(Meerkat软件中心是新的,经过改进的,并且使用Googly进行了更新)。
msw

该软件中心是Lucid Lynx的新产品吗?我继承了一个较旧的映像(Ubuntu Server 8.04 LTS)
r00fus 2010年

r00fus-我相信它已包含在Ubuntu 9.10中。
NightwishFan 2010年

2

您可以通过键入apt-get install 然后单击TAB两次(以获得自动完成功能)来获得(长)可安装软件包的列表。这是有限的,因为它不会告诉您软件包的功能(Synaptic或Software Center会更好),但是当您忘记了软件包的确切名称时,它会很有用。您也可以输入软件包名称的第一部分(例如openoffice),以获得更相关软件包的简短列表。


嗯..刚刚测试这似乎不起作用,当我双击选项卡时,似乎要用本地文件完成命令(例如:我看到.aptitude .bashrc .bash_history ...)
r00fus

真奇怪,我得到Display all 39603 possibilities? (y or n)其中列出的软件包列表。
dv3500ea 2010年

0

如果知道所需的软件包名称,请使用命令行工具。我不是,请使用软件中心。如果确实需要从命令行使用apt-get工具,则可以通过软件中心获取软件包名称并在终端中使用它。通常,程序包名称与程序名称相同。


0

您可以运行(最好在您的〜/ .bashrc中)

. /etc/bash_completion

当您键入:

sudo apt-get in<hit tab twice here>

它将建议安装,然后开始键入名称的一部分-例如nvidia

您将看到以nvidia开头的可用选项

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.