首页 > 编程知识 正文

docker-ce-18.03.1.ce-1.el7.centos.x86_64需要pigz这个依赖的解决方案

时间:2023-11-21 17:51:35 阅读:292593 作者:BCZN

当我们在linux centos系统中安装docker-ce-18.03.1.ce-1.el7.centos.x86_64时,有时可能会遇到“nothing provides pigz needed by docker-ce-18.03.1.ce-1.el7.centos.x86_64”的错误提示。这时我们需要解决pigz这个依赖关系。

一、安装pigz

需要注意的是,pigz是gzip程序的并行版本,可提高压缩速度。我们可以通过以下命令来安装pigz:

yum install -y pigz

二、检查软件源是否正确

如果在安装pigz时遇到问题,我们需要先检查一下软件源是否正确。我们可以通过以下命令来检查:

yum repolist all

如果软件源不正确,我们可以配置正确的软件源。例如,我们可以使用阿里云的镜像源,可以用以下两个命令实现:

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache

三、使用rpm包手动安装docker-ce

如果以上方法仍然无法解决问题,我们可以手动下载安装docker-ce。以下是手动安装docker-ce的步骤:

1、下载docker-ce的rpm包,这里我们下载docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm:

wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm

2、下载及安装依赖关系包

wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-18.03.1.ce-1.el7.centos.x86_64.rpm
wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.10-3.2.el7.x86_64.rpm

yum install -y pigz
yum install -y containerd.io-1.2.10-3.2.el7.x86_64.rpm docker-ce-cli-18.03.1.ce-1.el7.centos.x86_64.rpm docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm

四、修改docker-ce.rpm包

其实,我们也可以手动修改docker-ce.rpm包,以解决pigz依赖问题。以下是具体步骤:

1、使用以下命令下载docker-ce.rpm包:

wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm

2、安装rpm-build工具

yum install -y rpm-build

3、创建rpm包目录

mkdir ~/rpmbuild
cd ~/rpmbuild
mkdir -p BUILD RPMS SOURCES SPECS SRPMS

4、将docker-ce.rpm包放入SOURCES目录

cd SOURCES
cp docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm ~/rpmbuild/SOURCES/

5、创建rpm包的spec文件

cd ..
cd SPECS
rpm -i ..//SOURCES/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
rpm -qpi ../SOURCES/docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm | awk '/^Name/ {print "mv "$2".rpm docker-ce.spec"}' | sh
cat docker-ce.spec | grep -v Requires | grep -v "Release: 1" > docker-ce-no-rel.spec

6、修改依赖关系

编辑docker-ce-no-rel.spec文件,将“%global _requires_exclude_from ^Requires(post):$”行下面添加以下内容:

Requires: pigz

7、重新打包rpm包

rpmbuild -bb docker-ce-no-rel.spec

8、安装新生成的rpm包

cd ../RPMS/x86_64
yum install -y docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm

五、总结

通过上述的方法,我们可以解决docker-ce-18.03.1.ce-1.el7.centos.x86_64缺失pigz依赖的问题。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。