yum:
yum的全称是yellow dog updater,modified,是一个shell前端软件包管理器;基于RPM包管理,能够从指定的服务器下载RPM包并自动安装,可以自动处理依赖性关系,并且一次性安装所有依赖的软件包,无需一次次频繁的下载、安装。
yum的作用就是可以避免安装,从而简化安装过程。
例子:
执行yum install -y https:表示从yum上下载https包并安装;-y表示执行过程中yes/no选择yes,减少人机交互;这里获取安装包是从网络上获取并下载,而实际情况更多的是局域网,无法从外网下载https安装包,此时配置本地yum很有用!
为什么需要配置本地yum源:
1. 在没有网络时,无法下载到yum对应的软件,就无法安装,所以需要配置本地的yum源。
2. 在下载软件时,可以不走网络,直接走本地的yum仓库,安装软件更加方便,速度更快,但是,所有的客户端都必须走内网。
具体部署
yum源仓库部署(这里的源指的是服务端)
服务端部署
下载相应软件
1)yum install -y createrepo 这个命令用来创建yum仓库
2)yum install -y nginx 这里需要访问网站,所以需要nginx
3)yum install -y yum-plugin-priorities.noarch 这个命令用来在识别优先级
第一历程:将你的yum压缩包拖入家目录中,并解压
unzip yum.zip
第二历程:创建/yum/目录,作为yum仓库,将解压后的yum目录中的数据移动到仓库目录中
mkdir /yum
mv ~/yum/* /yum
第三历程:安装创建仓库的命令,并创建仓库
yum install createrepo -y
createrepo /yum
创建成功后,/yum目录中会多出这个repodata目录,如果没有这个目录,说明yum仓库没有创建成功。
第四个历程:使用nginx发布yum仓库
yum install nginx -y
编写nginx配置文件,然就检查语法,重启,做好本地hosts解析,在浏览器打开:
配置文件如下
[root@yum /yum]# vim /etc/nginx/nginx.conf
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
# include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name www.yum.com;
autoindex on;
location / {
root /yum;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
浏览器测试如下
客户端部署
第一历程:下载优先级软件
yum install -y yum-plugin-priorities.noarch
第二个历程:编写local.repo文件,让用户下载软件时优先走本地源
priority=1,添加一条优先级。
cd /etc/yum.repos.d/
[root@lb01 /etc/yum.repos.d]# vim local.repo
[local]
name=local
baseurl=http://10.0.0.77/
enabled=1
gpgcheck=0
priority=1
我在做yum仓库的时候,遇到了一个小错误,就是所有的步骤都做完了,最后还是走的阿里源。
解决方法,将下面的源移走,或者注释掉,我是把所有的源移走以后另外配的yum源,让他走我的源仓库,也会是上面配的local:
[root@lb01 /etc/yum.repos.d]# ll
total 40
-rw-r--r-- 1 root root 2575 Jun 23 14:27 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Apr 29 2018 CentOS-CR.repo
-rw-r--r--. 1 root root 649 Apr 29 2018 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 314 Apr 29 2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 630 Apr 29 2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Apr 29 2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 4768 Apr 29 2018 CentOS-Vault.repo
-rw-r--r--. 1 root root 664 May 30 09:16 epel.repo
-rw-r--r-- 1 root root 100 Jun 19 09:39 nginx.repo
测试环节: