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