这个问题基于无法在 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
警告:此修复可能有效,但如果维护人员没有正确考虑变更,它也可能造成破坏。因此,请理解,您自行承担此风险。