day 18 搭建网络仓库

搭建一个网络仓库

服务端: 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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容