问题
在RK3288板子上将Ubuntu 14.04.01
系统升级到14.04.05
过程中,遇到如下错误:
Preparing to unpack .../268-libgstreamer-opencv1.0-0_1.14.5-0ubuntu1~18.04.1firefly2_armhf.deb ...
Unpacking libgstreamer-opencv1.0-0:armhf (1.14.5-0ubuntu1~18.04.1firefly2) over (1.14.4-1firefly1) ...
Preparing to unpack .../269-youtube-dl_2018.03.14-1ubuntu18.04.1_all.deb ...
qemu: Unsupported syscall: 384
Unpacking youtube-dl (2018.03.14-1ubuntu18.04.1) over (2018.03.14-1) ...
Errors were encountered while processing:
/tmp/apt-dpkg-install-pBAbf3/163-libgles2_1.0.0-2ubuntu2.3_armhf.deb
/tmp/apt-dpkg-install-pBAbf3/164-libegl1_1.0.0-2ubuntu2.3_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
解决方法
执行如下命令进行修复:
sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old # 将info文件夹更名
sudo mkdir -p /var/lib/dpkg/info # 创建一个新的info文件夹
sudo apt-get update
sudo apt-get upgrade
会提示如下错误:
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
libegl1 : Depends: libglvnd0 (= 1.0.0-2ubuntu2.2) but 1.0.0-2ubuntu2.3 is installed
libgles2 : Depends: libglvnd0 (= 1.0.0-2ubuntu2.2) but 1.0.0-2ubuntu2.3 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
继续执行如下命令:
sudo apt --fix-broken install
sudo apt-get upgrade # 可以执行成功
sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old # 将新文件夹内容移动到原文件夹下
sudo rm -rf /var/lib/dpkg/info # 删除新建的info文件夹
sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info # 恢复原info文件夹名称
sudo apt-get upgrade # 再次执行升级,可以执行成功