我想搜索哪个包提供了未安装的命令。
apt-cache search keyword
很好,但是搜索关键字可以是包名称的全部或部分或其描述中使用的任何单词,不一定是程序/命令的名称。
有没有更好的办法?
例如,我无法分辨哪个包包含该程序xlock
:
$ apt-cache search xlock
away - Terminal locking program
devrplay3 - rplay network audio system - basic library
librplay-perl - rplay network audio system - perl modules
librplay3 - rplay network audio system - shared libraries
librplay3-dev - rplay network audio system - development libraries
rplay-client - rplay network audio system - basic clients
rplay-contrib - rplay network audio system - contributed binaries
rplay-server - rplay network audio system - server
xautolock - Program launcher for idle X sessions
谢谢。
答案1
安装apt-file
sudo apt install apt-file
对其数据库进行初始更新
sudo apt-file update
然后(例如)
$ apt-file search 'bin/xclock'
x11-apps: /usr/bin/xclock
也可以看看如何找到提供文件的包?
答案2
通常在 Ubuntu 的默认安装中,当您在终端中输入未安装的命令时,您应该会得到提供该命令的软件包列表,或者如果未找到该特定命令,则得到类似名称的命令列表;似乎 Ubuntuxlock
主存储库中不再提供该命令。它适用于 12.04(http://manpages.ubuntu.com/manpages/precise/en/man1/xlock.1.html),但现在不再如此。
为了xlock
:
$ xlock
No command 'xlock' found, did you mean:
Command 'mlock' from package 'mlock' (universe)
Command 'xclock' from package 'x11-apps' (main)
Command 'vlock' from package 'vlock' (universe)
Command 'lxlock' from package 'lxlock' (universe)
Command 'wlock' from package 'sendfile' (universe)
Command 'slock' from package 'suckless-tools' (universe)
Command 'rlock' from package 'ruby-lockfile' (universe)
Command 'flock' from package 'util-linux' (main)
Command 'clock' from package 'xview-clients' (universe)
未安装但可用的示例:
$ rlock
The program 'rlock' is currently not installed. You can install it by typing:
sudo apt install ruby-lockfile
答案3
去packages.ubuntu.com并向下滚动到“搜索软件包内容”。在框中输入程序名称,然后单击“搜索”。将显示包含名为的文件的软件包列表,而无需安装apt-file
。
在这种情况下,就像这里的其他建议一样,它不会显示任何有用的信息。这是因为xlock
来自软件包xlockmore
,xlockmore
似乎自 precise(2012 年发布)以来就没有在 Ubuntu 中发布过,而 packages.ubuntu.com 仅包含受支持版本的信息,目前可追溯到 trusty(2014 年发布)。