Nginx搭建局域网yum源问题补充及解决思路与方法转发收藏
这里是用安装telnet服务做测试。
Error downloading packages:
1:telnet-0.17-64.el7.x86_64: failed to retrieve Packages/telnet-0.17-64.el7.x86_64.rpm from centos7
error was [Errno 2] Local file does not exist: /etc/yum.repos.d/pdate/Packages/telnet-0.17-64.el7.x86_64.rpm

发现问题:
从第一行的error中提示中提取关键词,failed to retrieve,查询资料解决,未果。
从第二行的error中发现是找不到本地路径,路径是/pdata/packages,可是这个路径在手动创建的时候并没有创建,估计是系统自动生成的。而我们在自动创建的时候只执行了createrepo的命令。
其次在浏览器中输入IP地址可以访问,而且也可以查询到文件,说明文件是存在的,并且可以下载。
解决方法:
服务器端
执行如下命令,进入放置镜像文件的路径下,本例中是
/mirror/repo/centos/x86_64/7/packages/CentOs-7-x86_64-Everything
删除repodata目录
rm -rf repodata

然后用以下命令重新创建,重新生成repodata目录
createrepo --update /mirror/repo/centos/x86_64/7/packages/CentOS-7-x86_64-Everything-1708
在客户端
执行如下命令
yum clean all,清除yum缓存

yum makecache

以上命令意思是把服务器的包信息下载到本地电脑缓存起来,makecache建立一个缓存,以后用install时就在缓存中搜索,提高了速度。
重新执行yum install telnet命令
[root@shell yum.repos.d]# yum install telnet命令


成功完成。
结论:
局域网本地yum源的连接文件主要是repodata,这个文件是用createrepo命令创建的时候自动生成的,其位置路径与创建文件的路径相同,如果出现以上这种问题,提示在哪个目录,就在服务器端把哪个目录里的repodata文件删除,用createrepo –-update命令创建新的目录,再在客户端操作。
另外在linux中,当出现错误提示的时候,查询方法,一般是提取错误关键字,其中在错误信息中有的是数字比较重要,比入第几行出错。有的是把整个错误提示复制到查询窗口,进行查询。
解决问题的关键是思路,而思路的关键是快速定位问题,快速定位问题的关键是仔细提取关键词(要一行一行,一个单词一个单词的看),这是解决问题的根本方法和捷径。
相关推荐
-
MySQL 由于 Java 日期 LocalDateTime 数据精度引发的线上问题
MySQL 由于 Java 日期 LocalDateTime 数据精度引发的线上问题2025-04-02 00:59:31 -
MySQL最常用分组聚合函数2025-04-02 00:55:56
-
NGINX: 轮询调度、加权轮询调度、平滑加权轮询调度2025-04-02 00:55:49
-
在Windows平台上安装Nginx并设置开机自动启动服务2025-04-02 00:47:04
-
PHP判断文件或者目录是否可写,兼容windows/linux系统
PHP判断文件或者目录是否可写,兼容windows/linux系统2025-04-02 00:27:54