Ubutnu18.04中dpkg警告解决方法,简单粗暴

    最近在命令行安装软件时,经常弹出来dpkg警告,积少成多,终于变成了3000多行,试了网上说的给info文件夹备份改名的方法,并无卵用,只能上Google看看,果然瞎猫碰上了死耗子,通过下面几个步骤解决了问题.

首先在同一目录下,新建三个文件,分别是txt,fixit.py,fix.sh.

一.txt

将问题复制到txt中.以下是我的txt文件的内容

dpkg: 警告: 无法找到软件包 wine-stable-amd64 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 linuxqq 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 unixodbc-dev 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 libk4a1.1 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 libodbc1:amd64 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 libjpeg62-turbo:amd64 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 libjpeg62-turbo:i386 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 wine-stable 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 odbcinst 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 libk4a1.1-dev 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 wine-stable-i386:i386 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 nautilus-nutstore-public 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 k4a-tools 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 codemeter 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 winehq-stable 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 libk4a1.3 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 ensenso-sdk 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 unixodbc 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 odbcinst1debian2:amd64 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 sogoupinyin 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。
dpkg: 警告: 无法找到软件包 baidunetdisk 的文件名列表文件,现假定该软件包目前没有任何文件被安装在系统里。

二.fixit.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import re
def main():
    fix = open('fix.sh', 'w+')
    for line in open("txt"):
        pkg = re.match(re.compile('''dpkg: 警告: 无法找到软件包 (.+) '''), line)
        if pkg:
            cmd = "sudo apt-get -y install --reinstall " + pkg.group(1)
            fix.write(cmd + '\n')
	    print("OK")
if __name__ == "__main__":
    main()

三.执行fixit.py

python fixit.py

四.执行fix.sh

执行完三之后,fix.sh中变成了以下代码,执行fix.sh

sudo apt-get -y install --reinstall wine-stable-amd64
sudo apt-get -y install --reinstall linuxqq
sudo apt-get -y install --reinstall unixodbc-dev
sudo apt-get -y install --reinstall libk4a1.1
sudo apt-get -y install --reinstall libodbc1:amd64
sudo apt-get -y install --reinstall libjpeg62-turbo:amd64
sudo apt-get -y install --reinstall libjpeg62-turbo:i386
sudo apt-get -y install --reinstall wine-stable
sudo apt-get -y install --reinstall odbcinst
sudo apt-get -y install --reinstall libk4a1.1-dev
sudo apt-get -y install --reinstall wine-stable-i386:i386
sudo apt-get -y install --reinstall nautilus-nutstore-public
sudo apt-get -y install --reinstall k4a-tools
sudo apt-get -y install --reinstall codemeter
sudo apt-get -y install --reinstall winehq-stable
sudo apt-get -y install --reinstall libk4a1.3
sudo apt-get -y install --reinstall ensenso-sdk
sudo apt-get -y install --reinstall unixodbc
sudo apt-get -y install --reinstall odbcinst1debian2:amd64
sudo apt-get -y install --reinstall sogoupinyin
sudo apt-get -y install --reinstall baidunetdisk

执行下列命令

./fix.sh

五.最后,问题会越来越少.

参考:https://fitzeng.org/2017/11/04/linuxDpkgBug/

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值