如何从存储库获取可安装包的列表?
我想安装一些软件包但不得不关闭我的笔记本电脑,因为我有一些家务要做。 我确实添加了软件包的存储库,忘了安装软件包。 由于我的浏览器历史记录在关闭时清除,我无法回想起他们的名字(我的名字很糟糕)。
我想知道是否有任何方法可以使用我的存储库查询所有可用的包(即我可以下载或已下载的包)?
获取这样一个列表的命令行方式是apt-cache :
apt-cache dump # short list apt-cache dumpavail # long list
由于有许多可用的包,这将花费一些时间。
您可以通过以下命令grep
Package:
:
apt-cache dumpavail | grep "Package:"
我个人查看我不记得的软件包的方法仍然是安装和运行Synaptic 它具有可搜索的GUI,也可用于安装和清除给定的包。
如果它在官方存储库中,您可以通过Web搜索或浏览所有可用的包: http : //packages.ubuntu.com/
Ubuntu 12.10的所有软件包: http : //packages.ubuntu.com/quantal/allpackages
当然,如果你记得任何相关内容,你可以运行apt-get update
和apt-cache search keyword
来搜索包。
如果它是PPA或第三方,您最好检查repo的URL并查看列表。 例如,卡桑德拉:
http://www.apache.org/dist/cassandra/debian/dists/11x/main/binary-amd64/
http://www.apache.org/dist/cassandra/debian/pool/main/c/cassandra/
如果您运行或添加〜/ .bashrc文件:
. /etc/bash_completion
然后你可以使用与Bash中的命令相同的方式对包进行名称自动完成。
例如:apt-get i first_couple_of_letters_of_package
击中TAB将提出可用的选择
可以在不搞乱系统配置的情况下完成:
InRealease
文件中提供了存储库的目标体系结构。
这特别有用,因为使用某些存储库管理软件,您无法对存储库进行http访问。
Rabbitmq repo的例子
deb https://packagecloud.io/rabbitmq/rabbitmq-server/debian/ stretch main
首先,获取InRelease
文件:
wget https://packagecloud.io/rabbitmq/rabbitmq-server/debian/dists/stretch/InRelease
找到所需文件(目标拱门)后,请执行以下操作:
wget -q -O- https://packagecloud.io/rabbitmq/rabbitmq-server/debian/dists/stretch/main/binary-amd64/Packages | grep -E 'Package|Version'