YUM仓库主配置文件
vim /etc/yum.conf
cachedir=/var/cache/yum/$basearch/$releasever //缓存目录
keepcache=0 //缓存软件包, 1启动 0 关闭
debuglevel=2 //调试级别 debug info warn error
logfile=/var/log/yum.log //日志记录位置
exactarch=1 //检查平台是否兼容
obsoletes=1 //检查包是否废弃
gpgcheck=1 //检查来源是否合法,需要有制作者的公钥信息
plugins=1 //是否启用查询
installonly_limit=5
bugtracker_url
# metadata_expire=90m //每小时手动检查元数据
# in /etc/yum.repos.d //包含repos.d目录
YUM仓库子配置文件
## 仓库名字
[zls-base]
## 注释:说明该仓库的作用
name=CentOS-$releasever - Base - mirrors.aliyun.com
## 仓库地址:可以写变量 支持:http:// file:// ftp://
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
### 用不上 ###
## 开启公钥认证
gpgcheck=1
## 指定公钥位置 可以是http:// 本地:file:// ftp://
gpgkey=file:///root/RPM-GPG-KEY-CentOS-7
制作本地yum仓库
方案一:FTP协议
1.安装ftp服务
[root@twg yum.repos.d]# yum install -y vsftpd
2.查看vsftpd相关目录和配置文件
[root@twg yum.repos.d]# rpm -ql vsftpd #查看关于vsftpd服务相关文件或目录
/var/ftp/pub #列出此目录后,可在目录中添加rpm包
3.进入目录
[root@twg yum.repos.d]# cd /var/ftp/pub
4.启动服务
[root@twg pub]# systemctl start vsftpd #启动服务
5.检测服务是否启动成功
[root@twg pub]# systemctl status vsftpd #查看服务情况
● vsftpd.service - Vsftpd ftp daemon
Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2020-04-15 17:36:51 CST; 29s ago
Process: 3991 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
Main PID: 3992 (vsftpd)
CGroup: /system.slice/vsftpd.service
└─3992 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
Apr 15 17:36:51 twg systemd[1]: Starting Vsftpd ftp daemon...
Apr 15 17:36:51 twg systemd[1]: Started Vsftpd ftp daemon.
[root@twg pub]# netstat -lntup|grep 21 #或者检查端口是否开启
tcp6 0 0 :::21 :::* LISTEN 3992/vsftpd
6.打开浏览器访问
- 访问到默认的ftp站点目录
7.将rpm包放入ftp站点目录
[root@twg pub]# ll #提前将rpm包准备好,放入站点目录中
total 128 #zabbix为官网中抓取包,详细过程可以参考yum的另外一章
drwxr-xr-x. 2 root root 77824 Apr 15 11:31 base
drwxr-xr-x. 2 root root 4096 Apr 15 15:46 repodata
drwxr-xr-x. 2 root root 16384 Apr 15 11:55 zabbix
8.安装创建yum仓库的命令
- 因需要作为服务器端,所以需要生成repo文件,必须安装此命令才能生成文件
[root@twg pub]# yum install -y createreop #安装creaerepo文件
9.将ftp服务的站点目录/var/ftp/pub创建成yum仓库
[root@twg pub]# createrepo /var/ftp/pub #指定将目录作为我的epel源
[root@twg pub]# ll #生成repodata文件,一般在客户端中访问就是访问此目录中
total 128 # 的xml文件
drwxr-xr-x. 2 root root 77824 Apr 15 11:31 base
drwxr-xr-x. 2 root root 4096 Apr 15 15:46 repodata
drwxr-xr-x. 2 root root 16384 Apr 15 11:55 zabbix
10.在客户端写配置文件
[root@oldboy yum.repos.d]# cat ftp.repo #在客户端中新建文件以.repo结尾
[ftp_repo] #指定仓库名
name='zhe shi wo de ftp cangku' #仓库注释信息,随意写
baseurl=ftp://10.0.0.200/pub #指定仓库路径,也就是服务器中createrepo的路径
gpgcheck=0 #公钥检查,为0不检查,一般为了保证rpm包没有进行篡改使用
enabled=1 #仓库1为开启,0为关闭
11.查看仓库信息
[root@oldboy yum.repos.d]# yum repolist #查看得知仓库中包一共有1626个
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
ftp_repo 'zhe shi wo de ftp cangku' 1,626
repolist: 1,626
方案二:本地协议,只能本机使用yum仓库
[root@twg yum.repos.d]# cat tcy.repo #在此目录下写入以.repo结尾的文件
[tcy_filename] #仓库名
name='tcy_filename' #仓库的注释信息,随意写
baseurl=file:///twg/ #路径为服务器createrepo的创建路径,为本地使用,
gpgcheck=0 #公钥检查,为0不检查,一般为了保证rpm包没有进行篡改使用
enabled=1 #仓库1为开启,0为关闭
方案三:使用nginx方案 http://
1.安装nginx服务
[root@twg yum.repos.d]# yum install -y nginx
2.手写nginx配置文件
[root@twg yum.repos.d]# cd /etc/nginx/conf.d/ #进入目录
[root@twg conf.d]# cat tcy.conf #自己写一个配置文件,随意命名为.conf
server {
listen 80; #监听端口
#修改为域名,如果为localhost可能会与主配置文件冲突,这里修改为域名需要在客户端同样改hosts文件
server_name www.tcy.com;
location / {
autoindex on;
root /twg; #网页访问路径
}
}
3.启动nginx
[root@twg conf.d]# systemctl start nginx
4.检测端口
[root@twg conf.d]# netstat -lntup|grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3899/nginx: master
tcp6 0 0 :::80 :::* LISTEN 3899/nginx: master
5.将自己的获取的rpm包全部放入到手写配置文件中路径指定地址/twg中
[root@twg twg]# ll #自己随意命名了两个目录
total 296
drwxr-xr-x. 2 root root 221184 Apr 15 16:36 base
drwxr-xr-x. 2 root root 16384 Apr 15 16:35 zabbix
6.创建仓库
[root@twg twg]# createrepo /twg #将自己的目录创建成repo文件,以便用户能访问
7.生成文件
[root@twg twg]# ll #当前目录下生成了一个repodate文件
total 296
drwxr-xr-x. 2 root root 221184 Apr 15 16:36 base
drwxr-xr-x 2 root root 4096 Apr 15 18:09 repodata
drwxr-xr-x. 2 root root 16384 Apr 15 16:35 zabbix
8.客户端手写配置文件
[root@oldboy yum.repos.d]# cat nginx.repo #客户端配置文件内容,路径指向服务器域名地址
[nginx_repo]
name='zhe shi wo de nginx cangku'
baseurl=http://www.tcy.com/ #因为是域名,所以客户端的hosts文件也需要修改,否则无法识别
gpgcheck=0 #检查公钥
enabled=1 #开启仓库
9.检测yum仓库
[root@oldboy yum.repos.d]# yum repolist #查看仓库开启信息
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
ftp_repo 'zhe shi wo de ftp cangku' 1,626
repolist: 1,626