E: Sub-process /usr/bin/dpkg returned an error code (1)解决办法

E: Sub-process /usr/bin/dpkg returned an error code (1)解决办法

安装libapache2-svn出现了这个错误,是由于apt-get安装软件时出现了类似于:

dpkg: error processing package libapache2-mod-svn (--configure):
 subprocess installed post-installation script returned error exit status 1
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          dpkg: dependency problems prevent configuration of libapache2-svn:
 libapache2-svn depends on libapache2-mod-svn; however:
  Package libapache2-mod-svn is not configured yet.

dpkg: error processing package libapache2-svn (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 libapache2-mod-svn
 libapache2-svn
E: Sub-process /usr/bin/dpkg returned an error code (1)

解决方法:

现将info文件夹更名

sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bk

新建一个新的info文件夹

sudo mkdir /var/lib/dpkg/info

安装修复

sudo apt-get update
sudo apt-get install -f 

执行完上一步操作后,在info文件夹下生成一些文件,现将这些文件全部移到info.bk文件夹下

sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info.bk

把自己新建的info文件夹删掉

sudo rm -rf /var/lib/dpkg/info

恢复原有info文件夹,修改名字

sudo mv /var/lib/dpkg/info.bk /var/lib/dpkg/info

到这里已经成功安装了,但我还遇到了相关文件的缺失,例如

/etc/apache2/mods-available/dav_svn.conf

但是现在至少能够正常安装了,直接索性卸载重装

sudo apt-get --purge remove libapache2-mod-svn 
sudo apt-get --purge remove libapache2-svn 
sudo apt-get autoremove

再install一边,恢复正常

<think>好的,我现在需要帮助用户解决backport-iwlwifi-dkms模块在kernel 5.15.0-134-generic上构建失败的问题。用户提到了Errno 17文件存在错误和DKMS错误。首先,我应该回忆一下常见的DKMS构建失败的原因,以及如何处理文件存在的错误。 首先,Errno 17通常意味着系统尝试创建一个已经存在的文件或目录。这可能是因为之前的构建尝试失败,残留了一些文件。所以,清理这些残留文件可能是第一步。用户提到的/var/crash下的crash报告,可能需要检查这些报告以获取更多信息,但用户可能没有权限或者需要手动删除。 接下来,DKMS错误通常与内核头文件缺失、依赖未满足或模块与内核版本不兼容有关。用户的内核版本是5.15.0-134-generic,需要确认是否安装了对应的linux-headers包。此外,backport-iwlwifi可能不支持较新的内核版本,可能需要检查是否有更新的版本或补丁。 步骤方面,我应该建议用户先清理残留的crash报告和DKMS旧的构建文件。然后,确保安装正确的linux-headers和构建工具,比如gcc、make等。之后,尝试重新安装或更新驱动。如果问题依旧,可能需要查看具体的日志文件,如/var/lib/dkms/backport-iwlwifi/.../make.log,以找到具体的编译错误。 另外,用户可能之前尝试过安装其他驱动,比如bcmwl-kernel-source,这可能导致冲突。需要建议用户卸载冲突的驱动,并重新配置系统。 如果所有步骤都失败,可能需要考虑降级内核版本,但这可能带来其他问题,所以应作为最后的手段。 现在,我需要将这些步骤结构化,用清晰的中文回答,并确保按照用户的要求使用正确的LaTeX格式,生成相关问题。同时,引用用户提供的错误日志中的引用标记[^1]。</think>### 解决方案分步说明 1. **清理残留文件和旧构建** - 删除冲突的crash报告文件: ```bash sudo rm -rf /var/crash/bcmwl-kernel-source.0.crash ``` - 重置DKMS构建环境: ```bash sudo dkms remove backport-iwlwifi/$(dkms status | grep backport-iwlwifi | awk -F', ' '{print $2}') --all sudo rm -rf /var/lib/dkms/backport-iwlwifi ``` 2. **验证内核头文件安装** - 确保内核版本与头文件匹配: ```bash uname -r # 查看当前内核版本(例如5.15.0-134-generic) sudo apt install linux-headers-$(uname -r) build-essential ``` 3. **处理驱动兼容性问题** - 移除可能冲突的旧驱动: ```bash sudo apt purge bcmwl-kernel-source ``` - 更新软件源并尝试重新安装: ```bash sudo apt update sudo apt install --reinstall backport-iwlwifi-dkms ``` 4. **手动编译调试** - 查看具体编译错误: ```bash cat /var/lib/dkms/backport-iwlwifi/$(dkms status | grep backport-iwlwifi | awk -F', ' '{print $2}')/build/make.log ``` - 若出现特定函数未定义错误,可能需要应用内核补丁。例如: ```diff # 在驱动源码中修改不兼容的函数调用 - ret = ieee80211_scan_work(hw); + ret = ieee80211_scan_work(hw, &hw->scan_work); ``` 5. **更新initramfs并重启** ```bash sudo update-initramfs -u sudo reboot ``` ### 关键问题分析 DKMS构建失败通常由以下原因引起: 1. 文件系统残留导致路径冲突(`Errno 17`) 2. 内核头文件未正确安装(验证命令:`dpkg -l | grep linux-headers`) 3. 驱动与高版本内核API不兼容(常见于5.15+内核) 4. 多无线驱动并存导致模块冲突 ### 进阶调试方法 使用动态调试工具分析模块加载过程: ```bash sudo dmesg -w | grep iwlwifi sudo modprobe backport-iwlwifi dyndbg=+p journalctl -kf | grep -E 'iwlwifi|backport' ```
评论 59
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值