搭建一个网络仓库
服务端: 10.0.0.200
1.准备软件包( 1.光盘 2.缓存 3.联网下载 4.同步 )
#1.挂载光盘
mount /dev/cdrom /mnt
2.通过ftp共享软件包存在的目录
[root@oldboy ~]# yum install vsftpd -y
[root@oldboy ~]# systemctl start vsftpd
[root@oldboy ~]# systemctl stop firewalld
[root@oldboy ~]# setenforce 0
3.将光盘中的软件包都拷贝至 ftp 的共享目录下
[root@oldboy ~]# mkdir /var/ftp/centos7/
[root@oldboy ~]# find /mnt/ -type f -name "*.rpm" -exec cp {} /var/ftp/centos7/ \;
4.将共享的目录设置成yum仓库
[root@oldboy ~]# yum install createrepo -y
[root@oldboy ~]# createrepo /var/ftp/centos7/
客户端10.0.0.199
1.关闭所有的公网yum仓库
[root@oldboy-199 yum.repos.d]# gzip /etc/yum.repos.d/*
2.新建一个repo文件,文件中的baseurl指向服务端
[root@oldboy-199 ~]# cat /etc/yum.repos.d/ftpcentos7.repo
[ftp-centos7]
name = This is Base Repo
baseurl = ftp://10.0.0.200/centos7/
enable = 1
gpgcheck = 0
3.测试是否能正常安装软件
[root@oldboy-199 ~]# yum install httpd -y
客户端通过共享的仓库安装zabbix软件
1.服务端需要提供zabbix软件相关的仓库 10.0.0.200
-------------获取zabbix的软件包--->
# curl https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/ > zabbix_1.txt #(生成源代码包)
# vim zabbix_1.txt
# grep "<a href" zabbix_1.txt
# grep "<a href" zabbix_1.txt | awk -F '"' '{print $2}' > zabbix_2.txt
# grep "<a href" zabbix_1.txt | awk - F '"' '{print "wget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/"$2}' > zabbix_3.txt
# chmod +x zabbix_3.txt (加执行权限)
# ./zabbix_3.txt (执行这个文件)
#(http://repo.zabbix.com/non-supported/rhel/7/x86_64/ zabbix还需要下载的四个软件包)
[root@oldboy ~]# mkdir /var/ftp/zabbix
[root@oldboy ~]# find ./ -type f -name "*.rpm" -exec mv {} /var/ftp/zabbix/ \;
# 将zabbix目录生成为一个yum仓库
[root@oldboy ~]# createrepo /var/ftp/zabbix/
# zabbix还缺少的四个软件包
wget http://repo.zabbix.com/non-supported/rhel/7/x86_64/fping-3.10-1.el7.x86_64.rpm
wget http://repo.zabbix.com/non-supported/rhel/7/x86_64/iksemel-1.4-2.el7.centos.x86_64.rpm
wget http://repo.zabbix.com/non-supported/rhel/7/x86_64/iksemel-devel-1.4-2.el7.centos.x86_64.rpm
wget http://repo.zabbix.com/non-supported/rhel/7/x86_64/iksemel-utils-1.4-2.el7.centos.x86_64.rpm
2.客户端新建一个repo文件指向服务端提供的zabbix仓库 10.0.0.199
[root@oldboy-199 ~]# cat /etc/yum.repos.d/ftp-zabbix.repo
[ftp-zabbix]
name = ftp share zabbix repo
baseurl = ftp://10.0.0.200/zabbix/
enable = 1
gpgcheck = 0
3.客户端测试zabbix仓库是否可用
[root@oldboy-199 ~]# yum clean all
[root@oldboy-199 ~]# yum install zabbix-agent
[root@oldboy-199 ~]# yum install zabbix-get
[root@oldboy-199 ~]# yum install zabbix-server
客户端需要通过共享的仓库安装nginx软件
curl http://nginx.org/packages/centos/7/x86_64/RPMS/ #生成nginx源码包
源码包管理
1.源码包是什么
源码包指的是开发编写好的程序源代码,但并没有将其编译为一个能正常使用的工具。
2.为什么要学习源码包
1、部分软件官网仅提供源码包,需要自行编译并安装。
2、部分软件在新版本有一些特性还没来得及制作成rpm包时,可以自行编译软件使用其新特性。
3.源码包的优缺点
1.可以自行修改源代码
2.可以定制需要的相关功能
3.新版软件优先更新源码
4.缺点是:
1) 相对yum安装软件会复杂很多。
2) 标准化实施困难,自动化就无法落地。
3.源码包如何获取
常见的软件包都可以在官网获取源码包,比如 apache、nginx、mysql等等
4.将源码包编译为二进制可执行文件步骤如下,简称安装三步曲
configure,生成makefile文件
#1.基础环境准备
[root@node1 ~]# yum install -y gcc make wget
#2.下载源码包
[root@node1 ~]# wget http://nginx.org/download/nginx-1.15.12.tar.gz
#3.解压源码包, 并进入相应目录
[root@node1 ~]# tar xf nginx-1.15.12.tar.gz
[root@node1 ~]# cd nginx-1.15.12
#4.配置相关的选项,并生成Makefile
[root@node1 nginx-1.15.12]# ./configure --prefix=/soft/nginx-1.12.2
#5.编译/将Makefile文件编译可执行二进制程序
[root@node1 nginx-1.15.12]# make
#6.将二进制文件拷贝至对应的目录中/安装
[root@node1 nginx-1.15.12]# make install
测试
ln -s /usr/local/nginx-1.16/ /usr/local/nginx
/usr/local/nginx/sbin/nginx
#最后浏览器访问该服务器的IP地址即可
显示:welcome to ngxinx