原地址:http://blog.csdn.net/wise622453/article/details/7905253

纠结了好久在ubuntu server 上 出现的 一大批“ dpkg:警告:无法找到软件包 XXXX 问题” 终于解决了!

先来讲讲 这个问题是咋出来的

一.由于前段时间想安装一个vsftpd+ldap在服务器上,google了各种安装配置方法,没装成功!

因为多次尝试,使用了各种apt-get install  +apt-get remove ,结果就导致出现了 一些“pkg:警告:无法找到软件包 XXXX ” 问题

当时,警告还是很少的 也就是提示无法找到的包不多,渐渐地,服务器装的东西多了,这个问题就越来越明显

于是求google 大师,找各种答案  其中:

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

被我尝试多次,依然会出现那个问题!

其实这里
我们可以发现为什么会在安装新的内容时会出现无法找到软件包问题,因为在apt-get install 安装一个新包时
先回去检查/var/lib/dpkg/info/目录下的已安装包的配置文件信息;如果发现有已经安装的应用 的配置文件信息不在info目录下
就会提示这个错误

所以这个时候我们 可以通过:sudo dpkg --configure -a

然后通过:dpkg
-l | grep ^ii | awk '{print $2}' | grep -v XXX | xargs sudo aptitude reinstall

重新获取包内容配置信息 ,这样一步步重新安装下去 很快就可以解决这个问题了

二.当然也还有第二种方法,那就是通过:sudo apt-get --reinstall install `dpkg --get-selections | grep '[[:space:]]install' | cut -f1`

来重新安装全部软件,会全部刷新info目录 不过这个方法就要多花点时间去等了

dpkg:警告:无法找到软件包 XXXX 问题解决的更多相关文章

  1. HttpClient4 警告: Invalid cookie header 的问题解决(转)

    原文地址:HttpClient4 警告: Invalid cookie header 的问题解决 最近使用HttpClient4的时候出现如下警告信息 org.apache.http.client.p ...

  2. 无法找到AdbWinApi.dll问题解决 .

    无法找到AdbWinApi.dll问题解决: 1. 现象:   在运行程序时,显示“无法启动此程序,因为丢失AdbWinApi.dll”.2. 解决方法:   到SDK的platform-tools和 ...

  3. 【Ubuntu升级python3.5到python3.6】dpkg-deb: error: subprocess paste was killed by signal (Broken pipe) Errors were encountered while processing: E: Sub-process /usr/bin/dpkg returned an error code (1) 问题解决

    Ubuntu16.04上将系统自带的python3.5升级到3.6 安装aioredis时提示Python版本需>=3.5.3,所以进行升级命令如下: $ sudo add-apt-reposi ...

  4. Multiple Contexts have a path of "/xxxx"问题解决

    转自:http://blog.csdn.net/ivanzhangqf/article/details/50326533 之前因为ecplise项目保存更新时一直显示等待后台操作完成,以至于一直卡住无 ...

  5. 找不到eth0,但能找到eth1的问题解决办法

    故障现象:Linux的网卡由eth0变成了eth1,如何修复?解决方案:在linux中,udev记录网络规则的脚本为:/etc/udev/rules.d/70-persistent-net.rules ...

  6. tensorflow import 没找到cudnn库问题解决

    ImportError: libcudnn.so.5: cannot open shared object file: No such file or directory 将cuda下lib64中的l ...

  7. hadoop集群无法找到datanode节点问题解决

    问题:在配置hadoop集群时,master的50070后台中找不到slave的datanode节点怎么办? 解决: 方法一:首先确认下master和slave的hdfs-site.xml配置中的df ...

  8. 误删dpkg的/var/lib/dpkg/info文件夹的解决办法 zhuan

         今天安装软件时时,出现这样的错误提示:E: Sub-process /usr/bin/dpkg returned an error code (1)   上网查解决方案,被网上误导,一不小心 ...

  9. Ubuntu 18.04学习笔记

    命令行快捷键 https://blog.csdn.net/wanlhr/article/details/80926804 Ubuntu18.04使用vi命令修改文件并保存 vi /opt/teamvi ...

随机推荐

  1. 简单统计SQLSERVER用户数据表大小(包括记录总数和空间占用情况)

    在SQLSERVER,简单的组合sp_spaceused和sp_MSforeachtable这两个存储过程,可以方便的统计出用户数据表的大小,包括记录总数和空间占用情况,非常实用,在SqlServer ...

  2. redis学习笔记——(4)

    一.概述: 在该系列的前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String.List.Set.Hashes和Sorted-Set.这些命令都具有一个共同点,即所有的操作都是针对与K ...

  3. 每天一个linux命令(51):rcp命令

    rcp代表“remote file copy”(远程文件拷贝).该命令用于在计算机之间拷贝文件.rcp命令有两种格式.第一种格式用于文件到文件的拷贝:第二种格式用于把文件或目录拷贝到另一个目录中. 1 ...

  4. Linux下SVN安装配置

      第一章 安装 1. 采用源文件编译安装.源文件共两个,为:subversion-1.6.1.tar.gz (subversion 源文件)subversion-deps-1.6.1.tar.gz ...

  5. java编程

    Java编程:五子棋游戏源代码 import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing ...

  6. JavaScript、CSS、JSP 实现用户注册页面与信息校验

    参考:http://blog.csdn.net/fightfaith/article/details/50277337 需求:实现用户注册页面并作出逻辑校验.要求: (1)完成注册页面样式如下: (2 ...

  7. html之给文本框设置宽度和高度/input的无边框效果

    <input name="" type="text" style="width:200px; height:20px;" /> ...

  8. [转]java基础学习总结——equals方法

    一.equals方法介绍 1.1.通过下面的例子掌握equals的用法 1 package cn.galc.test; 2 3 public class TestEquals { 4 public s ...

  9. css左右侧自动填充宽度布局

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  10. linux中为什么已经是root用户仍不能执行程序

    .sh文件 ,获取root权限,提示Permission Denied. 这是因为文件本身没有可执行特性. chmod +x a.sh chmod 755 a.sh