一、搭建网络仓库
![](https://img.haomeiwen.com/i18901137/32feb3d223ac5662.png)
1、服务器端:10.0.0.200
1)准备软件包
[root@oldboy ~]# mount /dev/cdrom /mnt
2)通过ftp共享软件包存放的目录
[root@oldboy ~]# yum install vsftpd -y
[root@oldboy ~]# systemctl start vsftpd
[root@oldboy ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
[root@oldboy ~]# getenforce
Disabled
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/
2、客户机端:10.0.0.201
1)关闭所有的公网yum仓库
[root@oldboy ~]# gzip /etc/yum.repos.d/*
2)新建一个repo文件,文件中的baseurl指向服务器端
[root@oldboy ~]# cat /etc/yum.repos.d/ftp-centos7.repo
[ftp-centos7]
name=This is Base Repo
baseurl=ftp://10.0.0.200/centos7/
enabled=1
gpgcheck=0
3)测试是否能正常安装软件
[root@oldboy ~]# yum install httpd -y
二、搭建其他yum源仓库
如果客户端需要通过共享的仓库安装zabbix软件? 怎么办?
1、服务器端:10.0.0.200
1)服务端需要提供zabbix软件相关的仓库
[root@oldboy ~]# mkdir /var/ftp/zabbix
2)获取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 | awk -F '"' '{print "wget
https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/"$2}' > zabbix_2.txt
#修改文件权限
chmod +x zabbix_2.txt
#执行文件
./zabbix_2.txt
#复制下载的软件包至/var/ftp/zbbix共享目录
[root@oldboy ~]# find ./ -type f -name "*.rpm" -exec mv {} /var/ftp/zabbix/ \;
3)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
4)将zabbix目录生成为一个yum仓库
[root@oldboy ~]# createrepo /var/ftp/zabbix/
2、客户机端:10.0.0.201
1)新建一个repo文件指向服务端提供的zabbix仓库
[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
2)测试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
三、源码包管理
1、源码包是什么
源码包指的是开发编写好的程序源代码,但并没有将其编译为一个能正常使用的工具。
2、为什么要学习源码包
1)部分软件官网仅提供源码包,需要自行编译并安装。
2)部分软件在新版本有一些特性还没来得及制作成rpm包时,可以自行编译软件使用其新特性。
3、源码包的优缺点
(1)优点
1)可以自行修改源代码
2)可以定制需要的相关功能
3)新版软件优先更新源码
(2)缺点
1) 相对yum安装软件会复杂很多。
2) 标准化实施困难,自动化就无法落地。
4、源码包如何获取
常见的软件包都可以在官网获取源码包,比如 apache、nginx、mysql等等
5、源码包编译安装过程
此方法不是百分百通用于所有源码包,建议拿到源码包解压后,进入到目录找相关的README帮助文档
#congiure,生成makefile文件
[root@oldboy nginx-1.16.1]# ./configure --prefix=/usr/local/nginx-1.16 --with-http_mp4_module
[root@oldboy nginx-1.16.1]# yum install pcre pcredevel -y
[root@oldboy nginx-1.16.1]# yum install zlib zlibdevel -y
编译
[root@oldboy nginx-1.16.1]# make
安装
[root@oldboy nginx-1.16.1]# make install
测试
ln -s /usr/local/nginx-1.16/ /usr/local/nginx
/usr/local/nginx/sbin/nginx
#最后浏览器访问该服务器的IP地址即可
网友评论