我想获取 apt 中所有可用软件包的详细信息,而无需安装它们。我知道这apt-cache search .
会给我所有可用软件包的列表和描述。但是,我对相同的列表感兴趣,但包含最新版本。这可能吗?
我还知道我可以循环遍历软件包名称并运行apt-cache show pkgName
,但我不想对 apt-cache 进行多次查询。我只想查询一次,或者使用其他可以提供此信息的工具或其他可用资源。
编辑:我希望每行的输出都是这样的:
package1, version
package2, version
...
并且version
,是 apt 存储库中可用的最新版本。
答案1
对你的问题的一个简单回答是使用dpkg
而不是apt
。apt
将很乐意完成所有的逻辑,并精确跟踪版本,这样你就不必处理这些繁琐的细节。
此特定命令显示当前安装的版本,不可用于升级(用于apt list --upgradeable
此)
尝试dpkg -l | grep ii | awk '{print$2, $3}' | sed 's/ /, /'
- 用于
dpkg -l
获取软件包数据库中软件包和版本的完整列表 - 通过仅显示已安装的(ii)包来限制输出:
grep ii
- 使用 awk 仅打印第二列和第三列:
awk '{print$2, $3}'
- 使用 sed 插入逗号:
sed 's/ /, /'