使用createrepo自建yum倉庫
當服務器由於某些原因沒有外網時,可以通過createrepo搭建本地yum倉庫,使用yum能夠自動安裝軟件,並且自動處理好依賴關系。
那么怎么獲取該軟件及其依賴包的rpm包,供本地源使用?
本次以安裝httpd為例,准備好兩台服務器:
ip |
備注 |
192.168.100.162 |
有外網,獲取rpm包,供本地源使用 |
192.168.100.163 |
無外網,自建本地源,安裝軟件 |
1、在搭建YUM倉庫之前,先來了解下如何獲取RPM包
方式一:通過修改yum配置文件來獲取rpm包
在默認配置下使用yum命令安裝完軟件后安裝包是不會保留的,如果想在本地也留存一份安裝包,只需要將yum配置文件/etc/yum.conf中的keepcache=0改為1即可,這樣安裝包都會留存在cachedir所指定的目錄中
存放安裝包的路徑會根據不同的yum源創建不同的目錄,軟件包通過哪個源安裝的就會保存在哪個目錄中,同時相關依賴包也會自動下載,需要注意的如果執行了yum clean all的話是會刪除掉這些安裝包的:
方式二:通過yum的—downloadonly參數來獲取rpm包,此方式僅下載軟件包而不進行安裝 (本次使用此方式)
[root@162 ~]# yum install httpd --downloadonly --downloaddir=/data/repo
2、使用createrepo搭建本地倉庫
[root@162 ~]# yum install createrepo
[root@162 ~]# createrepo /data/repo/ #將該目錄制作成軟件倉庫
[root@162 ~]# ll /data/repo/
-rw-r--r-- 1 root root 2844388 8月 23 05:25 httpd-2.4.6-90.el7.centos.x86_64.rpm
-rw-r--r-- 1 root root 92944 8月 23 05:25 httpd-tools-2.4.6-90.el7.centos.x86_64.rpm
-rw-r--r-- 1 root root 31264 7月 4 2014 mailcap-2.1.41-2.el7.noarch.rpm
drwxr-xr-x 2 root root 4096 1月 9 10:24 repodata #創建一個repodata目錄
3、測試
登錄沒有外網的機器(192.168.100.163)
[root@163 ~]# ll /data/repo/ #把162機器上的倉庫文件拷貝到本地
-rw-r--r-- 1 root root 2844388 8月 23 05:25 httpd-2.4.6-90.el7.centos.x86_64.rpm
-rw-r--r-- 1 root root 92944 8月 23 05:25 httpd-tools-2.4.6-90.el7.centos.x86_64.rpm
-rw-r--r-- 1 root root 31264 7月 4 2014 mailcap-2.1.41-2.el7.noarch.rpm
drwxr-xr-x 2 root root 4096 1月 9 10:24 repodata
[root@163 ~]# cat /etc/yum.repos.d/test.repo #寫個repo文件
[test]
name=test
enable=1
gpgcheck=0
baseurl=file:///data/repo
[root@163 ~]# yum repolist
[root@163 ~]# yum install httpd
[root@163 ~]# ss -tanlp |grep 80
LISTEN 0 128 *:80 *:*