Ubuntu配置dpkg失败报“Package dpkg is not configured yet.”求助
Ubuntu 22.04 dpkg组件故障修复
基础环境
- 系统版本:Ubuntu 22.04 Jammy,搭载Xfce桌面环境
- 内核版本:x86_64 Linux 5.15.0-23-generic
- 设备:HP248G1笔记本
- 已安装包数量:4191
- Shell版本:bash 5.1.16
- 桌面配置:Xfwm4窗口管理器,Sweet-Ambar窗口主题,Sweet-Dark GTK2主题,TheOne图标包,Noto Sans 10号字体
- 硬件配置:Intel Core i5-4200U处理器,Mesa Intel HD Graphics 4400核显,7871MiB内存,916G磁盘(已使用91%)
故障现象
- 执行以下包管理操作均会失败:
sudo apt upgradesudo apt install <任意包名>sudo apt remove <任意包名>sudo apt install -f
核心报错信息如下:
Setting up dpkg (1.21.1ubuntu2.1) ... head: error reading 'info.bak': Is a directory dpkg: error processing package dpkg (--configure): installed dpkg package post-installation script subprocess returned error exit status 1 Errors were encountered while processing: dpkg sudo apt update可正常运行,无报错- 执行
sudo dpkg --configure -a时,dpkg包自身无法完成配置,连带导致多个依赖包无法完成配置,报错如下:Setting up dpkg (1.21.1ubuntu2.1) ... head: error reading 'info.bak': Is a directory dpkg: error processing package dpkg (--configure): installed dpkg package post-installation script subprocess returned error exit status 1 dpkg: dependency problems prevent configuration of libdpkg-perl: libdpkg-perl depends on dpkg (>= 1.18.11); however: Package dpkg is not configured yet. dpkg: error processing package libdpkg-perl (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of dpkg-dev: dpkg-dev depends on libdpkg-perl (= 1.21.1ubuntu2); however: Package libdpkg-perl is not configured yet. dpkg: error processing package dpkg-dev (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of pkg-config: pkg-config depends on libdpkg-perl; however: Package libdpkg-perl is not configured yet. dpkg: error processing package pkg-config (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of libglib2.0-dev:amd64: libglib2.0-dev:amd64 depends on pkg-config; however: Package pkg-config is not configured yet. dpkg: error processing package libglib2.0-dev:amd64 (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent configuration of libdbus-1-dev:amd64: libdbus-1-dev:amd64 depends on pkg-config; however: Package pkg-config is not configured yet. dpkg: error processing package libdbus-1-dev:amd64 (--configure): dependency problems - leaving unconfigured dpkg: dependency problems prevent processing triggers for install-info: install-info depends on dpkg (>= 1.16.1); however: Package dpkg is not configured yet. dpkg: error processing package install-info (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for sgml-base: sgml-base depends on dpkg (>= 1.16.4); however: Package dpkg is not configured yet. dpkg: error processing package sgml-base (--configure): dependency problems - leaving triggers unprocessed Errors were encountered while processing: dpkg libdpkg-perl dpkg-dev pkg-config libglib2.0-dev:amd64 libdbus-1-dev:amd64 install-info sgml-base
已排查项
- 已执行
sudo chown root /修复根目录属主,故障无改善 - 已检查
/、/dev、/var三个核心目录权限,均为root属主、755权限,无权限异常,目录状态如下:File: / Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 801h/2049d Inode: 2 Links: 20 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) File: /dev Size: 4720 Blocks: 0 IO Block: 4096 directory Device: 5h/5d Inode: 1 Links: 21 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) File: /var Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 801h/2049d Inode: 5767169 Links: 15 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
故障根因
dpkg的postinst安装后脚本执行时,会调用head命令读取info.bak备份文件,当前dpkg工作目录/var/lib/dpkg/下存在一个同名的info.bak目录,导致head命令读取目标时识别到是目录而非文件,触发报错,中断dpkg自身的配置流程,连带所有依赖dpkg的包都无法完成配置。
修复步骤
- 进入dpkg工作目录,确认异常目录存在:
若输出开头为cd /var/lib/dpkg ls -ld info.bakd,即确认该路径为目录,是故障触发点。 - 将异常目录改名备份(不要直接删除,避免丢失历史数据):
sudo mv info.bak info.bak.corrupted - 重新执行dpkg配置流程,修复所有未完成配置的包:
sudo dpkg --configure -a - 执行依赖修复,验证包管理功能恢复正常:
所有命令执行无报错即修复完成。sudo apt install -f sudo apt update sudo apt upgrade
若完成上述操作后仍报同类错误,先切换到空目录
/tmp再执行dpkg相关命令,排查当前执行命令的工作目录下是否存在同名info.bak目录即可。
内容的提问来源于stack exchange,提问作者Mblizzard
相关产品推荐
相关产品推荐

