一.搭建网络仓库
1.服务端准备软件包。
1.光盘
[root@zy ~]# mount /dev/cdrom /mnt/
2.缓存
3.联网下载
4.同步
2.通过ftp服务共享软件包存放的目录
[root@zy ~]# yum install vsftpd -y
(默认没有ftp服务需要安装)
[root@zy ~]# systemctl start vsftpd
(开启ftp服务,关机之后需要重新开启)
*可以设为开机自启服务】
[root@zy ~]# systemctl stop firewalld.service
(关闭防火墙)
[root@zy ~]# setenforce 0
(关闭安全机制)
3.将光盘中的软件包都拷贝到ftp的共享目录下
[root@zy ~]# mkdir /var/ftp/yum_10.0.0.200/
(创建一个软件包目录)
[root@zy ~]# find /mnt/ -type f -name "*.rpm" - exec cp {} /var/ftp/yum_10.0.0.200/ \;
(查找出挂载目录下的所有软件包,然后拷贝到/var/ftp/软件包目录下)
4.将共享的目录设置成yum仓库
[root@zy ~]# yum install createrepo -y
(默认没有createrepo需要安装)
[root@zy ~]# createrepo /var/ftp/yum_10.0.0.200/
(将yum_10.0.0.200目录中的所有文件转换成软件包)
2.客户端
1.关闭所有的公网yum仓库
[root@zy ~]# gzip /etc/yum.repos.d/*
2.在/etc/yum.repos.d/目录中新建一个repo文件,文件中的baseyrl指向服务端。(一般仓库文件名都是以repo结尾的)
[root@neimengJay yum.repos.d]# cat ftp_10.0.0.200.repo
[ftp_10.0.0.200.repo] (软件包名字)
name = This is yum (软件包描述)
baseurl = ftp://10.0.0.200/yum_10.0.0.200/ (将baseyrl指向服务端)
enadle = 1 (是否启用yum)【1=启用】【0=禁用】
gpgcheck = 0 (检查yum是否安全)【1=检查】【0=不检查】
(完成之后测试是否可以正常使用)
二.如果客户端需要通过共享的仓库安装zabbix软件怎么办?
服务端
1.服务端需要提供zabbix软件箱单的仓库
[root@zy ~]#[root@zy ~]# mkdir /var/ftp/zabbix/
(在/var/ftp/在创建一个zabbix共享目录)
2.获取zabbix的软件包
[root@zy ~]# curl https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/ >zabbix.txt
(浏览zabbix软件包所在网址,将输出内容输出到一个文件中)
[root@zy ~]# awk -F '"' '/href/ {print "wget -O /var/ftp/zabbix/"$2" ""https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/"$2}' zabbix.txt >zabbix1.txt
【将该条命令输出结果重定向到zabbix1.txt中,例:wget -O /var/ftp/zabbix/zabbix-web-pgsql-4.0.9-3.el7.noarch.rpm
(指定下载到/var/ftp/zabbix/zabbix-web-pgsql-4.0.9-3.el7.noarch.rpm 中)
https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-web-pgsql-4.0.9-3.el7.noarch.rpm】
# 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
[root@zy ~]# createrepo /var/ftp/zabbix/
(将zabbix目录中的所有文件转换成软件包)
2.客户端新建一个repo文件,文件中的baseyrl指向服务端
提供的zabbix仓库。
客户端
[root@neimengJay yum.repos.d]# cat ftp_10.0.0.200.zabbix.repo
[ftp-zabbix] (仓库名称)
name = Tith is zabbix repo (仓库描述)
baseur = ftp://10.0.0.200/zabbix/ (baseyrl指向ftp://10.0.0.200/zabbix/ 服务端)
enable = 1 (是否使用yum)【1=开启】【0=禁用】
gpgcheck = 0 (是否检查yum安全)【1=检查】【0=不检查】
(测试zabbix仓库是否可用)
三.源码包管理
1.源码包指的是开发编写好的程序源代码,但并没有将其编译为一个能正常使用的工具。
2.为什么要学源码包
因为部分软件官网只提供源码包,需要自己进行编译并安装。
一些软件在新版本有一些特性还没有来得及制作成rpm包时,可以自行编译软件使用其新特性。
3.源代码的缺点,优点
优点:可以自行修改源代码。
可以定制需要的相关功能。
新版软件优先更新原码。
缺点:相对yum安装软件会复杂很多。
标准化实施困难,无法实现自动化。
4.在常见的软件包官网都可以获取源码包比如:apache,nginx,mysql等等。(以tar.gz结尾的都是源码包)
5.如何将源码包编译为二进制可执行文件。
编译安装过程:
1.下载源代码安装包文件
2.tar解包(解压并释放源码包到指定的目录)
3../configure配置(设置安装目录,安装模块等选项,生成makefeile)
[root@zy nginx-1.17.3]# ./configure --prefix=/rpm/nginx-2.16 --with-http_perl_module=dynamic
error: the HTTP rewrite module requires the PCRE library.
(解决error错误)
[root@zy nginx-1.17.3]# yum -y install pcre-devel openssl openssl-devel
[root@zy nginx-1.17.3]# ./configure --prefix=/rpm/nginx-2.16 --with-http_perl_module=dynamic
(重新执行生成makefile文件)
4.make编译(将makefie生成可执行的二进制文件)
[root@zy nginx-1.17.3]# make
[root@zy nginx-1.17.3]# echo $?
(查看有没有报错)
5.make install 安装(复制二进制文件到系统,配置应用环境)
[root@zy nginx-1.17.3]#make install
6.测试应用,维护软件
访问该服务器的IP地址(10.0.0.200)