【RedHat】创建第一个Shell脚本——生成本地yum源和国内阿里云源

Shell脚本是一种用来批量执行一系列命令的脚本文件,毋庸置疑就是为了方便偷懒,执行一个Shell脚本就能完成所有指令。

要想写一个脚本,需要做以下三件事:

  • 写一个脚本
  • 允许Shell执行它
  • 把它放到Shell能找到的地方

写一个脚本–>需要文本编辑器才能写–>可以用系统自带的vi或者vim编辑器,或者自行选择使用

前期:加载CD/DVD ISO文件

点击右下角光盘标识,有如下显示就表示连接了ISO文件

在这里插入图片描述
点击设置,则可以显示正在使用rhel9的ISO文件

在这里插入图片描述

(一)搭建本地yum仓库的Shell脚本(简易版)

  • 这里将repo.sh 文件创建在root目录下,记住脚本的路径为/root。
vim repo.sh  	#采用vim文本编辑器创建并编辑repo.sh文件
##############################################################################

#DESCRIPTION:建立本地YUM仓库
#NOTES:
#1、新建目录
#2、配置本地YUMISO文件(挂载)
#3、配置本地YUM源文件local.repo 
#4、清除历史YUM源缓存
#5、建立新的YUM源缓存
#6、测试本地YUM源
#AUTHOR:Ley 
#CREATED2024/3/23

###############################################################################
#!/bin/bash
mkdir -p /media/rhel9
umount -f /dev/sr0
mount /dev/sr0 /media/rhel9
df -h
rm -rf /etc/yum.repos.d/*.repo
echo '[rhel_BaseOS]
name=rhel_BaseOS
baseurl=file:///media/rhel9/BaseOS
gpgcheck=0
[rhel_Appstream]
name=rhel_Appstream
baseurl=file:///media/rhel9/AppStream
gpgcheck=0' > /etc/yum.repos.d/rhel9.repo
cat /etc/yum.repos.d/rhel9.repo
systemctl daemon-reload
yum clean all
yum makecache
yum install httpd
echo '/dev/sr0        /media/rhel9    iso9660 defaults        0       0' >> /etc/fstab

##############################################################################
#脚本是写给人看的,所以我们在写脚本时一般都需要注释,在脚本的开头,就需简单介绍脚本的作用和功能,让别人能轻松看懂。
#每个公司企业有不同的格式,这里只是一个举例格式,也可以按照自己的方式写注释

#DESCRIPTION:建立本地YUM仓库
#NOTES:
#1、新建目录
#2、配置本地YUMISO文件(挂载)
#3、配置本地YUM源文件local.repo 
#4、清除历史YUM源缓存
#5、建立新的YUM源缓存
#6、测试本地YUM源
#AUTHOR:Ley 
#CREATED2024/3/23

###############################################################################
#脚本解释器
#!/bin/bash
#脚本内容:

#创建挂载目录
mkdir -p /media/rhel9
#取消/dev/sr0的挂载		
umount -f /dev/sr0
#将/dev/sr0挂载至/media/rhel9目录		
mount /dev/sr0 /media/rhel9	
#查看挂载结果是否挂载成功			
df -h
#删除/etc/yum.repos.d目录下的所有.repo文件		
rm -rf /etc/yum.repos.d/*.repo	
#使用echo命令创建rhel9.repo文件并将''内容写入/etc/yum.repos.d/rhel9.repo文件中		
echo '[rhel_BaseOS]
name=rhel_BaseOS
baseurl=file:///media/rhel9/BaseOS
gpgcheck=0
[rhel_Appstream]
name=rhel_Appstream
baseurl=file:///media/rhel9/AppStream
gpgcheck=0' > /etc/yum.repos.d/rhel9.repo
#查看rhel9.repo文件内容
cat /etc/yum.repos.d/rhel9.repo
#更新被修改的配置文件信息
systemctl daemon-reload
#清除历史YUM源缓存
yum clean all
#检查yum源文件信息是否有误,并建立新的YUM源缓存
yum makecache
#测试本地yum源
yum install httpd
#修改/etc/fstab文件,设置开机自动挂载
echo '/dev/sr0        /media/rhel9    iso9660 defaults        0       0' >> /etc/fstab

编辑完repo.sh 文件后,增加repo.sh脚本的可执行权限,并将其执行

[root@localhost ~]# chmod +x repo.sh
[root@localhost ~]# ./repo.sh

执行repo.sh脚本的输出结果如下:

# /dev/sr0设备没有被挂载
umount: /dev/sr0: not mounted.  
#成功将/dev/sr0挂载到/media/rhel9目录
mount: /media/rhel9: WARNING: source write-protected, mounted read-only.
#df -h 显示挂载信息
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        4.0M     0  4.0M   0% /dev
tmpfs           1.8G     0  1.8G   0% /dev/shm
tmpfs           726M  9.7M  716M   2% /run
/dev/nvme0n1p3   15G  4.9G   11G  33% /
/dev/nvme0n1p1  495M  349M  146M  71% /boot
tmpfs           363M   96K  363M   1% /run/user/1000
/dev/sr0        8.0G  8.0G     0 100% /media/rhel9   #从这里可以看到挂载成功
#显示配置好的本地YUM源文件内容
[rhel_BaseOS]
name=rhel_BaseOS
baseurl=file:///media/rhel9/BaseOS
gpgcheck=0
[rhel_Appstream]
name=rhel_Appstream
baseurl=file:///media/rhel9/AppStream
gpgcheck=0
#清除历史YUM源缓存
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use "rhc" or "subscription-manager" to register.

Last metadata expiration check: 0:00:03 ago on Sat 23 Mar 2024 05:39:05 PM CST.
#检查yum源文件信息是否有误,并建立新的YUM源缓存
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use "rhc" or "subscription-manager" to register.

rhel_BaseOS                                                                                                       2.7 MB/s | 2.7 kB     00:00    
rhel_Appstream                                                                                                    2.7 MB/s | 2.8 kB     00:00    
Last metadata expiration check: 0:00:01 ago on Sat 23 Mar 2024 05:39:05 PM CST.
Metadata cache created.
#测试yum仓库,下载httpd,测试成功,httpd已下载
Package httpd-2.4.57-8.el9.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

在这里插入图片描述
在这里插入图片描述

(二)配置国内yum源的shell脚本

在root目录下新建一个alirepo.sh脚本

##############################################################################
#DESCRIPTION:配置国内阿里云源
#NOTES:
#1、配置aliyun_yum.repo文件
#2、建立新的YUM源缓存
#6、测试国内镜像源YUM源
#AUTHOR:Ley 
#CREATED2024/3/24

###############################################################################
#!/bin/bash
echo '[ali_baseos]
name=ali_baseos
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/BaseOS/x86_64/os/
gpgcheck=0

[ali_appstream]
name=ali_appstream
baseurl=https://mirrors.aliyun.com/centos-stream/9-stream/AppStream/x86_64/os/
gpgcheck=0' > /etc/yum.repos.d/aliyun_yum.repo
yum makecache 1>/dev/null   #将输出结果丢进垃圾桶
yum -y update 1>/dev/null
~                                  
# chmod +x alirepo.sh  #增加可执行权限
# ./alirepo.sh      #执行,无输出结果
  • 24
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: 配置CentOS 7的yum源可以选择本地yum源或者阿里云的网络yum源。如果选择阿里云yum源,可以按照以下步骤进行配置。 首先,下载阿里云yum源文件。使用以下命令下载并保存到/etc/yum.repos.d/CentOS-Base.repo文件中: \[root@localhost yum.repos.d\]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo 然后,使用以下命令查看CentOS的版本: cat /etc/redhat-release 接下来,使用以下命令显示所有仓库: \[root@localhost yum.repos.d\]# yum repolist all 如果需要清空原有的yum源文件,可以使用以下命令: rm -f /etc/yum.repos.d/* 或 ls /etc/yum.repos.d/ 然后,创建一个新的目录用于备份原有的yum源文件: mkdir /root/123 将原有的yum源文件移动到新创建的目录中: mv -f /etc/yum.repos.d/* /root/123 这样就完成了CentOS 7配置阿里云yum源的过程。 #### 引用[.reference_title] - *1* *2* [虚拟机给Centos7配置yum源(本地yum和网络yum)](https://blog.csdn.net/LShuo666/article/details/129021403)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [centos7如何搭建本地yum源局域网yum源以及网络yum源](https://blog.csdn.net/qq_45861317/article/details/120054815)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值