day18-Linux基础学习 软件管理yum(下)

一、搭建网络仓库

day18-Linux基础学习 软件管理yum(下)_第1张图片
本地仓库原理图.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 " 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地址即可

你可能感兴趣的:(day18-Linux基础学习 软件管理yum(下))