配置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命令安装系统光盘自带的软件包或者软件组包了。
#!/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阿里源