場景:
rpm包安裝時都是有依賴的,手動乙個個都安裝,費時費力。
思路:將一堆docker的rpm包放到乙個目錄下,做成本地yum源,讓yum自動檢測安裝。
一、開啟本地源
centos7 開啟本地源centos-media.repo檔案。將檔案中enabled=0改成enabled=1
/media/cdrom/ 路徑下是iso的系統映象檔案。
/media/centos/ 下放我們自定義docker的rpm包和相關依賴包。
vi /etc/yum.repos.d/centos-media.repo
[c7-media]name=centos-$releasever - media
baseurl= file:///media/centos/
file:///media/cdrom/
file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-7
priority=1
[c7-media-centos]
name=centos-$releasever - media
baseurl= file:///media/centos/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/rpm-gpg-key-centos-7
priority=1
注意:在新的[c7-media-centos]項的baseurl路徑下不要新增其他項有的重複路徑,尤其是掛載centos系統映象的iso路徑,否則有包都會提示「沒有可用軟體包 docker。錯誤:無須任何處理」。
二、建立存放rpm包的目錄,這個裡放到 /media/centos/,因為centos-media.repo配置檔案中baseurl就自帶這個目錄.
[root@centos7 ~]# mkdir -p /media/centos/[root@centos7 ~]# mv *.rpm /media/centos/
三、建立repodata資料夾,將/media/centos/目錄製作成軟體倉庫
[root@centos7 ~]# yum install -y createrepo[root@centos7 ~]# createrepo /media/centos/
在/media/centos/就可以看到有個repodata資料夾,裡面是相關配置檔案,不要去改動。
如果要增加或刪除了rpm包,重新執行createrepo --update命令來更新。
[root@centos7 ~]# createrepo --update /media/centos/
四、檢視倉庫列表
[root@centos7 ~]# yum repolist
五、網路訪問倉庫
上面操作中只是在本地建立了乙個yum倉庫,這樣別人是無法使用的。所以通常會在計畫任務中把公網yum源同步到本地(推薦使用reposync),同步後再執行一次createrepo更新元資料,最後把倉庫目錄通過ftp或者nginx、apache、nfs服務等共享出來,然後客戶端的配置檔案中修改如下:
[test]name=test
enable=1
gpgcheck=0
baseurl=
六、清除快取
[root@centos7 ~]# yum clean all
注意:如果自建的repo倉庫增加或刪除了檔案,執行過createrepo後,就要執行 yum clean all 來清除之前的記錄。
如果是enabled=1開啟了乙個倉庫,不需要執行yum makecache。執行yum install 時會自動執行yum makecache
七、跳過不想安裝的源,比如安裝docker,先找到的是本地的docker,但是不想裝本地的,想裝網路的。
方法一:enabled=0來關閉此項的倉庫路徑。
enabled=0
方法二:用 --disablerepo=c7-media_centos 引數來跳過本地源,搜尋其他源。[c7-media_centos]是在centos-media.repo檔案裡的項名稱(要改成你的項名稱)
yum --disablerepo=c7-media_centos install docker
--disablerepo=[repo] 禁用乙個或多個軟體源(支援萬用字元)用,(逗號)分割多個引數。
yum --disablerepo=c7-media_centos,extras_163 install docker
yum repolist 列出所有/已啟用/已禁用的yum源yum list 列出所有/已安裝/可安裝的軟體包
yum info package 顯示某乙個軟體包的資訊 --建議使用rpm -qi package_name,yum顯示的比較慢,需要載入快取
yum install package -y安裝軟體包
yum reinstall package 重新安裝軟體包
yum remove|earse package 解除安裝軟體包
yum whatprovides|provides files 查詢某個檔案是哪個軟體包生成的,files通常指命令,比如可以寫nginx--這個命令比較實用
yum grouplist 列出所有/已安裝/可安裝的軟體包組 --用的不多,了解一下即可
yum groupinfo 顯示某個軟體包組的資訊
yum groupinstall 安裝某個軟體包組
yum groupremove 刪除某個軟體包組
yum history 檢視yum使用的歷史
yum clean 清除所有/軟體包/元資料
yum makecache 生成yum元資料
yum --nogpgcheck 不校驗公鑰檔案
yum -y 自動進行操作
yum update 公升級所有包,以及公升級軟體和系統核心,這就是一鍵公升級 --
yum update package 更新指定程式包package --一般不要使用這條命令
yum --disablerepo=repo --臨時禁用某個repo源
yum install nginx --disablerepo=nginx-stable --臨時禁用指定的repo,在其他的repo安裝nginx包,這條命令比較實用
yum --enablerepo=
yum -c list nginx --在快取中查詢包,速度更快
[root@node-2 ~]# yum install yum-fastestmirror -y#自動搜尋最快映象外掛程式並安裝(yum多個mirror自動選擇速度最快的mirror,yum-fastestmirror外掛程式,它會自動選擇最快的mirror)
#首先,請配置好yum環境,然後,確認配置檔案中,以及允許使用外掛程式:
cat /etc/yum.conf |grep plugins
plugins=1
沒有的該引數的,**入該設定。此外,要使用fastestmirror外掛程式,在.repo配置檔案中必須使用映象方式,也就是mirrorlist設定,而不是baseurl方式,例如:
# cat centos-base.repo |grep -a3 addons
[addons]
name=centos-4 - addons
mirrorlist=
#baseurl=
gpgcheck=1
gpgkey=
enabled=1
參照:學神mk 第一章 4-8-2-部署docker容器虛擬化平台.mp4
createrepo --update
yum解決rpm依賴
配置yum更新源 1.首先掛載cdrom到本地目錄 1mount dev cdrom mnt 2.開始配置centos原始檔 centos5.x預設的yum更新配置檔案在 etc yum.repos.d 目錄下,有兩個倉庫配置檔案 centos base.repo 用於設定遠端倉庫 centos m...
rpm 安裝 忽略依賴 解決RPM包依賴的幾種方法
前言 常用rpm的朋友們都知道,rpm簡單易用,但是它的依賴關係是最頭疼的!有時候比方說a包需要b包,b包需要c包,c包需要a包,好了。這就是最常見的死鎖了 類似資料庫有木有?這個時候有以下幾種方式可以解決 a 強制安裝 暴力型 使用rpm i force nodeps 強制安裝。忽略依賴關係。這種...
解決rpm包相互依賴問題
在安裝rpm包時,如果遇到迴圈依賴的問題時,可以通過下面的方法來安裝 用 號萬用字元匹配此套件的所有rpm,並將所有相依賴的rpm包一起安裝,同時加上 aid的引數。下面這條命令安裝了libx11 devel,xorg x11 proto devel,mesa libgl devel,libxdmc...