[docker]** 发现 xxx 个已存在的 RPM 数据库问题, ‘yum check’ 输出如下:
1:libkkc-0.3.1-9.el7.x86_64 有缺少的需求 libmarisa.so.0()(64bit)
2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18()(64bit)
2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18(libmysqlclient_18)(64bit)
错误:软件包:docker-ce-rootless-extras-20.10.7-3.el7.x86_64 (docker-ce-stable)
需要:fuse-overlayfs >= 0.7
错误:软件包:docker-ce-rootless-extras-20.10.7-3.el7.x86_64 (docker-ce-stable)
需要:slirp4netns >= 0.4
错误:软件包:containerd.io-1.4.6-3.1.el7.x86_64 (docker-ce-stable)
需要:container-selinux >= 2:2.74
错误:软件包:3:docker-ce-20.10.7-3.el7.x86_64 (docker-ce-stable)
需要:container-selinux >= 2:2.74
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest
我们先把问题抛到上面,然后分两部分解决
上面几个问题是我今天在centos7中装docker出现的问题,
经过我的努力,最终问题一个一个被解决了,我也终于能洗洗睡了
先解决这两个:
2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18()(64bit)
2:postfix-2.10.1-6.el7.x86_64 有缺少的需求 libmysqlclient.so.18(libmysqlclient_18)(64bit)
我是参考:https://blog.csdn.net/ckg8933/article/details/83379279这篇博客得知是没有安装mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
原因分析:
我看着这个.rpm文件很眼熟,好像在哪见过.于是我想到是我之前给centos中安装mysql5.7时只执行了这四个命令:
rpm -ivh mysql-community-common-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.26-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.26-1.el7.x86_64.rpm
遂即去装mysql的文件夹下查看
发现有这么多.rpm文件
然后现在只需要执行这条命令即可:
rpm -ivh mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm
完事之后头两个问题就解决了
然后解决这个问题:
1:libkkc-0.3.1-9.el7.x86_64 有缺少的需求 libmarisa.so.0()(64bit)
原因分析:
这个问题是当初安装mysql时因为centos7.6自带的类mysql数据库是mariadb,会跟mysql冲突,就删除了mariadb,当初的删除语句是 rpm -e --nodeps mariadb-libs
解决办法:单纯下载一个 marisa-0.2.4-4.el7.x86_64.rpm 而不去装整个mariadb,因为会和mysql冲突
网址是参照:https://centos.pkgs.org/7/centos-x86_64/marisa-devel-0.2.4-4.el7.x86_64.rpm.html得到的.rpm下载路径
[root@lhz01 ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/marisa-0.2.4-4.el7.x86_64.rpm
默认下载到根目录,接下来就是把它安装
[root@lhz01 ~]# rpm -ivh marisa-0.2.4-4.el7.x86_64.rpm
完事问题解决
只剩下最后一个问题
错误:软件包:docker-ce-rootless-extras-20.10.7-3.el7.x86_64 (docker-ce-stable)
需要:fuse-overlayfs >= 0.7
错误:软件包:docker-ce-rootless-extras-20.10.7-3.el7.x86_64 (docker-ce-stable)
需要:slirp4netns >= 0.4
错误:软件包:containerd.io-1.4.6-3.1.el7.x86_64 (docker-ce-stable)
需要:container-selinux >= 2:2.74
错误:软件包:3:docker-ce-20.10.7-3.el7.x86_64 (docker-ce-stable)
需要:container-selinux >= 2:2.74
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest
这里我借鉴https://blog.csdn.net/weixin_49780168/article/details/113929934这篇博客,得知是在Linux是最小化安装环境下的时候是没有wget下载工具的,可以wget联网安装一个
解决:
[root@lhz01 ~]# wget -O /etc/yum/repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
注意我这里的路径是 /etc/yum/repos.d/CentOS-Base.repo 而博客上的路径是/etc/yum.repos.d/CentOS-Base.repo
版本不一样路径有细微的差别,要注意
问题全部解决,之后安装docker
[root@lhz01 ~]# yum install -y docker-ce
大功告成!如果我的这篇博客对你有帮助,不妨给点个赞关注一下呀~加油!