error processing package xxx (--configure) Errors were encountered while processing

本来是想看看能不能更新一下mysql,最后发现没法用sudo apt-get upgrade sudo apt-get -u dist-upgrade忘了为什么会出现错误了。
提示一大堆程序出现如下错误:

error processing package uuid-runtime (--configure)


error processing package xxx (--configure)




Errors were encountered while processing: 
uuid-runtime
xxx
xxx


E: Sub-process /usr/bin/dpkg returned an error code (1) 

#另外其中还会有这样的错误提示
warning: files list file for package `*****' missing, assuming package has no files currently installed

在找解决办法的时候,重复试了两种办法,一开始先解决warning,再去解决error,发现error解决了,apt-get可以用了,但warning依然存在。

该方法耗费大量网络资源,且在运行过程中,切勿终端程序,不然有可能会出现问题

所以正确的步骤应该是先解决warnning,参照这篇博客,茗迹周 dpkg: warning: files list file for package `*’ missing, assuming package has no files currently installed解决办法
1、先编写一个.sh文件,内容如下

#!/bin/bash
set -e

# Clean out /var/cache/apt/archives
apt-get clean
# Fill it with all the .debs we need
apt-get --reinstall -dy install $(dpkg --get-selections | grep '[[:space:]]install' | cut -f1)

DIR=$(mktemp -d -t info-XXXXXX)
for deb in /var/cache/apt/archives/*.deb
do
    # Move to working directory
    cd "$DIR"
    # Create DEBIAN directory
    mkdir -p DEBIAN
    # Extract control files
    dpkg-deb -e "$deb"
    # Extract file list, fixing up the leading ./ and turning / into /.
    dpkg-deb -c "$deb" | awk '{print $NF}' | cut -c2- | sed -e 's/^\/$/\/./' > DEBIAN/list
    # Figure out binary package name
    DEB=$(basename "$deb" | cut -d_ -f1)
    # Copy each control file into place
    cd DEBIAN
    for file in *
    do
        cp -a "$file" /var/lib/dpkg/info/"$DEB"."$file"
    done
    # Clean up
    cd ..
    rm -rf DEBIAN
done
rmdir "$DIR"

2、用root权限执行该.sh文件,由于执行完之后没有提示任何与“x11-common”有关的信息,所以不用继续执行后续步骤。

接着用sudo apt-get update && sudo apt-get upgrade

接下来参照这篇博客,dpkg: error processing package bluez (–configure) 解决方法,来解决error。
直接使用

sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old
//现将info文件夹更名
sudo mkdir /var/lib/dpkg/info
//再新建一个新的info文件夹
sudo apt-get update
sudo apt-get -f install
sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old 
//执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_old文件夹下
sudo rm -rf /var/lib/dpkg/info
//把自己新建的info文件夹删掉
sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info
//把以前的info文件夹重新改回名字

即可解决问题。
其中,解决warning时,需要下载大概500MB的东西,需要跟apt源之间的网络状态好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值