Sub-process /usr/bin/dpkg returned an error code (1)的解决方法

                    版权声明:本文为博主原创文章,未经博主允许不得转载。                        https://blog.csdn.net/qq_31617637/article/details/72881105                    </div>
                                    <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-cd6c485e8b.css">
                                                        <div id="content_views" class="markdown_views">
                    <!-- flowchart 箭头图标 勿删 -->
                    <svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
                        <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path>
                    </svg>
                    <blockquote>

之前是项目中用的Docker容器,后来前天突然docker起服务,起不来了,报错误如下:

FATA[0000] Cannot connect to the Docker daemon. Is ‘docker -d’ running on this host?

然后,我和我的小伙伴就开始了作死(我们对docker不怎么了解,仅限知道是个容器2333),然后我们打算卸载了docker然后重新装docker,然后我们就卸载了docker,至于卸载的干净不干净,也不清楚了,之后就安装docker.io 但是总是报错:

Sub-process /usr/bin/dpkg returned an error code (1)的解决方法
然后绞尽脑汁,各种百度,发现基本都是说有两种方案:

  • 方案①
打开终端,输入
cd /var/lib/dpkg/info
sudo rm -f  foomatic-filters #即删掉上面提示到的那些出错的软件包
sudo apt-get update -f
sudo apt-get -f install
sudo apt-get upgrade
sudo apt-get install foomatic-filters  #即又重新安装回原来出错的软件包
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 方案②
cd /var/lib/dpkg
sudo mv info info.bak #即备份一个info
sudo mkdir info #新建一个新的info目录
然后采用以下命令重装那些出错的软件包
sudo apt-get –reinstall install 软件包名
开始我是想在一条命令中同时安装几个软件包,结果还是出现E: Sub-process /usr/bin/dpkg returned an error code (1) 。于是把新的info删掉,一个个地来安装,每装好一个软件包,就把info删掉,再新建一个,这样就没有提示E: Sub-process /usr/bin/dpkg returned an error code (1) 了。
最后用原来的info.bak 替换新的info
sudo -rf info
sudo mv info.bak info
之后输入 sudo apt-get update 和 sudo apt-get upgrade 以及sudo apt-get autoremove 都不再有E: Sub-process /usr/bin/dpkg returned an error code (1)了
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

这些都还是报错,哪怕安装上了,就是还要报错误:

Client and server don’t have same version (client API version: 1.20, server API version: 1.19)
那我们最后又找了个强力小伙伴,他给我们把卸载干净了之后( /usr/bin/docker下面的docker.io.* 在卸载docker.io 的时候不会自动清除,需要单独删除),最后我们安装的官网最新版!

//最终解决问题O(∩_∩)O哈哈~
$ sudo apt-get install apt-transport-https 
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 
$ sudo bash -c "echo deb https://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list" 
$ sudo apt-get update 
$ sudo apt-get install lxc-docker
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

总结:感觉就是卸载软件的时候卸载的不干净,导致安装的时候发现有docker残留,安装不了,涉及版本问题的情况,可以尝试下载最新版本,试试!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值