0%

解决Cydia安装部分插件出现的Sub-process /usr/bin/dpkg returned an error code (1)异常

解决Cydia安装部分插件出现的Sub-process /usr/bin/dpkg returned an error code (1)异常

今天使用cydia安装AppSync Unified失败,异常提示:

Setting up net.angelxwind.appsyncunified (65.0) ...
dpkg: error processing package net.angelxwind.appsyncunified (--configure):
 installed net.angelxwind.appsyncunified package post-installation script subprocess was killed by signal (Killed: 9)
Errors were encountered while processing:
 net.angelxwind.appsyncunified
E: Sub-process /usr/bin/dpkg returned an error code (1)

ps: 这个异常提示是通过shell登录ios,通过命令行apt-get install net.angelxwind.appsyncunified 安装返回的,在cydia中看到的提示信息比较简略,也无法方便的复制黏贴出来

错误原因

这个异常的原因是文件系统中残留部分未完全安装成功的包文件导致。可能的原因是dpkg在处理某些包安装过程中出现了异常,或者,在我的场景下,是操作了Restore RootFS恢复了部分目录的文件系统。

一般引发这个问题的包都是你刚刚安装失败的的这个软件包,如果你不确定是哪个包导致这个异常,可以通过以下命令进行诊断:

dpkg --configure -a

这个命令会输出当前存在问题的软件包,如:

dpkg: error processing package net.angelxwind.appsyncunified (--configure):
 installed net.angelxwind.appsyncunified package post-installation script subprocess was killed by signal (Killed: 9)
Errors were encountered while processing:
 net.angelxwind.appsyncunified

解决方式

解决的方式有多个,可以依次尝试。

1. 强制完成安装

包安装过程异常中断的,可以通过以下命令尝试强制完成安装:

apt-get install -f

2. 移除异常安装包

通过以下命令手动移除问题的软件包:

apt remove 

3. 移除软件包的安装信息文件

这个方法是解决这个问题的终极方式:将/var/lib/dpkg/info目录下有关这个软件包的所有文件移除。

首先通过以下命令可以查看相关文件:

ls -l /var/lib/dpkg/info | grep -i net.angelxwind.appsyncunified

然后移动这些文件到其他无关路径(便于极端情况下恢复):

mv /var/lib/dpkg/info/net.angelxwind.appsyncunified.* /tmp

以上其中一种方式应当可以帮助你解决Sub-process /usr/bin/dpkg returned an error code (1) 这个异常。

运行apt-get updateapt-get install net.angelxwind.appsyncunified重新安装这个软件包即可。

加入星球与我交流