Linux使用createrepo制作本地yum源


1、什么是createrepo?

createrepo 是一個對rpm 文件進行索引建立的工具。大體功能就是對指定目錄下的rpm文件進行檢索,把每個rpm文件的信息存儲到指定的索引文件中,這樣方便遠程yum命令在安裝更新時進行檢索。

2、createrepo的應用場景

很多場景,我們需要在內網環境離線去安裝軟件包。但是在實際安裝過程中缺少依賴包。這時我們在本地可以聯網的環境下載所需的依賴包,制作成yum源,並打成tar包。這樣我們就可以在內網環境,使用yum命令安裝依賴的rpm包。

3、實戰演練:

0、下載依賴包
[root@ServerA ~]# yum install --downloadonly --downloaddir=/Packages package-name

1、安裝createrepo軟件包
[root@ServerA ~]# yum install -y createrepo


2、進入本地rpm包目錄
[root@ServerA yum]# ll

總用量 244

dr-xr-xr-x 2 root root 200704 12月 4 15:48 Packages

[root@ServerA yum]# pwd

/root/yum

[root@ServerA Packages]# createrepo ./


3、執行完后可以看到生成的repodata目錄
[root@ServerA yum]#

[root@ServerA yum]# ll

總用量 248

dr-xr-xr-x 2 root root 200704 12月 4 15:48 Packages

drwxr-xr-x 2 root root 4096 12月 4 15:49 repodata

[root@ServerA yum]#

[root@ServerA yum]# cd repodata/

[root@ServerA repodata]# ls

40bac61f2a462557e757c2183511f57d07fba2c0dd63f99b48f0b466b7f2b8d2-other.xml.gz

89f2f521e86842c3874e2d3e0adf9fcc57f51a677007695372fef9cbc094a93a-primary.sqlite.bz2

9710c85f1049b4c60c74ae5fd51d3e98e4ecd50a43ab53ff641690fb164a6d63-other.sqlite.bz2

cfa741341d5d270d5b42d6220e2908d053c39a2d8346986bf48cee360e6f7ce8-filelists.xml.gz

d863fcc08a4e8d47382001c3f22693ed77e03815a76cedf34d8256d4c12f6f0d-filelists.sqlite.bz2

e4567be6b0b9a3fa62ae0c731d0ace9656c93f38cac1947e37c4d58d4a097d1a-primary.xml.gz

repomd.xml


至此個人yum源完成


4、編輯yum配置文件使用
[root@ServerA repodata]# vim /etc/yum.repo/yum.repo
[yum2]
name=yum2
baseurl=file:///root/yum/
gpgcheck=0
enabled=1

5、將/etc/yum.repo/目錄的其他repo源移備份,以免受影響

[root@ServerA repodata]# cd /etc/yum.repo.d/
[root@ServerA repodata]# mv epel.repo  epel.repo.bak

 

6、完成,測試使用
#清空yum源
[root@ServerA repodata]# yum clean all

#更新yum源
[root@ServerA repodata]# yum makecache

#查看已加載的yum源,如果新添加的repo狀態是enabled狀態,說明加載成功。

[root@ServerA repodata]#  yum repolist all


7、關於更新yum倉
不需要重新生成,使用createrepo --update 路徑即可
[root@ServerA yum]# createrepo --update ./


[root@ServerA yum]# yum install package-name -y


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM