Redhat7配置yum源(本地源和网络源)

目录

一:配置本地yum源

二:配置网络yum源


YUM(Yellow dog Updater Modified): yum是基于RPM包构建的软件更新机制,可以自动解决rpm包之间的依赖关系,所有软件包由集中的yum软件仓库提供。其理念是使用一个中心仓库(repository)管理一部分甚至一个distribution的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、 删除等操作,减少了Linux用户一直头痛的dependencies的问题。 可以同时配置多个资源库(Repository),简洁的配置文件(/etc/yum.conf),自动解决增加或删除rpm包时遇到的依赖性问题,保持与RPM数据库的一致性。

yum的配置文件在 /etc/yum.repos.d/ 下面,必须以 .repo 结尾!

一:配置本地yum源

配置本地yum源是通过本地映射光盘挂载到系统中,然后将yum的配置文件中的 baseurl 指向挂载的目录即可。

首先在虚拟机的这个配置中,勾选使用iso映射文件,然后选中我们iso文件所在的位置即可。

在虚拟机系统中,我们的 iso 文件是 /dev/sr0 设备,系统会默认把我们的iso文件挂载到 /run/media/$username/ 目录下。但是现在我们要将iso文件挂载到 /mnt/cdrom 下。如果mnt目录下没有cdrom,那么我们自己新建一个。

挂载有两种方式挂载

一: 一次性挂载,重启完你系统后失效

mount /dev/sr0  /mnt/cdrom

二: 永久挂载

我们的设备的挂载信息在 /etc/fstab 里面,所以我们要想永久挂载,需要修改 fstab 文件。用 vim 打开该文件,我们可以看到有三行信息,是其他分区的挂载信息,所以我们现在要把我们的光盘的挂载信息添加过去。

添加如下我们光盘的挂载信息过去

/dev/sr0        /mnt/cdrom      iso9660   defaults    0    0

添加完后,保存退出。

然后执行 mount -a 。这个命令的意思是挂载fstab文件中的所有文件系统。可以看到,我们已经挂载好了。

挂载好iso文件之后,我们去修改源的配置文件 /etc/yum.repos.d/ ,它默认有一个文件,我们把它删除,然后自己新建以 .repo 结尾的文件,用vim编辑器打开。输入以下的配置,保存。

[name]               #括号中的名称为仓库源名称,通常为字母和数字,必须填写
name=my new repo     #对yum的描述,可写可不写
baseurl=file:///mnt/cdrom    #baseurl表示声明yum可以管理并使用的rpm包路径,必须填写
enabled=1            #enabled表示当前仓库是否开启,1为开启,0为关闭,此项不写默认为开启
gpgcheck=0           #gpgcheck表示安装rpm包时,是否基于公私钥对匹配包的安全信息,1表示开启,
                     #0表示关闭,此项不写默认为验证

然后执行 yum clean all ,清空缓存信息。

yum list | wc -l 统计列出所有包的数量,如果列出了,说明yum源配置完成。这里可以看出有4405个包。

二:配置网络yum源

由于Red Hat Enterprise Linux7的更新包只对注册的用户生效,所以需要自己手动改成Centos的更新包,Centos几乎和和Redhat是一样的,所以无需担心软件包的兼容问题。

首先查看redhat7系统本身安装的yum软件包 ,redhat本身安装了6个关于yum的软件包,我们需要把它给卸载!

rpm  -qa | grep yum

卸载这些软件包的指令

rpm -qa | grep yum | xargs rpm -e --nodeps   #不检查依赖关系,直接卸载

然后重新安装centos的yum软件包 ,把软件包放到统一的文件夹里,然后安装,安装完后可以看到centos安装包已经安装好。这里我看其他很多人的教程给的centos的yum的安装包的链接都是不可用了,后来我自己到国外的网站找了几个可用的安装包。

链接: 百度网盘 请输入提取码 提取码: i4pe

rpm -ivh *              # 安装该目录下所有rpm包
rpm -qa | grep yum      # 查询是否安装好

安装完centos的yum软件包后,就可以去修改 /etc/yum.repos.d/ 下的文件了,这里和配置本地yum源修改一样

[base]
name= yum repo
baseurl=http://mirrors.aliyun.com/centos/7/os/$basearch/
enabled=1
gpgcheck=0

配置完保存退出,清除yum缓存,查看yum中的包有多少,这里可以看到有11056个,比本地yum源的四千多个多了不少!

<think>好的,我现在需要帮用户解决在RHEL 7配置Yum的问题,并解决常见问题。首先,我得回忆一下相关的步骤可能遇到的错误。根据提供的引用内容,用户提到老版本RHEL7的package在/mnt目录下,配置baseurl只需一次。引用23也涉及配置本地源更换的步骤。 首先,配置本地Yum的步骤应该包括挂载ISO镜像,创建挂载点,比如/mnt/cdrom,然后挂载。接着,需要编辑.repo文件,指定baseurl为file:///mnt/cdrom。这里需要注意路径是否正确,以及是否启用该。用户可能遇到的问题包括挂载失败、权限问题或者路径错误。 然后,常见问题方面,用户可能会遇到依赖包问题,比如缺少createrepo包,这时候需要安装。另外,如果原有的Yum没有清理干净,可能会导致冲突,所以需要卸载原有的Yum,可能需要强制安装某些依赖包,如引用3提到的。还有,在更换为网络如163时,需要下载对应的repo文件,并清理缓存。 需要确保步骤清晰,比如分步骤说明挂载、创建repo文件、清理缓存等。同时,要提醒用户注意权限问题,可能需要使用sudo。此外,如果遇到依赖问题,应该指导用户如何查找安装正确的包,可能涉及rpm命令手动下载。 还要考虑用户可能的错误操作,比如没有禁用其他导致冲突,或者baseurl路径写错。在解决常见问题时,需要列出具体的错误现象解决方法,比如提示无法找到包时检查挂载点,或者清理缓存。 最后,生成的相关问题应该围绕Yum配置的扩展,比如其他源配置、故障排查优化,这样可以帮助用户进一步学习相关知识。</think>### 如何在RHEL 7配置Yum及解决常见问题 #### 一、配置本地Yum(基于ISO镜像) 1. **挂载ISO镜像文件** 将RHEL 7的ISO文件挂载到目录(如`/mnt/cdrom`): ```bash mkdir -p /mnt/cdrom mount -o loop /path/to/rhel7.iso /mnt/cdrom # 若为物理光驱,使用`mount /dev/cdrom /mnt/cdrom` ``` 2. **创建Yum源配置文件** 在`/etc/yum.repos.d/`目录下新建`.repo`文件(例如`local.repo`): ```ini [Local-Base] name=Local Base Repository baseurl=file:///mnt/cdrom # RHEL7的软件包通常位于此路径[^1] enabled=1 gpgcheck=0 # 若需验证GPG签名,设置为1并指定gpgkey路径 ``` 3. **清理并更新缓存** ```bash yum clean all yum makecache ``` --- #### 二、配置网络Yum(以阿里云为例) 1. **备份原有** ```bash mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ ``` 2. **下载网络源配置文件** ```bash wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo sed -i 's/\$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo # 确保版本号匹配 ``` 3. **更新缓存** ```bash yum clean all && yum makecache ``` --- #### 三、常见问题及解决方法 1. **依赖包缺失** - **现象**:`Error: Cannot retrieve repository metadata (repomd.xml)` - **解决**: - 安装依赖包:`rpm -ivh deltarpm-*.rpm python-deltarpm-*.rpm createrepo-*.rpm`[^3] - 重新生成仓库元数据:`createrepo /mnt/cdrom` 2. **GPG签名验证失败** - **现象**:`GPG key retrieval failed` - **解决**: - 在`.repo`文件中设置`gpgcheck=0`(临时方案) - 或导入公钥:`rpm --import /mnt/cdrom/RPM-GPG-KEY-redhat-release` 3. **多冲突** - **现象**:`Error: Package conflicts` - **解决**:禁用冲突: ```bash yum-config-manager --disable conflicting-repo-id ``` --- #### 四、优化建议 1. **使用`yum-plugin-priorities`** 通过优先级插件控制的加载顺序: ```ini [Local-Base] priority=1 # 优先级数值越小,优先级越高 ``` 2. **定期清理缓存** ```bash yum clean packages # 清理旧包缓存 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值