Uri*_*res 27 upgrade apt 18.04
今天尝试根据 Ubuntu 软件建议进行升级时,我看到以下错误。这是我第一次看到这个错误。我的 18.04 系统已经运行了好几个月了。
任何帮助表示赞赏。
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
$ sudo apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross
4 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/5,871 kB of archives.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 388166 files and directories currently installed.)
Preparing to unpack .../libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-dev-armel-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
unable to open '/usr/arm-linux-gnueabi/lib/Mcrt1.o.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
Preparing to unpack .../libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-armel-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
unable to open '/usr/arm-linux-gnueabi/lib/ld-2.27.so.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
Preparing to unpack .../libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-dev-armhf-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
unable to open '/usr/arm-linux-gnueabihf/lib/Mcrt1.o.dpkg-new': No such file or directory
No apport report written because the error message indicates an issue on the local system
Preparing to unpack .../libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb ...
Unpacking libc6-armhf-cross (2.27-3ubuntu1cross1.1) over (2.27-3ubuntu1cross1) ...
dpkg: error processing archive /var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb (--unpack):
unable to open '/usr/arm-linux-gnueabihf/lib/ld-2.27.so.dpkg-new': No such file or directory
No apport report written because MaxReports is reached already
Errors were encountered while processing:
/var/cache/apt/archives/libc6-dev-armel-cross_2.27-3ubuntu1cross1.1_all.deb
/var/cache/apt/archives/libc6-armel-cross_2.27-3ubuntu1cross1.1_all.deb
/var/cache/apt/archives/libc6-dev-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
/var/cache/apt/archives/libc6-armhf-cross_2.27-3ubuntu1cross1.1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)
Ole*_*nar 50
我能够通过Gen.Stack使用的方法的变体干净地解决这个问题。已接受的解决方案的问题在于它删除了相关包的依赖项,但无法恢复它们。此解决方案可防止出现该问题。
首先,删除有问题的包并清除它们的配置而不删除依赖项:
sudo dpkg -P --force-depends libc6-armel-cross libc6-armhf-cross libc6-dev-armel-cross libc6-dev-armhf-cross
Run Code Online (Sandbox Code Playgroud)
清理包缓存:
sudo apt clean
Run Code Online (Sandbox Code Playgroud)
更新包列表:
sudo apt update
Run Code Online (Sandbox Code Playgroud)
修复损坏的依赖项(应自动安装两个已删除的包):
sudo apt -f install
Run Code Online (Sandbox Code Playgroud)
最后,安装剩下的两个包:
sudo apt install libc6-dev-armel-cross libc6-dev-armhf-cross
Run Code Online (Sandbox Code Playgroud)
这将使您的系统恢复工作状态。
Ruf*_*fus 19
尝试重新安装libc6-dev-armhf-cross(对 执行相同操作libc6-dev-armel-cross)
sudo apt remove libc6-dev-armhf-cross 其次是 sudo apt install libc6-dev-armhf-cross
(apt install --reinstall似乎不起作用)
请注意,运行sudo apt remove可能会删除依赖于它的包。请参阅下面Olek Wojnar 的回答,了解如何在不删除依赖包的情况下执行此操作