我继续处理 apt。在 apt-offline 使用失败后,我收到一条消息,提示有计数错误。我运行sudo apt-get check
并得到输出:
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
systemd : Depends: libsystemd0 (= 237-3ubuntu10.33) but 237-3ubuntu10.39 is installed
udev : Depends: libudev1 (= 237-3ubuntu10.33) but 237-3ubuntu10.39 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
但是如果我按照这个建议做,我会看到一长串将被删除的模块(97),包括init initramfs-tools initramfs-tools-core plymouth plymouth-label
等等。我之前做过一次,破坏了我的安装并被迫重新安装 Ubunte,所以我认为执行这个命令是个坏主意。
我该如何在不完全破坏安装的情况下修复这些未满足的依赖关系?谢谢!
已编辑
好吧,对我来说这很简单。在我的离线 Ubuntu 上,我执行了
sudo apt-get check
并获得了未满足依赖关系的软件包列表。
接下来,在我的在线机器上(实际上是 Win 10 Pro,Ubuntu 18.04.4 作为 WSL),我执行了这个命令(来自https://www.ostechnix.com/download-packages-dependencies-locally-ubuntu/)
$ apt-get download $(apt-rdepends package_wih_unmet | grep -v "^ " | sed 's/debconf-2.0/debconf/g')
(其中package_wih_unmet
是我在上一步中获得的列表中的一个包)在为此目的创建的文件夹中(例如,'~/python-crypto/'),针对上面列表中的每个包。
接下来我将下载的文件复制到闪存中,离线 Ubunut 只需sudo dpkg -i *
在此文件夹中运行即可。
经过几次迭代,我以未满足的依赖关系的方式恢复了我的系统。
但为了提高效率,我必须带上装有调制解调器的笔记本电脑。
答案1
你可以试试sudo dpkg --configure -a
。
另一个解决方案是:
sudo apt purge libsystemd0 libudev1
sudo apt install libsystemd0=237-3ubuntu10.33
sudo apt install libudev1=237-3ubuntu10.33