docker安装升级遇到问题记录
#进行安装
sudo yum install docker-ce docker-ce-cli containerd.io
问题:
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
There are unfinished transactions remaining. You might consider running yum-complete-transaction, or "yum-complete-transaction --cleanup-only" and "yum history redo last", first to finish them. If those don't work you'll have to try removing/installing packages by hand (maybe package-cleanup can help).
--> 正在检查事务
---> 软件包 containerd.io.x86_64.0.1.4.12-3.1.el7 将被 安装
---> 软件包 docker-ce.x86_64.3.20.10.12-3.el7 将被 安装
--> 正在处理依赖关系 docker-ce-rootless-extras,它被软件包 3:docker-ce-20.10.12-3.el7.x86_64 需要
---> 软件包 docker-ce-cli.x86_64.1.20.10.12-3.el7 将被 安装
--> 正在检查事务
---> 软件包 docker-ce-rootless-extras.x86_64.0.20.10.12-3.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=================================================================================================================================================================================================================================================
Package 架构 版本 源 大小
=================================================================================================================================================================================================================================================
正在安装:
containerd.io x86_64 1.4.12-3.1.el7 docker-ce-stable 28 M
docker-ce x86_64 3:20.10.12-3.el7 docker-ce-stable 23 M
docker-ce-cli x86_64 1:20.10.12-3.el7 docker-ce-stable 30 M
为依赖而安装:
docker-ce-rootless-extras x86_64 20.10.12-3.el7 docker-ce-stable 8.0 M
事务概要
=================================================================================================================================================================================================================================================
安装 3 软件包 (+1 依赖软件包)
总计:89 M
总下载量:23 M
安装大小:368 M
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for docker-ce-stable
docker-ce-20.10.12-3.el7.x86_64.rpm | 23 MB 00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : 1:docker-ce-cli-20.10.12-3.el7.x86_64 1/4
Error unpacking rpm package 1:docker-ce-cli-20.10.12-3.el7.x86_64
error: unpacking of archive failed on file /usr/bin/docker;61cc1ae8: cpio: open
正在安装 : containerd.io-1.4.12-3.1.el7.x86_64 2/4
Error unpacking rpm package containerd.io-1.4.12-3.1.el7.x86_64
error: docker-ce-cli-1:20.10.12-3.el7.x86_64: install failed
error: unpacking of archive failed on file /usr/bin/containerd;61cc1ae8: cpio: open
正在安装 : 3:docker-ce-20.10.12-3.el7.x86_64 3/4
Error unpacking rpm package 3:docker-ce-20.10.12-3.el7.x86_64
error: containerd.io-1.4.12-3.1.el7.x86_64: install failed
error: unpacking of archive failed on file /usr/bin/docker-init;61cc1ae8: cpio: open
正在安装 : docker-ce-rootless-extras-20.10.12-3.el7.x86_64 4/4
Error unpacking rpm package docker-ce-rootless-extras-20.10.12-3.el7.x86_64
error: docker-ce-3:20.10.12-3.el7.x86_64: install failed
error: unpacking of archive failed on file /usr/bin/dockerd-rootless-setuptool.sh;61cc1ae8: cpio: open
验证中 : docker-ce-rootless-extras-20.10.12-3.el7.x86_64 1/4
验证中 : containerd.io-1.4.12-3.1.el7.x86_64 2/4
验证中 : 1:docker-ce-cli-20.10.12-3.el7.x86_64 3/4
验证中 : 3:docker-ce-20.10.12-3.el7.x86_64 4/4
失败:
containerd.io.x86_64 0:1.4.12-3.1.el7 docker-ce.x86_64 3:20.10.12-3.el7 docker-ce-cli.x86_64 1:20.10.12-3.el7 docker-ce-rootless-extras.x86_64 0:20.10.12-3.el7
完毕!
问题原因:error: unpacking of archive failed on file /usr/bin/docker;61cc1ae8: cpio: open
解决方法:
#查看/usr文件夹是否被上锁
lsattr /usr
-------------e-- /usr/lib
-------------e-- /usr/etc
-------------e-- /usr/local
-------------e-- /usr/games
-------------e-- /usr/mpi
-------------e-- /usr/share
----------I--e-- /usr/bin
-------------e-- /usr/libexec
-------------e-- /usr/soft
-------------e-- /usr/src
----------I--e-- /usr/lib64
----------I--e-- /usr/sbin
-------------e-- /usr/include
#解锁
chattr -i /usr/bin
清除yum 安装下载的软件包
yum clean all
yum 会把下载的软件包和header存储在cache中packages,而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一全部清除。
centos彻底卸载docker
#查看docker安装的依赖
yum list installed | grep docker
containerd.io.x86_64 1.4.12-3.1.el7 @docker-ce-stable
docker-ce.x86_64 3:20.10.12-3.el7 @docker-ce-stable
docker-ce-cli.x86_64 1:20.10.12-3.el7 @docker-ce-stable
docker-ce-rootless-extras.x86_64 20.10.12-3.el7 @docker-ce-stable
docker-scan-plugin.x86_64 0.12.0-3.el7 @docker-ce-stable
#全部删除
yum -y remove docker-scan-plugin.x86_64
#一个一个的删除,把上边的额4个都删了重新下载安装