一键配置本地yum源

在使用RedHat系统过程中,经常会安装各种包,而包的安装又存在着依赖性的问题,即一个包的安装通常依赖其它很多包的安装。这样,就会相当不便。所幸,RedHat提供了Yum。Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

Yum源支持三种配置方式:FTP、HTTP和本地file。下面脚本配置的yum源是基于本地文件的,利用的是系统光盘。

说明:

1> 必须将系统光盘挂载到系统光驱中。

2> 该例中处理的难题是光盘文件名为/media/RHEL_6.3\ i386\ Disc\ 1/,而通过for循环读取文件名,最后只显示/media/RHEL_6.3 i386 Disc 1,即中间的空格没有转义符。如果是将后者作为yum配置文件/etc/yum.repos.d/local.repo的baseurl,仍会报错。必须使用前者,即带有转义符的。在这里,用了baseurl=${i// /\\ }实现字符串替换,将空格替换为\空格。

复制代码
#!/bin/bash
rm -f /etc/yum.repos.d/*
echo "[BASE]" > /etc/yum.repos.d/local.repo
echo "name=base" >> /etc/yum.repos.d/local.repo
for i in /media/*
do
   if [ -e "$i" ] ; then
     baseurl=${i// /\\ }
     echo "baseurl=file://$baseurl" >> /etc/yum.repos.d/local.repo
   else
     echo "Please Insert The Disk!"
   fi
done
echo "enabled=1" >> /etc/yum.repos.d/local.repo
echo "gpgcheck=0" >> /etc/yum.repos.d/local.repo                                         
复制代码

脚本执行后的结果:

[oracle@node3 ~]$ cat /etc/yum.repos.d/local.repo 

[BASE]
name=base
baseurl=file:///media/RHEL_6.3\ i386\ Disc\ 1
enabled=1
gpgcheck=0

 

posted @   iVictor  阅读(3528)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示