这里会显示出您选择的修订版和当前版本之间的差别。
note:spoony:sub-process-usr-bin-dpkg-returned-an-error-code-1-的解决方法 [2017/12/14 10:47] Spoony 创建 |
note:spoony:sub-process-usr-bin-dpkg-returned-an-error-code-1-的解决方法 [2017/12/14 10:48] |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== Sub-process /usr/bin/dpkg returned an error code (1)的解决方法 ====== | ||
- | <code> | ||
- | 方案① | ||
- | 打开终端,输入 | ||
- | 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 #即又重新安装回原来出错的软件包 | ||
- | 方案② | ||
- | 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)了 | ||
- | 这些都还是报错,哪怕安装上了,就是还要报错误: | ||
- | |||
- | 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 | ||
- | 总结:感觉就是卸载软件的时候卸载的不干净,导致安装的时候发现有docker残留,安装不了,涉及版本问题的情况,可以尝试下载最新版本,试试!!! | ||
- | </code> |