Linux中yum命令镜像源出错解决方案

好头疼,最近虚拟机中的linux系统一直不能安装东西,只要install就报找不到可用的链接源。。。但是要安装东西啊,所以就着手解决下。

解决方法:更换源

1.备份

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

2.下载新的CentOS-Base.repo 到/etc/yum.repos.d/​

   CentOS5:
  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
 
  CentOS6:
  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
  
   CentOS7:
  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3.生成缓存

 yum makecache

注意:

如果更换完源可能出现以下错误:

 [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found" Trying other mirror.
 [Errno 14] PYCURL ERROR 7 - "couldn't connect to host" Trying other mirror.
 [Errno 256] No more mirrors to try. 

解决方法:

 yum clean all
 rpm --rebuilddb

至此,找不到镜像的问题就迎刃而解了。。。如果还有其他问题,留言交流。。。

http://www.cnblogs.com/evilkind/p/6560107.html

<think>嗯,用户的问题是关于在内网环境中无法使用yum的情况下,如何通过U盘搭建本地yum源或者传输依赖包。首先,我需要回忆一下在Linux系统中,如何创建本地yum仓库。记得yum源通常是通过.repo文件配置的,指向包含软件包和元数据的目录。如果内网无法连接外网,用户需要手动下载所有依赖包,然后通过U盘传输到内网机器上。 首先,用户可能需要知道如何在外网机器上下载所需的RPM包及其依赖。这里可以使用yumdownloader工具,这个工具属于yum-utils包。需要安装yum-utils后,使用yumdownloader --resolve来下载主包及其所有依赖。不过,如果用户没有外网访问权限,可能需要另一台有网络的相同系统版本的机器来下载这些包。 然后,下载好的RPM包需要复制到U盘中,再转移到内网机器上。这里需要注意的是U盘的挂载,可能需要使用mount命令,特别是如果U盘是NTFS格式的话,需要安装ntfs-3g。不过如果内网机器没有安装,可能需要先解决这个问题,或者使用FAT32格式的U盘。 接下来,在内网机器上,用户可以选择直接安装这些RPM包,使用rpm -ivh命令,但依赖问题可能会很麻烦,因为需要手动处理顺序。所以更好的方法是搭建本地yum源,这样yum可以自动解决依赖。这就需要创建仓库元数据,使用createrepo命令。用户需要将所有的RPM包放在一个目录下,比如/mnt/usb/repo,然后运行createrepo .来生成元数据。 之后,需要配置yum源,创建一个新的.repo文件,指向U盘挂载的目录。这样内网机器就可以通过这个本地源来安装软件了。不过,用户需要确保.repo文件中的baseurl正确,可能是file:///path/to/repo。 另外,用户可能遇到的问题包括:U盘挂载权限、createrepo命令不存在、不同系统版本导致的依赖不兼容等。比如,如果内网机器没有createrepo,可能需要从RPM包中安装,这时候又需要先手动安装createrepo的依赖,这可能比较麻烦。 此外,用户可能需要考虑系统架构的一致性,比如都是x86_64或者aarch64,否则下载的包可能不兼容。还有,保持内外网机器的系统版本一致,比如都是CentOS 7.9,否则依赖关系可能会出错。 可能还需要处理GPG密钥的问题,有时候yum会检查包的签名,如果本地源没有配置GPG检查,可能需要禁用,或者在配置文件中设置gpgcheck=0。不过这可能存在安全风险,需要用户根据实际情况决定。 总结一下步骤应该是:在外网机器下载所有需要的RPM包和依赖,复制到U盘,挂载到内网机器,创建本地仓库,配置yum源,然后安装。同时需要注意系统版本、架构一致性,以及必要工具的安装。</think>### 分步解决方案 #### 一、准备阶段 1. **在外网环境下载所需文件** - 在可联网的同版本系统中安装下载工具: ```bash yum install yum-utils createrepo -y ``` - 创建存储目录并下载依赖包(以`vim`为例): ```bash mkdir /mnt/usb_repo yumdownloader --resolve --destdir=/mnt/usb_repo vim ``` 2. **生成仓库元数据** ```bash createrepo /mnt/usb_repo ``` #### 二、U盘传输 1. **将文件拷贝至U盘** ```bash cp -r /mnt/usb_repo /media/USB/ ``` 2. **安全卸载U盘** ```bash umount /media/USB ``` #### 三、内网环境配置 1. **挂载U盘并拷贝文件** ```bash mkdir /mnt/local_repo mount /dev/sdb1 /mnt/local_repo # 根据实际情况替换设备名称 cp -r /mnt/local_repo/usb_repo /opt/ ``` 2. **创建本地yum源配置文件** ```bash cat > /etc/yum.repos.d/local.repo <<EOF [local-repo] name=Local Repository baseurl=file:///opt/usb_repo enabled=1 gpgcheck=0 EOF ``` 3. **清除缓存并验证** ```bash yum clean all yum repolist # 应显示local-repo仓库 ``` #### 四、安装软件包 ```bash yum install vim -y ``` ### 关键注意事项 1. **系统版本一致性** 确保外网与内网系统版本(如CentOS 7.9)和架构(x86_64/aarch64)完全一致[^1]。 2. **依赖完整性** 若出现依赖缺失,需通过`yum deplist <package>`在外网补充下载。 3. **createrepo缺失处理** 若内网无`createrepo`,需提前下载其RPM包并手动安装: ```bash rpm -ivh createrepo-*.rpm ``` ###
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值