yum源配置

  • 网络yum源
  • 例如阿里源
  • 本地yum源
  • 1.通过镜像制作本地yum源
  • 2.通过开启yum下载缓存功能制作自己的yum源
  • 3.制作局域网内yum源服务器



配置文件简介


yum源的配置文件是在

/etc/yum.repos.d/中的repo文件系统自动识别以repo结尾的文件作为yum源的配置文件,所以在备份的时候只需在此目录下建立备份目录将想要备份的配置文件放进去即可,系统不会自动加载你创建的目录

[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

参数解释

  1. [base]:容器名称,一定要放在[]中。
  2. name:容器说明,可以自己随便写。
  3. baseurl:yum 源服务器的地址或者是本地yum源地址。默认是 CentOS 官方的 yum 源服务器但是比较慢。
  4. enabled:此容器是否生效,如果不写或写成 enabled=1 则表示此容器生效,写成 enable=0 则表示此容器不生效。
  5. gpgcheck:如果为 1 则表示 RPM 的数字证书生效;如果为 0 则表示 RPM 的数字证书不生效。
  6. gpgkey:数字证书的公钥文件保存位置。不用修改。

yum基本命令使用

清理yum缓存:
	# yum clean all

缓存软件包信息:    
    # yum makecache
    
查询yum源信息:   
    # yum repolist           
查找软件:
	# yum search  mysql   
	此命令会搜索到系统已经安装和yum源里没有安装的软件信息,可以用他简单测试yum是否好用
	
查看命令属于哪个软件
    # yum provides rz    

查看系统已经安装好的软件和没有安装的软件(源里存在即可查到):
	# yum list	

安装软件:
	# yum install 软件名称
	# yum install mysql mysql-server -y			//-y跳过确认提示直接安装

重装:
    # yum -y reinstall 软件名        
    
卸载软件:
	# yum erase  mysql-server 
	# yum remove mysql-server 
	# yum -y remove mysql-server

网络yum源

例如阿里源

  1. 阿里源
    备份
mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/* /etc/yum.repos.d/bak

换源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

http://mirrors.aliyun.com/repo/Centos-7.repo是阿里源,配置其他源更改为相应的源地址清除缓存 重新加载

yum clean all
yum makecache

本地yum源

1.通过镜像制作本地yum源

  • 上传镜像文件到linux系统中
  • 创建挂载目录
mkdir /mnt/Centos7u9/
  • 将镜像文件挂载到创建的挂载目录
mount CentOS-7-x86_64-DVD-1708.iso /mnt/centos7u9/
  • 备份原yum源的配置文件
  • 删掉所有repo结尾的配置文件
rm -rf /etc/yum.repos.d/*
  • 创建本地源的配置文件
vi /etc/yum.repos.d/Centos7u9.repo
[OS-base]     #容器名
name=OS-base     #自定义名称
baseurl=file:///mnt/Centos7u9     #挂载路径
gpgcheck=0    #不检查数字签名
  • 清除缓存 重新加载
[root@localhost yum.repos.d]# yum clean all
已加载插件:fastestmirror
正在清理软件源: OS-base
Cleaning up list of fastest mirrors
Other repos take up 141 M of disk space (use --verbose for details)
[root@localhost yum.repos.d]# yum makecache
已加载插件:fastestmirror
Determining fastest mirrors
OS-base                                                     | 3.6 kB  00:00:00     
(1/4): OS-base/group_gz                                     | 153 kB  00:00:00     
(2/4): OS-base/filelists_db                                 | 3.3 MB  00:00:00     
(3/4): OS-base/primary_db                                   | 3.3 MB  00:00:00     
(4/4): OS-base/other_db                                     | 1.3 MB  00:00:00     
元数据缓存已建立
[root@localhost yum.repos.d]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
源标识                                 源名称                                 状态
OS-base                                OS-base                                4,070
repolist: 4,070

2.通过开启yum下载缓存功能制作自己的yum源

一般我们用yum下载软件包时自动安装后都会把软件包删除不会存留,这个是由/etc/yum.conf配置文件中的keepcache关键字(值为1开启缓存,0为不缓存)决定的,其中缓存到那个路径是由cachedir指定的

  • 修改配置文件
vi /etc/yum.conf
[main]
cachedir=/yum-cache #指定的目录
keepcache=1 #开启缓存
  • 下载几个服务
yum -y install ftp

查看设置的缓存目录下是否会出现文件

[root@localhost yum.repos.d]# find /yum-cache/ -name "*.rpm"
/yum-cache/base/packages/ftp-0.17-67.el7.x86_64.rpm
  • 利用管道符和将查找到的包移动到将要制作yum源的目录里
[root@localhost yum.repos.d]# find /yum-cache/ -name "*.rpm" | xargs -i mv {} /myyum/
  • 下载 创建repo文件工具制做yum源
[root@localhost yum.repos.d]# yum -y install createrepo
[root@localhost yum.repos.d]# createrepo /myyum/
Spawning worker 0 with 1 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
  • 编辑yum源配置文件
vi myyum.repo
[myyum]
name=myyum
baseurl=file:///myyum   
gpgcheck=0
  • 清理缓存 并查看yum源信息
[root@localhost yum.repos.d]# yum clean all
已加载插件:fastestmirror
正在清理软件源: myyum
Cleaning up list of fastest mirrors
Other repos take up 372 M of disk space (use --verbose for details)
[root@localhost yum.repos.d]# yum makecache
已加载插件:fastestmirror
Determining fastest mirrors
myyum                                                       | 2.9 kB  00:00:00     
(1/3): myyum/filelists_db                                   |  817 B  00:00:00     
(2/3): myyum/other_db                                       | 1.4 kB  00:00:00     
(3/3): myyum/primary_db                                     | 2.0 kB  00:00:00     
元数据缓存已建立
[root@localhost yum.repos.d]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
源标识                                  源名称                                 状态
myyum                                   myyum                                  1
repolist: 1
[root@localhost yum.repos.d]#

3.制作局域网内yum源服务器

需要两台计算机能互相ping通
一台服务端
一台为客户端

服务端

  • 下载vsftpd 并开启服务
yum -y install vsftpd
systemctl start vsftpd
  • 将需要制作成yum源的rpm包移动到/var/ftp/pub/
  • 下载createrepo工具将ftp目录制作成repo文件
createrepo pub/

客户端

  • 配置/etc/yum.repos.d/的配置文件
vim my.repo
[ftpYum]
name=centos
baseurl=ftp://192.168.246.170/pub # 换成服务端ip
enabled=1
gpgcheck=0
  • 清理缓存 重新加载
yum clean all
yum makecache
yum repolist