yum是linux环境安装软件包的一种方式。很多时候安装一个软件需要安装1个或者多个其他软件。yum仓库用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需要依赖关系,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以是HTTP、FTP、nfs形式使用的集中地、统一的网络仓库如果你的linux环境不能访问外网,那你装yum没有意义,因为它需要访问http的仓库里面的。当然如果你有本地仓库,就把/etc/yum.repos.d改一下地址就可以。
yum源即是软件仓库,三种配置方式网络yum源(需要联网),局域网yum源,本地yum源。
yum安装软件:
yum list | grep 软件名 //查看软件
yum install 软件 -y //安装
一、网络yum源
查看配置文件
ll /etc/yum.repos.d
CentOS-Base.repo:在线的yum源配置文件
CentOS-Media.repo:本地yum源配置文件
查看CentOS-Base.repo:
先备份一份:
cp CentOS-Base.repo CentOS-Base.repo.bak
查看CentOS-Base.repo
cat CentOS-Base.repo
id:[base]基础 [updates]升级时 [extras]额外的
如果原本的不可用,可以配置为阿里的yum源:
[base]
name=CentOS-$releasever - Base
baseurl=https://mirrors.aliyun.com/centos/7/os/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=https://mirrors.aliyun.com/centos/7/updates/$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras
baseurl=https://mirrors.aliyun.com/centos/7/extras//$basearch/
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7
[centosplus]
name=CentOS-$releasever - Plus
baseurl=https://mirrors.aliyun.com/centos/7/centosplus//$basearch/
gpgcheck=1
enabled=0
查看可用的yum源: yum repolist
二、本地yum源
a.首先准备软件包(在镜像文件上===》需要挂载(永久挂载)),存在本机上
b.配置配置文件:.repo文件
配置:配置文件要指向本地的软件仓库,也就是指向存储的软件包的位置或目录
c.清空缓存 : yum clean all
d.查看可用的yum源:yum repolist
1、创建挂载镜像的文件夹
mkdir /mnt/centos
2、将iso镜像文件挂载到/mnt/centos下并修改/etc/fstab文件使永久挂载(重启后也生效)
mount -t iso9660 -o loop /dev/cdrom /mnt/centos
vim /etc/fstab 添加 /dev/cdrom /mnt/centos iso9660 defaults 0 0 0 0
3、进入/etc/yum.repos.d 目录修改CentOS-Media.repo文件
[local] //id:local 表示本地
name=CentOS-$releasever - local
baseurl=file:///mnt/centos //挂载镜像的文件夹路径
gpgcheck=1 //设置此源是否检验文件,1为校验,0为不校验
enabled=1 //启用该yum源
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7//公钥文件地址
4.清空缓存
yum clean all
5、查看可用yum源
yum repolist
三、局域网yum源
实现目标:在一个局域网内,将其中一台机器SERVER作为服务器,所有软件包放在SERVER上,其他机器安装软件时从SERVER上下载。
实现思路:
a. 软件包的准备
b. SERVER要提供网络服务(httpd服务)
c. 将软件包的库放入到httpd服务的目录中(/var/www/html)
d. 作为客户端的机器的yum源配置文件的修改
e. yum ckean all清空缓存
1、准备软件包,挂载镜像,永久挂载,和本地源配置一样
2、SERVER要提供网络服务(httpd服务),安装httpd
yum list | grep httpd 查看yum源中的可用包
yum -y install httpd.x86_64(安装服务)
关闭防火墙:service iptables stop 或systemctl stop|disable firewalld.service
设置防火墙开机不启动:chkconfig iptables off
开启服务:service httpd start 或 systemctl start httpd
3、将软件包的库放入到httpd服务的目录中(/var/www/html)
创建软链接:将挂载镜像的文件夹链接到httpd服务目录中
ln -s /mnt/centos /var/www/html
(相当于将软件包放到了httpd服务的目录下)
http://SERVER_IP/centos //全部配置完后重启httpd服务可以查看
4、作为客户端的机器的yum源配置文件的修改
备份所有repo文件(rename .repo .repo.bak ./*),使它们失效,改为.bak后缀;
拷贝CentOS-Base.repo.bak 并重命名为innet.repo:
cp CentOS-Base.repo.bak innet.repo
修改innet.repo 配置文件,删除掉不需要的
配置路径(http://开启httpd服务的主机/centos).enabled=1 表示启用此yum源
vim /innet.repo
[innet]
name=CentOS-$releasever - innet
baseurl=http://bigdata2/centos //http://开启httpd服务的主机/centos
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
5、清空缓存
yum clean all
6.测试
打开浏览器输入:http://开启httpd服务的主机的ip/centos