8.16 软件管理yum
搭建一个网络仓库
1.本地光盘提供基础软件包: Base
yum缓存提供常用软件包: nginx, zabbix, docker
环境
系统 IP 角色
centos7 10.0.0.200 yum仓库服务端
centos7 10.0.0.100 yum仓库客户端
2.服务端进行yum仓库的搭建准备工作
yum仓库服务端:
①准备软件包(1.光盘 2缓存 3联网下载 4 同步)
②通过ftp共享
③将光盘中的软件包都拷贝到ftp下
①关闭防火墙、与selinux
systemctl stop firewalld
setenforce 0
②安装ftp服务,启动并加入开机启动
yum -y install vsftpd
systemctl start vsftpd
systemctl enable vsftpd
③开启yum缓存功能 vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
yum clean all
④提供基础base软件包
mkdir /var/ftp/centos7
mount /dev/cdrom /mnt
cp -rp /mnt/Packages/*.rpm /var/ftp/centos7/
⑤提供第三方源
mkdir /var/ftp/ops
yum -y install nginx docker
⑥复制已缓存的 Nginx docker 及依赖包 到自定义 YUM 仓库目录中 find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp -rf {} /var/ftp/ops \;
⑦安装createrepo并创建 reopdata仓库
yum -y install createrepocreaterepo /var/ftp/ops
createrepo /var/ftp/centos7
注: 如果此仓库每次新增软件则需要重新生成一次
3.客户端配置yum源指向服务端
①客户端配置并使用 base 基础源
gzip /etc/yum.repos.d/*
新建一个repo文件,文件中的baseurl指向服务端
vim /etc/yum.repos.d/centos7.repo
[centos7]
name=centos7_base
baseurl=ftp://10.0.0.200/centos7
enable=1
gpgcheck=0
②客户端配置并使用 ops 源vim /etc/yum.repos.d/ops.repo
[ops]
name=local ftpserver
baseurl=ftp://10.0.0.200/ops
gpgcheck=0
4.源码包管理
①.源码包是什么
源码包指的是开发编写好的程序源代码,但并没有将其编译为一个能正常使用的工具。
②.为什么要学习源码包
1、部分软件官网仅提供源码包,需要自行编译并安装。
2、部分软件在新版本有一些特性还没来得及制作成rpm包时,可以自行编译软件使用其新特性。
③.源码包的优缺点
1.可以自行修改源代码
2.可以定制需要的相关功能
3.新版软件优先更新源码
4.缺点是:
1) 相对yum安装软件会复杂很多。
2) 标准化实施困难,自动化就无法落地。
④.源码包如何获取常见的软件包都可以在官网获取源码包,比如 apache、nginx、mysql等等
3.将源码包编译
编译Nginx
#1.基础环境准备 yum install -y gcc make wget
#2.下载源码包 wget http://nginx.org/download/nginx-1.15.12.tar.gz
#3.解压源码包, 并进入相应目录 tar xf nginx-1.15.12.tar.gz cd nginx-1.15.12
#4.配置相关的选项,并生成Makefile ./configure --prefix=/soft/nginx-1.12.2
#5.将Makefile文件编译可执行二进制程序 make
#6.将二进制文件拷贝至对应的目录中 make install