无法在 xUbuntu 20.04 上安装 libudev-dev

无法在 xUbuntu 20.04 上安装 libudev-dev

这个问题基于无法在 Ubuntu 16.04 上安装 libudev-dev但已更新至 20.04。

我似乎找不到安装 libudev-dev 包的解决方案。它输出此错误

以下软件包具有未满足的依赖性。libudev-dev:依赖:libudev1(= 245.4-4ubuntu3.4)但需要安装 245.4-4ubuntu3.5 E:无法纠正问题,您持有损坏的软件包。

所以我尝试了 sudo apt-get install libudev1

libudev1已经是最新版本(245.4-4ubuntu3.5)。

好的...所以我尝试降级 libudev1

apt install libudev1=245.4-4ubuntu3.4

要删除的软件包列表太长了,长达 35 行。

我已经看过了无法在 Ubuntu 16.04 上安装 libudev-dev然而,它并不明显,并且它适用于比现在更早的 2 个 LTS 版本。

有人可以帮我弄这个吗?

答案1

这个答案是可能的,得益于Videonauth 的回答


我的猜测是该档案的控制文件中存在一个简单的混淆,您应该将其报告为一个错误。

然而,实际的解决方法是一种非常肮脏的黑客行为。小心,它可能会破坏一切!

打开终端。为了清洁和速度,我建议在 shm 中的目录中执行此操作:

mkdir /dev/shm/fixingudev
cd /dev/shm/fixingudev

从以下位置下载最近的libudev-dev_245.4软件包这里。请确保这是最接近您情况的版本,以避免不兼容!破折号后的差异应该不大,但如果子版本不同,停下来重新思考一下

wget "" -O "libudev-dev_before.deb"
// E.g. wget "https://mirrors.edge.kernel.org/ubuntu/pool/main/s/systemd/libudev-dev_245.4-4ubuntu3.6_amd64.deb" -O "libudev-dev_before.deb"

使用以下命令解压.deb档案:

dpkg-deb -R libudev-dev_before.deb tmp

然后更改文件内的一行tmp/DEBIAN/control

sed -i 's/245.4-4ubuntu3.6/245.4-4ubuntu3.5/' tmp/DEBIAN/control

之后重新打包.deb文件

dpkg-deb -b tmp libudev-dev_after.deb

现在,在确保已安装所有依赖项后,您就可以安装它了:

dpkg -i libudev-dev_after.deb

警告:此修复可能有效,但如果维护人员没有正确考虑变更,它也可能造成破坏。因此,请理解,您自行承担此风险。

相关内容