比较来自世界各地的卖家的域名和 IT 服务价格

排序所有包的列表 (dpkg)

我想重置使用的系统中的所有已安装的软件包

dpkg

.

我仍然使用

dpkg -l

.

但他有一个缺点:结果的排序没有意义。

章节:

root@aptguettler:~# LANG=C dpkg-query -l| sort | head
+++-===========================================================-=================================================-============-================================================================================
Desired=Unknown/Install/Remove/Purge/Hold
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
ii a11y-profile-manager-indicator 0.1.10-0ubuntu3 amd64 Accessibility Profile Manager - Unity desktop indicator

尾巴:

root@aptguettler:~# LANG=C dpkg-query -l| sort | tail
rc texlive-publishers-doc 2015.20160320-1 all TeX Live: Documentation files for texlive-publishers
rc texlive-science 2015.20160320-1 all TeX Live: Natural and computer sciences
rc texlive-science-doc 2015.20160320-1 all TeX Live: Documentation files for texlive-science
rc tpconfig 3.1.3-15 amd64 touchpad device configuration utility
rc ttf-indic-fonts-core 1:0.5.14ubuntu1 all Core collection of free fonts for languages of India
rc ttf-punjabi-fonts 1:0.5.14ubuntu1 all Free TrueType fonts for the Punjabi language
rc unity-lens-friends 0.1.3+14.04.20140317-0ubuntu1 amd64 Friends scope for unity
rc webaccounts-extension-common 0.5-0ubuntu2.14.04.1 amd64 Ubuntu Online Accounts browser extension - common files
rc xfonts-mathml 6ubuntu1 all Type1 Symbol font for MathML
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend

我通过存储这个输出的故事

etckeeper

(相关问题答案
https://serverfault.com/questi ... eeper
).

这就是我想改进的内容:

线时间 ascii-art 不好。 删除。

前两个字符 (例如,

ii

) 您应该删除或出现在最后。

在基于的系统中 rpm

rpm -qa

确切地做了我需要的东西。
已邀请:

小姐请别说爱

赞同来自:

尝试

dpkg --get-selections | grep -v deinstall

如果您需要一个完整的输出包版本,可以执行以下操作:

dpkg -l | grep '^ii' | awk '{print $2 "\t" $3}'

它仅显示列 2 和 3. 它还列出了仅安装的软件包,而不是删除和其他包。

改变:另一种选择 - dpkg-query:

dpkg-query --show --showformat='${Package} ${Version}  ${Architecture} ${db:Status-Abbrev} \n'

在哪里 --showformat (或者 -f) 确定要显示的列,在这种情况下,包装,版本和架构和简要状态的名称 (例如, «ii» 和 «rc») 在最后, «\ n» 这是一排。

顺便一提, «ii» 定义已安装的软件包, «rc» - 这些是未指定的包,所以我使用了 grep 和 awk 过滤未认出的数据包。

如果您愿意,您可以添加列宽,如下所示:

dpkg-query --show --showformat='${Package;-50} ${Version;-40}  ${Architecture;-5} ${db:Status-Abbrev} \n'

负列宽意味着左侧的方向,正面 - 案子。

但是,要小心,因为如果宽度小于包名中的字符数,则会减少包名称。

我不确定为什么需要列表。 如果你只想有一个很好的可读名单,那就没有错了 awk 或者其他命令如果您想在另一台计算机上安装软件备份,

dpkg --get-selections

(没有管子) - 这就是你需要的,看
https://wiki.debian.org/ListInstalledPackages

要回复问题请先登录注册