the*_*cer 124 command-line dpkg
我经常需要检查安装了哪些软件包,我使用以下命令:
dpkg -l | grep foo
这给出了以下输出
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
ii foo <version> <description>
Run Code Online (Sandbox Code Playgroud)
ii意思?谢谢。
hto*_*que 164
您可以在 dpkg -l 输出的头部找到此信息,因为它只是一种格式约定:
dpkg -l | head -3
Run Code Online (Sandbox Code Playgroud)
复制到这里供参考:
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
Run Code Online (Sandbox Code Playgroud)
从前三行可以看出:
第一个字母-> 所需的包状态(“选择状态”):
第二个字母-> 当前包状态:
第三个字母-> 错误状态(您通常不应该看到第三个字母,而是一个空格):
Pav*_* G. 32
第一个字母显示包裹的预期状态。
第二个字母显示包裹的当前状态。
例如:
ii表示“应该安装并已安装”,而
rc表示“已删除/卸载,但配置文件仍然存在”
小智 13
因为我的代表很低,我无法发表评论来回答人们关于从哪里获得这些信息的问题。在查看了 dpkg 和相关程序的 main.c 代码的源代码后,我找到了我要找的东西。
阅读 -l | 的信息 --list 输出在
man dpkg-query
Run Code Online (Sandbox Code Playgroud)
而不是在
man dpkg
Run Code Online (Sandbox Code Playgroud)
dpkg 在这些情况下仅充当前端