我怎样才能一次性获取 apt 中可用软件包的*所有*信息?

我怎样才能一次性获取 apt 中可用软件包的*所有*信息?

我想获取 apt 中所有可用软件包的详细信息,而无需安装它们。我知道这apt-cache search .会给我所有可用软件包的列表和描述。但是,我对相同的列表感兴趣,但包含最新版本。这可能吗?

我还知道我可以循环遍历软件包名称并运行apt-cache show pkgName,但我不想对 apt-cache 进行多次查询。我只想查询一次,或者使用其他可以提供此信息的工具或其他可用资源。

编辑:我希望每行的输出都是这样的:

package1, version
package2, version
...

并且version,是 apt 存储库中可用的最新版本。

答案1

对你的问题的一个简单回答是使用dpkg而不是aptapt将很乐意完成所有的逻辑,并精确跟踪版本,这样你就不必处理这些繁琐的细节。

此特定命令显示当前安装的版本,不可用于升级(用于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/ /, /'

相关内容