自定义的第三方软件源目录中出现该错误
在学习ftp文件传输时,想要使用yum下载镜像中的工具lftp,出现错误:xxx/rhel7/repodata/repomd.xml: [Errno 14] FTP Error 550 - Server denied you to change to the directory
。
在网上看了很多针对此错误的博客,但似乎和我的错误原因都不一样,花了点时间研究这个内容。
以下是报错时执行的命令:
经过对比查找,确认我已经挂载好镜像。
在这里多说一句:
镜像可以重复挂载,即同一个镜像可以同时挂载在两个目录下。
例如:
再次查找,发现问题是我没有在本地建立第三方软件的来源目录(/software
),所以系统的寻找路径不是本地(如file://xxx),,而是/var/ftp/software
。
在本地添加了第三方软件来源目录后,报错如下:
以上报错说明本地的查询目录下找不到对应的文件。经过查询,本地目录software
下确实没有repo.xml文件。
[root@linux7_clone software]# find /software -name repomd.xml
##在目录software下查询repomd.xml文件,返回为空。
原因在于,创建目录后,没有及时生成软件数据库,即没有执行createrepo -v /software
命令。
对于两个第三方软件的资源目录(/software
和/var/ftp/software
)均执行该命令,然后执行yum clean all
,便可解决此错误!!!
此时,便可以正常使用yum命令下载文件了。
镜像源目录中出现该错误
如果报错是找不到挂载点的repomd.xml
,很大概率上是因为镜像未挂载。因为直接在Shell中执行mount命令挂载镜像只是临时挂载,所以重启系统后还需将镜像重新挂载。要解决此问题,可以将镜像永久挂载在某个挂载点。
如果镜像只想被挂载一次(不让镜像同时挂载在两个目录下),可以在配置yum源时,把所有以Linux镜像为源目录的baseurl均设置为这个镜像的唯一挂载点。