如何在命令输出中获取 .deb 包的全名

如何在命令输出中获取 .deb 包的全名

如果我只提供了软件包的名称,是否有任何命令可以返回 ubuntu 系统中 .deb 软件包的全名。我知道有一个命令可以提供有关软件包的信息,例如版本、体系结构等,但我需要单个输出中的全名,以便在我的 Web 应用程序中进一步使用。

例如:

$ some command Lighttpd
lighttpd_1.4.35-4ubuntu2_amd64.deb

答案1

运行以下命令

apt-cache show lighttpd | grep Filename

输出如下所示。

Filename: pool/universe/l/lighttpd/lighttpd_1.4.35-4ubuntu2_amd64.deb

下面的命令将只给你 deb 文件名,而不提供路径。apt可以使用命令代替apt-cache

apt-cache show lighttpd | grep Filename | rev | cut -d'/' -f 1 | rev

输出:

lighttpd_1.4.35-4ubuntu2_amd64.deb

答案2

简而言之,不是,因为已安装的 debian 包和安装它的文件名之间没有直接关联。

当然,您可以通过简单地组合已安装软件包数据库中有关软件包的各种详细信息来构造您给出的文件名,但这不一定是软件包来源文件的准确描述。您可以创建一个脚本,以多种不同的语言为您提供这个不准确的文件名。

相关内容