redhat7/rhel7配置本地yum源

配置yum源基本步骤:

1. 在/etc/yum.repos.d/目录下创建一个必须以.repo结尾的文件,文件名字可以任意,格式为xx.repo,不要与该目录下的文件重名

2. 编辑这个文件,可以用vi命令/vim命令/gedit命令编辑该文件

(1)唯一标识符,唯一标识符的作用是为了区别yum源,不同的yum源必须是不同的标识符,不能出现同样的字符,例如[redhat] 字段,可以是任意字母+数字或者以下划线开头的字符,用中括号包括起来。

[redhat]
name=rhel
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0        

 

(2)name参数,这个名字可有可无,不影响文件的执行,name只是用来描述该yum源,可以说是方便自己辨认,一般情况下我们输入一些简单描述符,然后采用yum repolist命令查看就能看到这个yum源的描述,repo id就是[redhat]字段,这也是为什么[]里的字符必须唯一的原因,每个repo id标识一个.repo文件,类似于数据库的id字段。

[root@localhost yum.repos.d]# yum repolist
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
repo id                                                             repo name                                                         status
redhat                                                              rhel                                                              4,305
repolist: 4,305

(3)enabled 参数,该参数控制该yum源可不可用,若要禁止该yum源,设置enabled=0,若要使该yum源可用,设置enabled=1,如果没有写该参数,系统默认是1,也是就默认该yum源可用,这就是为什么我们看到的好多yum源没有enabled这一项,其实是默认开启该yum源。

(4)gpgcheck 参数,该参数为是否允许校验,一般情况下设置为0,如果不填写该参数,默认设置为1,即开启校验,需要填写校验码,通常情况下设置为0,不开启(省事)

3. 采用本地yum源,需先在虚拟机上挂载并启用系统光盘,采用df -h 密令查看硬盘的各项挂载信息,/dev/sr0光盘,当虚拟机中挂载了光盘的时候,sr0就是我们的光盘设备文件,系统会默认将其挂载到一个默认目录,为了方便管理,我们自行创建目录,然后将光盘挂载在该目录,这里我在根目录创建一个/media/cdrom的目录,然后将/dev/sr0挂载在/media/cdrom目录下,也可以用mount /dev/cdrom /media/cdrom命令挂载,/dev/cdrom和/dev/sr0是同一个设备文件,相当于光盘有两个名字,mount /dev/sr0和mount /dev/cdrom的结果是一样的,当然卸载光盘命令umount /dev/sr0和umount /dev/cdrom也是一样的,可以卸载光盘时可以umount /dev/sr0或者umount /dev/cdrom,也可以卸载挂载的目录umount /mdedia/cdrom

[root@localhost yum.repos.d]# df -h
Filesystem             Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root   18G  3.2G   15G  18% /
devtmpfs               908M     0  908M   0% /dev
tmpfs                  914M  140K  914M   1% /dev/shm
tmpfs                  914M  8.8M  905M   1% /run
tmpfs                  914M     0  914M   0% /sys/fs/cgroup
/dev/sr0               3.5G  3.5G     0 100% /media/cdrom
/dev/sda1              497M   96M  401M  20% /boot

 

(5)终端输入yum clean all 清除旧的yum源缓存,输入yum makecache建立新的yum源,输入yum list all 查看所有可用的yum安装包,yum list all | grep httpd查看可用的apache安装包

[root@localhost yum.repos.d]# yum list all | grep http
httpcomponents-client.noarch           4.2.5-4.el7                 redhat       
httpcomponents-core.noarch             4.2.4-6.el7                 redhat       
httpd.x86_64                           2.4.6-17.el7                redhat       
httpd-devel.x86_64                     2.4.6-17.el7                redhat       
httpd-manual.noarch                    2.4.6-17.el7                redhat       
httpd-tools.x86_64                     2.4.6-17.el7                redhat       
jakarta-commons-httpclient.noarch      1:3.1-15.el7                redhat       
libmicrohttpd.i686                     0.9.33-2.el7                redhat       
libmicrohttpd.x86_64                   0.9.33-2.el7                redhat       
perl-LWP-Protocol-https.noarch         6.04-4.el7                  redhat       
rubygem-net-http-persistent.noarch     2.8-5.el7                   redhat       

(6)出现httpd字样说明yum源配置成功,接下来就可以用yum install xx或yum groupinstall xx命令安装系统光盘自带的软件包或者软件组包了。

 

自动化挂载光盘和配置yum源的shell脚本

#!/bin/bash
#自动搭建yum本地仓库
#
cdrom () {
mount /dev/cdrom /media/cdrom &> /dev/null
[ $? -eq 0 ] && echo "挂载成功"
}

[ -d /media/cdrom ] || mkdir /media/cdrom
mount | grep -q /dev/sr0 
if [ $? -eq 0 ] # if /dev/sr0 has mounted
then
umount /dev/sr0 
cdrom # call fountion cdrom
else
cdrom
fi

[ -d /etc/yum.repos.d/bak ] || mkdir /etc/yum.repos.d/bak
ls -l /etc/yum.repos.d/ | grep *repo > /dev/null
if [ $? -ne 0 ] #if found *repo in /etc/yum.repos.d/
then
echo "正在移动文件到目录下"
mv /etc/yum.repos.d/*repo /etc/yum.repos.d/bak
else
echo "文件已经移动目录!"
fi
[ -e /etc/yum.repos.d/centos-media.repo ] || echo "[media]
name=CentOS-$releasever - Media
baseurl=file:///media/cdrom/
gpgcheck=0
enabled=1" > /etc/yum.repos.d/centos-media.repo

echo "清除yum缓存"
yum clean all &> /dev/null
yum makecache &> /dev/null
echo "YUM已经搭建完成"
echo -n  "共有软件包:" 
yum repolist | tail -1 | awk -F':' '{print $2}' 

cat /etc/fstab | grep /dev/sr0 &> /dev/null
if [ $? -ne 0 ] #if not found /dev/sr0 in /etc/fstab 
then
echo "正在写入开机自动挂载光盘"
echo "
/dev/sr0     /media/cdrom       iso9660 defaults 0 0
">> /etc/fstab
fi

Centos配置阿里源官方教程

Centos阿里源

你可能感兴趣的:(RHEL7)