最近集團私有云上了一個項目,工作分配給了新來的小夥子,讓他重做部分服務器系統後搭建私有的Yum倉庫。倉庫是搭建好了,但是他反饋給我,無法使用,一直報錯:[Errno 14] FTP Error 550 - Server denied you to change to the given directoryA。這裏進行記錄下排查及解決思路。
1.現象描述
(1)安裝完畢Yum倉庫後,鏡像倉庫主機安裝內容報錯
[root@localhost ftp]# yum install net-tools
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解決依賴關係
--> 正在檢查事務
---> 軟件包 net-tools.x86_64.0.2.0-0.25.20131004git.el7 將被 安裝
--> 解決依賴關係完成
依賴關係解決
=============================================================================================================================================================
Package 架構 版本 源 大小
=============================================================================================================================================================
正在安裝:
net-tools x86_64 2.0-0.25.20131004git.el7 c7-media 306 k
事務概要
=============================================================================================================================================================
安裝 1 軟件包
總下載量:306 k
安裝大小:917 k
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for c7-media
net-tools-2.0-0.25.20131004git FAILED
ftp://192.168.188.2/pub/Packages/net-tools-2.0-0.25.20131004git.el7.x86_64.rpm: [Errno 14]
FTP Error 550 - Server denied you to change to the given directoryA
正在嘗試其它鏡像。
(2)其他主機配置了此yum倉庫執行Yum安裝命令提示
failure: repodata/repomd.xml from c7-media: [Errno 256] No more mirrors to try.
ftp://192.168.188.2/pub/repodata/repomd.xml: [Errno 14] curl#7 - "Failed connect to
192.168.188.2:21; 沒有到主機的路由"
ftp://192.168.188.2/pub/repodata/repomd.xml: [Errno 14] curl#7 - "Failed connect to
192.168.188.2:21; 沒有到主機的路由"
ftp://192.168.188.2/pub/repodata/repomd.xml: [Errno 14] curl#7 - "Failed connect to
192.168.188.2:21; 沒有到主機的路由"
(3) 在瀏覽器中訪問配置的yum鏡像倉庫地址
ftp://192.168.188.2/pub/
發現沒有展現所有的文件夾內容,僅有一個文件夾:目錄repodata
2.排查問題思路
(1)確認ftp服務是否正常運行
systemctl status vsftpd
服務器正常。
(2) 確認/var/ftp/pub路徑下的文件是否完整
文件內容正常,和光盤進行對比。
ll /var/ftp/pub
(3)確認/etc/yum.repos.d/CentOS-Media.repo文件是否配置錯誤
cat /etc/yum.repos.d/CentOS-Media.repo
沒有任何錯誤。
(4)排查服務器層防護牆及selinux
防火牆
systemctl status firewalld
systemctl status iptables
防火牆都是關閉的
查看selinux
cat /etc/sysconfig/selinux
這是不是disabled寫錯了,寫成了disable???
(5) 修改selinux配置文件,重啓機器,然後在測試。
(6) 再次測試
仍然報錯:[Errno 14] FTP Error 550 - Server denied you to change to the given directoryA
(7) 好像忘記了重新生成源文件內容
執行命令
createrepo .
(8) 仍然不行
(9) 突然想起來在瀏覽器訪問地址時僅僅顯示僅有一個文件夾:目錄repodata,難道是在未修改selinux的配置時複製的光盤鏡像文件存在問題?
(10)於是,刪除/var/ftp/pub文件夾下的所有文件。
確保是在pub路徑下,否則執行了刪除命令後後果自負!!!!!
cd /var/ftp/pub/
rm -rf *
(11) 再次複製光盤內容至/var/ftp/pub/路徑下
cp -a /mnt/* /var/ftp/pub
cd /var/ftp/pub/
ls –rtlh
(12) 重新創建源配置內容
cd /var/ftp/pub/
createrepo .
(13)可能還會出現無法使用的情況,注意下pub下文件夾的權限
cd /var/ftp/
chmod 755 -R pub