yum 仓库搭建与源码包安装实战

时间:2022-03-24 03:33:57

一、yum 仓库自建示例:

1.安装ftp服务

yum -y install vsftpd

2.创建yum源仓库目录

mkdir /var/ftp/pub/{base,zabbix,nginx}

3.挂载在cdrom

mount /dev/cdrom /mnt

4.复制光盘镜像中的rpm包到/var/ftp/pub/base目录

cp /mnt/Packages/* /var/ftp/pub/base/

5.网上下载nginx的rpm包到/var/ftp/pub/nginx目录下

wget -O /var/ftp/pub/nginx/nginx.rpm https://mirrors.aliyun.com/centos/7.6.1810/opstools/x86_64/perfmon/collectd-nginx-5.7.2-1.el7.x86_64.rpm

6.网上下载zabbix的rpm包到/var/ftp/pub/zabbix目录下

wget –O /var/ftp/pub/zabbix/zabbix.rpm https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/pcp-export-zabbix-agent-4.1.0-4.el7.x86_64.rpm

7.安装createrepo命令

yum -y install createrepo

8.创建 reopdata仓库,生成仓库信息

注意:如果此仓库每次新增软件则需要重新生成一次

createrepo /var/ftp/pub/base/

createrepo /var/ftp/pub/nginx/

createrepo /var/ftp/pub/zabbix/

9.开启ftp服务,关闭防火墙和selinux

ftp://10.0.0.11/pub/

systemctl stop firewalld

setenforce 0

10.用windows检验ftp服务是否正常

ftp://10.0.0.11

11.客户端操作:

1进入yum源仓库配置目录
cd /etc/yum.repos.d/
2.压缩备份原先的yum仓库
gzip ./*
3.配置base仓库文件
vim base.repo

[base]

name=base

baseurl=ftp://10.0.0.11/pub/base

gpgcheck=0

enabled=1
4.配置zabbix仓库文件
vim  zabbix.repo

[zabbix]

name=zabbix

baseurl=ftp://10.0.0.11/pub/zabbix

gpgcheck=0

enabled=1
5.配置nginx仓库文件
vim nginx.repo

[nginx]

name=nginx

baseurl=ftp://10.0.0.11/pub/nginx

gpgcheck=0

enabled=1
6.检验yum仓库是否能够使用,安装samba服务
yum –y install samba

二、源码包安装实践

yum 仓库搭建与源码包安装实战

yum 仓库搭建与源码包安装实战

基础环境

1. 基础环境准备

先安装个虚拟机,登陆nginx官网 http://nginx.org/选择一个稳定的nginx版本

2. 右键复制地址,到新克隆的纯净虚拟机下载

  • 先把源换成阿里云的
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

或者  wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  • 纯洁的新环境需要安装一下wget,vim 上传下载
yum -y install wget
yum -y install vim
yum install -y lrzsz

3.源码包下载

wget http://nginx.org/download/nginx-1.16.0.tar.gz

4.解压 tar xf nginx-1.16.0.tar.gz

5.进入nginx.查看一下

cd nginx-1.16.0
ll

6.在根下创建一个目录,比如/app

 mkdir /app

7.选要安装的浏览位置 我们把它放到/app下

  ./configure --prefix=/app/nginx-1.16.0

6.搜索

  find /var/cache/yum/ -name '*.rpm'
就是看yum的缓存下有没有东西,回车后会发现没有

服务端配置

1.修改yum.conf文件

 sed  -i 's#keepcache=0#keepcache=1#g'  /etc/yum.conf

2. 安装所有需要的依赖源

  yum install -y gcc gcc-c++ glibc pcre-devel zlib-devel openssl-devel

3.解压缩

需要先删除解压好的 rm -fr nginx-1.16.0.tar.gz

重新解压生成 tar xf nginx-1.16.0.tar.gz

4.生成初始化

进入目录

  cd nginx-1.16.0

  ./configure --prefix=/app/nginx-1.16.0

5.汇编

   make

6.安装

  make install

查看/app/ 这个nginx是程序

7.将缓存中的依赖包复制到/usr/local/src

   find /var/cache/yum/ -name '*rpm'|xargs cp -t /usr/local/src/

8.安装fpm依赖包

​    yum -y install rpm-build ruby rubygems ruby-devel lrzsz

下载及安装fpm软件

#1.fpm工具安装:
wget http://download.driverzeng.com/fpm-1.3.3.x86_64.tar.gz 解压: tar xf fpm-1.3.3.x86_64.tar.gz
gem sources --add https://mirrors.huaweicloud.com/repository/rubygems/ --remove https://rubygems.org/ gem sources --list 可以看到源变成了华为的源 #2.安装
gem install *.gem #3.打包rpm
​ fpm -s dir -t rpm -n nginx -v 1.16.0 -d 'pcre-devel,openssl-devel' -f /app/nginx-1.16.0/ -s dir 指定把一个目录打包
-v 1.16.0 版本
-d 'pcre-devel,openssl-devel' 指定依赖包
-post 指定脚本
-f /app/nginx-1.16.0/ 指定打包的目录 #4.将打包好的rpm包复制到/usr/local/src下
​ cp nginx-1.16.0-1.x86_64.rpm /usr/local/src #5.安装ftp服务 yum -y install vsftpd #6.将/usr/local/src下所有rpm文件复制到/var/ftp/pub/nginx ​ mkdir -p /var/ftp/pub/nginx cp /usr/local/src/* /var/ftp/pub/nginx/ #7.安装createrepo yum -y install createrepo #8.制作yum仓库 createrepo /var/ftp/pub/nginx #9.开启ftp服务和关闭防火墙 systemctl start vsftpd systemctl stop firewalld

客户端:

1.进入yum源目录

cd /etc/yum.repos.d/

2.备份现有yum源

gzip *

3.配置yum源文件

vim nginx.repo

[nginx]

name=nginx

baseurl=ftp://10.0.0.11/pub/nginx/    #可以在yum仓库中搜索粘贴上去

enable=1

gpgcheck=0

4.检验下是否配置成功

yum repolist

5.安装nginx

查询是否安装nginx

rpm -qa | grep nginx

有的话卸掉     rpm -e

重新安装   yum -y install nginx

下载nginx的路径会变成本地yum源

6.启动nginx

 /app/nginx-1.16.0/sbin/nginx

netstat -lntup  查看

如果httpd占用  systemctl  stop httpd

7.关闭防火墙

 systemctl stop firewalld

8.打开浏览器,重新访问:http://10.0.0.60/