今晚在ubuntu上安装一个软件时,出现这样的错误提示:
E: Sub-process /usr/bin/dpkg returned an error code (1)
然后在网上找了查找问题原因及解决方法,很多都说是因为系统中的某个软件有问题,而解决方法好像有不少,但是否奏效就不得而知了。
我试了下面的这个比较好操作的方法。

sudo dpkg --configure -a
sudo apt-get update
sudo apt-get upgrade

然后再装一次软件,还是不行,又试了下面这个:
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文件夹重新改回名字
在这个操作过程中,粗心大意误把/var/lib/dpkg/info下的文件全部删掉了,就有点担心将会出现什么后果。
根据搜索得知,/var/lib/dpkg/info下保存有各个软件包的配置文件列表。顿时傻了,这下惨了,以后怎么更新呢?
也有人说即使把/var/lib/dpkg/info里面的东西全部删除系统也不会瘫痪,不过我总不放心。
找了很久也没找到一个可行的补救方法,有人说可能要重装,有人则说可以把系统上的一些软件删掉再重新安装就可以恢复info下的文件了,这还不如重装系统好了。
去几个linux的交流群里求助,在网友的帮助下,终于在某个国外网站上找到一个相关的帖子,通过下面这条命令就可以实现重装那些软件了

sudo apt-get --reinstall install `dpkg --get-selections | grep '[[:space:]]install' | cut -f1`

我把它复制到终端里执行,它先读取相关的软件包,然后问是否要下载这些软件包,我选择了下载,有六百多M。等了一个多小时才下载玩。
不过,完后我查看了一下/var/lib/dpkg/info下的文件,好像也没有恢复之前的,所以还是不知道这个方法到底有没有用。

ubuntu中误删/var/lib/dpkg/info的补救方法的更多相关文章

  1. Ubuntu中出现“Could not get lock /var/lib/dpkg/lock”的解决方法

    在运行Ubuntu安装软件,使用命令sudo  apt-get install时,有时会出现以下的错误: E: Could not get lock /var/lib/dpkg/lock - open ...

  2. ubuntu 解决“无法获得锁 /var/lib/dpkg/lock -open”的方法

      在ubuntu系统终端下,用apt-get install 安装软件的时候,如果在未完成下载的情况下将终端中断,此时 apt-get进程可能没有结束.结果,如果再次运行apt-get instal ...

  3. Could not get lock /var/lib/dpkg/lock的解决方法

    E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to ...

  4. Could not get lock /var/lib/dpkg/lock - open 解决方法

    无法获得锁 /var/lib/dpkg/lock E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily un ...

  5. BUG in Ubuntu--Could not get lock /var/lib/dpkg/lock

    在ubuntu中通过apt安装软件时,报错: E: Could not : Resource temporarily unavailable) E: Unable to lock the admini ...

  6. Linux常见错误之Could not get lock /var/lib/dpkg/lock - open

    在Ubuntu系统上安装vim是遇到的问题: root@ubuntu:/# vim The program 'vim' can be found in the following packages: ...

  7. 解决Ubuntu中Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another proce...

    解决Ubuntu中Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another proce... ...

  8. Ubuntu中针对问题 E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)的解决方案

    一.问题描述: 在ubuntu中有时因为错误的操作,而导致在执行 sudo apt-get install xxxx出现如下错误: E: Could not get lock /var/lib/dpk ...

  9. 关于Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案

    在Ubuntu中,有时候运用sudo  apt-get install 安装软件时,会出现一下的情况 E: Could not get lock /var/lib/dpkg/lock - open ( ...

随机推荐

  1. day17 13.滚动结果集介绍

    滚动 一般结果集只能是向下的,不是滚动的,你要是想让它滚动你得设置才行. 类名或者接口里面有静态的可以.接口里面的属性全部都是public static final,类名/接口名.是属性,这些都是常量 ...

  2. go get

    go get 命令用于从远程代码仓库(比如 Github )上下载并安装代码包.注意,go get 命令会把当前的代码包下载到 $GOPATH 中的第一个工作区的 src 目录中,并安装. 如果在 g ...

  3. iOS UITableView制作类似QQ好友列表视图

                #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDele ...

  4. STM32 C++编程 004 Adc (数模转换)类

    使用 C++ 语言给 STM32 编写一个 Adc 类 我使用的STM32芯片:STM32F103ZET6 我们使用的STM32库版本:V3.5.0 注意: 想学习本套 STM32 C++编程 的专栏 ...

  5. ARC059F

    传送门 分析 见ptx大爷博客 代码 #include<iostream> #include<cstdio> #include<cstring> #include& ...

  6. 前端学习01-06URL

    URL(Uniform Resource Locator) 统一资源定位 URL的基本组成:协议,主机名,端口号,资源名 例如: http://www.sina.com:80/index.html 相 ...

  7. win10和ubuntu双系统下卸载ubuntu

    1.进入win10 2.下载EasyBCD,360软件管家里面有,version=2.2 3.启动软件,工具箱里面选择“BCD部署”→MBR配置选项中选“在MBR中安装Windows Vista/7的 ...

  8. rf常用关键字

    上传文件choose file 用法:choose file     元素定位          文件路径\\文件名 此处注意:复制的路径是/,需全部替换成\\ 清除Clear Element Tex ...

  9. Fragment之间通过add切换时的显示与隐藏

    新手,不知道用什么方法实现 ,通过动态的方法显示了Fragment   A,在这个里面点击列表项时add方法动态加载Fragment  B,但是两者都会一起显示,重叠在一起了,如果用replace方法 ...

  10. [WIP]React 核心概念

    创建: 2019/05/01 Hello World   ReactDOM.render( <p>sample</p>, document.getElementById('ro ...