如何让APT忽略特定缺失依赖,避免删除第三方扫描仪驱动?
解决APT因强制安装的Brother扫描仪驱动导致的依赖报错问题
以下几种方案可以解决你的问题,按稳妥程度排序:
1. 重新打包驱动deb包修改依赖要求(推荐)
从根源上修正依赖不匹配的问题,避免后续反复处理:
- 创建临时目录并解压原deb包:
mkdir temp_deb && cd temp_deb ar x ../libsane-dsseries_1.0.5-1_amd64.deb tar xzf control.tar.gz - 查看系统当前安装的libsane版本:
dpkg -l libsane - 编辑
control文件,修改依赖规则:
找到nano controlDepends:行,将libsane >= 1.0.17替换为系统实际的libsane版本(比如libsane = 1.0.16-2),或者直接去掉版本限制写成libsane。 - 重新打包修改后的deb包:
tar czf control.tar.gz control md5sums postinst postrm prerm ar rcs ../libsane-dsseries-fixed_1.0.5-1_amd64.deb debian-binary control.tar.gz data.tar.gz - 安装修正后的驱动(无需
--force-all):sudo dpkg -i libsane-dsseries-fixed_1.0.5-1_amd64.deb
2. 让dpkg忽略该驱动的依赖检查
临时标记驱动包的依赖为已满足,阻止APT触发依赖报错:
sudo dpkg --ignore-depends=libsane libsane-dsseries sudo apt-get update
此方法生效后,APT安装其他软件时将不再提示该依赖问题,但后续系统更新涉及libsane时可能需要重新执行该命令。
3. 配置APT全局忽略特定依赖
通过修改APT配置,永久忽略libsane的依赖检查:
- 创建APT配置文件:
sudo nano /etc/apt/apt.conf.d/99ignore-deps - 添加以下内容:
DPkg::Options { "--ignore-depends=libsane"; } - 保存退出后,APT所有操作都会自动忽略libsane的依赖问题,不会再弹出报错,也不会触发
--fix-broken删除驱动。
内容的提问来源于stack exchange,提问作者Phil
相关产品推荐
相关产品推荐

