我知道进入
dpkg --get-selections "*" >pkg.list
给出了软件包列表,但我还想对每个软件包的功能进行简要说明/描述。有没有办法生成这样的描述?
答案1
对于如此多的包,我首先想到的是用它们创建一个变量:
下面将创建包变量并分配 dpkg 输出的所有包。
packages=$(dpkg --get-selections '*' | grep 'install' | cut -f1)
您可以通过在末尾添加额外的 grep 来进一步限制这一点,例如:
packages=$(dpkg --get-selections '*' | grep 'install' | cut -f1| grep 'wine')
将输出所有葡萄酒包。这仅适用于您只想查看特定包的情况。
此后我们使用 FOR 开始解析“packages”变量中的所有包:
for pack in $packages ; do apt-cache showpkg $pack; done
这将为我们提供找到的每个包的大量信息。如果你是资质然后您可以使用 aptitude 以更人性化的方式显示信息:
for pack in $packages ; do aptitude show $pack; done
如果您对输出满意,您可以进一步将其输出到文件中:
for pack in $packages ; do aptitude show $pack >> packages.txt; done
所有这些的复制/粘贴版本将是:
APTITUDE 版本
packages=$(dpkg --get-selections '*' | grep 'install' | cut -f1)
for pack in $packages ; do aptitude show $pack; done
APT-GET 版本
packages=$(dpkg --get-selections '*' | grep 'install' | cut -f1)
for pack in $packages ; do apt-cache showpkg $pack; done
如果您完成所有包,则需要一些时间才能将它们作为输出包含在文件中。