FTP方式的局域網yum源配置
配置ftp方式的局域網yum源:本地yum源+ftp方式
搭建環境:
vmware
centos6.5
yum源倉庫的rmp包源來自取自CentOS-6.5-x86_64-bin-DVD1.iso
一、配置本地系統鏡像yum源
1.將CentOS-6.5-x86_64-bin-DVD1.iso文件上傳到/mnt/iso上:
(1)創建iso文件夾及cdron文件夾:
(2)用Xftp上傳CentOS-6.5-x86_64-bin-DVD1.iso文件到/mnt/iso上:
(3).將/mnt/iso/CentOS-6.5-x86_64-bin-DVD1.iso掛載到/mnt/cdron/下,並用df -h命令查看:
2.將/mnt/cdron/目錄下的所用文件復制到/opt/下(即將yum源倉庫放在/opt目錄下):
完成后如下圖:
3.切換到/opt/目錄下:刪除*.html、刪除CentOS/repodata/TRANS.TBL
4.安裝createrepo工具,生成YUM通用數據庫:
(1)切換到/mnt/cdron/Packages下
(2)直接用rpm手動安裝createrepo(將報錯,產生依賴關系缺包):
(3)報錯,要先安裝python-deltarpm(還將報錯,還產生依賴關系缺包):
(4)報錯,要先安裝deltarpm = 3.5-0.5.20090913git.el6:
這次沒報錯了,安裝成功!!
(5)執行createrepo -g /opt/repodata/b4e0b9342ef85d3059ff095fa7f140f654c2cb492837de689a58c581207d9632-c6-x86_64-comps.xml /opt/命令生成YUM通用數據庫:
生成YUM通用數據庫完成:
5.修改/etc/yum.repos.d/local-yum.repo配置文件(local-yum.repo文件為自己新添加的):
(1)vi /etc/yum.repos.d/local-yum.repo
(2)添加內容如下:
此處baseurl=file:///pot/為yum源倉庫的所在目錄!其他相關參數自行了解
(3)然后清除一下:
至此,本地yum源配置成功!
二、FTP方式配置局域網yum源
在服務端(我的yum源服務端的IP為192.168.195.132):
1.安裝vsfptd並開啟
(1)yum install vsftpd
(2)查看vsftpd狀態
(2)開啟vsftpd並查看是否開啟
(3)設置vsftpd自啟動
2.修改vsftpd 服務被登錄之后的默認登陸位置
(1)vsftp的匿名用戶為 linux系統的ftp 用戶.可以修改/etc/passwd ,將ftp用戶的 home目錄, 這里我設置成為了根目錄 .(也就是說client通過ftp登錄yum源服務器時默認登入到yum服務器的目錄,值得注意的是路徑不對會造成client訪問報錯,文末會討論)
3.修改ftp 在iptables中的權限.
(1).在/etc/sysconfig/iptables-config修改:
IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"
(2)在/etc/sysconfig/iptables 找到
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT這一句, 並在它上方添加下面一句限制局域網權限 .
-A INPUT -m tcp -p tcp -s 192.168.195.132/24 --dport 21 -j ACCEPT (紅色字段為yum源服務端的IP)
客戶端(IP為192.168.195.133):
1.修改vi /etc/yum.repos.d/nagios1.repo(nagios1.repo為自己新建的):
此處對baseurl=ftp://192.168.195.132/opt進行解釋一下:
當client客戶端要進行yum相關命令操作進行安裝軟件時,會通過ftp協議訪問到192.168.195.132(yum源服務端)的/opt/Packages/下尋找相應的rpm包並下載到本地(因為我們在服務端配置本地yum源時把yum倉庫放在了/opt/下),然后進行安裝的。又因為我們修改vsftpd 服務被登錄之后的默認登陸位置 為根目錄/下,所以配置baseurl=ftp://192.168.195.132/opt!!如果修改vsftpd 服務被登錄之后的默認登陸位置 為/opt/下,那么應該配置baseurl=ftp://192.168.195.132/!!!baseurl必須路徑必須配置正確,否則會報如下的錯誤:
2.測試
成功!!
###################################################################################################################################
文末記錄一下在本次ftp方式局域網yum源配置中的過程吧:
本渣第一次配置ftp方式局域網yum源,當然首先打開搜索引擎參考一下大牛的博客啦,找了幾篇博客參考,然后按照上面的步驟一步一步進行啦。很快在yum源服務端配置完了,測試也成功了!嘿嘿,接下來當然是配置客戶端啦,配置完了之后測試:yum clean all 然后 yum list |wc -l 。然后一看,報錯:
卧槽!!跟博客上的輸出結果不一樣啊。安慰自己,沒事沒事。可能是自己敲錯了字符而已,然后再一次重復步驟,發現並沒有敲錯字符!!嘿嘿,最尷尬的事情莫過於步驟跟大牛的一模一樣,但是大牛的輸出結果正確,而自己的報錯。GG!!!當然啦,將報錯信息copy然后搜索一下呀!!結果試了好幾個方法並不能解決!!!大寫的尷尬!!當然啦,向身邊的大牛請教啊!!!后來發現客戶端在配置/etc/yum.repos.d/nagios1.repo文件時baseurl路徑寫錯了,因為在yum源服務端修改vsftpd 服務被登錄之后的默認登陸位置為/var/ftp/pub/ ,而客戶端/etc/yum.repos.d/nagios1.repo的baseurl=192.168.195.132/opt。所以導致client客戶端找不到yum源服務端的yum源倉庫而報錯Error: Cannot retrieve repository metadata (repomd.xml) for repository: nagios1.都是盲目執行別人的步驟的鍋啊!!經請教之后:在yum源服務端修改
etc/vsftpd/vsftpd.conf文件,在文件末添加anon_root=/:
然后重啟一下vsftpd:(ervice vsftpt restart)、yum clean all。然后client就可以訪問yum源服務端了!!!!后來自己嘗試在yum源服務端將vsftpd服務被登錄之后的默認登陸位置/var/ftp/pub/修改成根目錄/下;並把剛剛在yum源服務端etc/vsftpd/vsftpd.conf文件上添加的 anon_root=/注釋掉,然后測試在client上也能成功訪問到yum源服務端!!
總之,服務端的vsftpd服務被登錄之后的默認登陸所在路徑(或服務端的etc/vsftpd/vsftpd.conf下anon_root參數的路徑)+客戶端/etc/yum.repos.d/nagios1.repo(我的為nagios1.repo,不要盲目復制)文件baseurl的IP后的路徑等於你在服務端yum源倉庫的路徑(即Packages所在的目錄路徑)!!!到此,ftp方式局域網yum源的配置成功了!!
哈哈哈,此處要感謝最后幫我解決問題的身邊的那位大牛濤哥!!!