当我们在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依赖的问题。
原创文章,作者:MVKYC,如若转载,请注明出处:https://www.506064.com/n/375528.html