Debian Ubuntu deb软件包状态标志详解
在 Debian/Ubuntu 系统中,dpkg -l 命令输出的状态标志实际上由 三个字母 组成(通常第三个字母为空白,所以大部分情况下看起来是两个字母)。
它们的结构如下:
- 第一位:Desired(期望状态)—— 你希望对这个软件包做什么。
- 第二位:Status(当前状态)—— 这个软件包现在的实际状态。
- 第三位:Error(错误标志)—— 只有出现严重问题时才会显示。
1. 常见状态组合(两字母)
除了 ii(正常安装)和 hi(锁定版本)之外,你在日常管理系统时最常遇到的组合如下:
| 状态组合 | 第一位 (期望状态) | 第二位 (当前状态) | 含义说明 |
|---|---|---|---|
rc |
r (Remove) |
c (Config-files) |
已卸载,但保留了配置文件。 通常是使用了 apt remove 但没用 apt purge。 |
un |
u (Unknown) |
n (Not-installed) |
未安装,且状态未知。 系统知道有这个包,但从未安装过它。 |
pn |
p (Purge) |
n (Not-installed) |
已彻底卸载。 软件包和它的所有配置文件都已经被清理干净。 |
iU |
i (Install) |
U (Unpacked) |
已解包,但未配置。 包已经下载并解压,但安装过程被中断或尚未完成配置。 |
iF |
i (Install) |
F (Half-configured) |
配置失败。 安装过程中执行配置脚本时发生了错误(通常伴随报错信息)。 |
ih |
i (Install) |
h (Half-installed) |
半安装状态。 安装过程在中途被意外中断(如断电、强制关闭终端)。 |
hn |
h (Hold) |
n (Not-installed) |
未安装,但被锁定。 阻止系统未来自动安装该软件包。 |
2. 状态字母详细拆解
如果你遇到了上面没列出的罕见组合,可以通过下面这个字母对照表自行拆解组合的含义:
第一位:期望状态 (Desired Action)
| 字母 | 英文全称 | 中文含义 |
|---|---|---|
u |
Unknown | 状态未知(通常指从未安装过) |
i |
Install | 想要安装该软件包 |
r |
Remove | 想要卸载该软件包(保留配置文件) |
p |
Purge | 想要彻底清除该软件包(连同配置文件一起删) |
h |
Hold | 锁定该软件包(保持当前版本,拒绝更新) |
第二位:当前状态 (Current Status)
| 字母 | 英文全称 | 中文含义 |
|---|---|---|
n |
Not-installed | 没有安装在系统上 |
i |
Installed | 已经成功安装并配置完毕 |
c |
Config-files | 只有配置文件残留在系统中 |
U |
Unpacked | 已经解包,但还没有配置 |
F |
Half-configured | 尝试了配置,但是中途失败了 |
h |
Half-installed | 尝试了安装,但是中途失败了 |
W |
Triggers-awaiting | 等待其他包的触发器响应 |
t |
Triggers-pending | 触发器已挂起,等待处理 |
第三位:错误标志 (Error Flag)
注:第三位平时是空白的,只有出错才会显示字母。
| 字母 | 英文全称 | 中文含义 |
|---|---|---|
R |
Reinst-required | 必须重新安装。 包损坏严重,必须先重装才能进行后续操作(常见组合如 iHR)。 |
留下评论