當我們在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/zh-hk/n/375528.html