1. 各种安装方法使用情况

image.png
服务端进行yum仓库的搭建准备工作
1.jpg
2.jpg
有很多很多的rpm包 (光盘 | 下载 | 同步 )
nginx
mongodb
zabbix

写个脚本先把网络上的仓库下一些
base

curl http://nginx.org/packages/centos/7/x86_64/RPMS/ > 1.txt grep “href” 1.txt | awk -F ‘“‘ ‘{print $2}’ grep “href” 1.txt | awk -F ‘“‘ ‘{print $2}’ | sed -r ‘s#(.)#http://nginx.org/packages/centos/7/x86_64/RPMS/\1#g‘ grep “href” 1.txt | awk -F ‘“‘ ‘{print $2}’ | sed -r ‘s#(.)#wget http://nginx.org/packages/centos/7/x86_64/RPMS/\1#g‘ grep “href” 1.txt | awk -F ‘“‘ ‘{print $2}’ | sed -r ‘s#(.*)#wget http://nginx.org/packages/centos/7/x86_64/RPMS/\1#g‘ > 2.txt sh 2.txt

zabbix

curl https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/ >1.txt grep “href” 1.txt | awk -F ‘“‘ ‘{print $2}’ | sed -r ‘s#(.*)#wget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/\1#g‘ |bash

mongodb

curl https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/ >1.txt grep “href” 1.txt | awk -F ‘“‘ ‘{print $2}’ | sed -r ‘s#(.*)#wget https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/\1#g‘ |bash

2.我应该提供什么方法让客户端获取到该rpm包 ( http、ftp)

yum install vsftpd -y systemctl start vsftpd #访问 ftp://10.0.0.200/
#不能访问临时关闭防火墙 setenforce 0 #关闭selinux systemctl stop firewalld #关闭firewalld #增加仓库内容 mv —-> zabbix/ nginx/ mongodb/ /var/ftp/

3.如何将存放rpm包的目录制作为为一个仓库 base、nginx
[root@server ~]# yum install createrepo -y
[root@server ~]# createrepo /var/ftp/mongodb/
[root@server ~]# createrepo /var/ftp/zabbix/

4.客户端改变仓库指向
[root@client ~]# cat /etc/yum.repos.d/ftp_mongodb.repo
[mongodb]
name = db
baseurl = ftp://10.0.0.200/mongodb/
enabled = 1
gpgcheck = 0

检验
yum install mongodb-org

[root@client ~]# cat /etc/yum.repos.d/ftp_zabbix.repo
[zabbix-rep]
name = zabbix monitor
baseurl = ftp://10.0.0.200/zabbix/
enable = 1
gpgcheck = 0
检验
yum install zabbix-agent

(其中有ip地址的选项要根据自己的地址更改,如果出现不能访问仓库,就要看看自己的vstfpd是否发开,防火墙是否关闭,出现安装不了时检查自己修改的yum源是否对应上,或者yum仓库有没有创建createrepo)

1.源码包是什么
源码包指的是开发编写好的程序源代码,但并没有将其编译为一个能正常使用的工具。
2.为什么要学习源码包
1、部分软件官网仅提供源码包,需要自行编译并安装。
2、部分软件在新版本有一些特性还没来得及制作成rpm包时,可以自行编译软件使用其新特性。
3.源码包的优缺点
1.可以自行修改源代码
2.可以定制需要的相关功能
3.新版软件优先更新源码
4.缺点是: 1) 相对yum安装软件会复杂很多。2) 标准化实施困难,自动化就无法落地。
3.源码包如何获取
常见的软件包都可以在官网获取源码包,比如 apache、nginx、mysql等等
4.将源码包编译为二进制可执行文件步骤如下,简称安装三步曲
3.jpg

  1. ./configure #我想做什么菜,给哪个客人 --> 弄成一份清单
  2. make #按照清单做成对应的食物
  3. make install #将食物端到客人的桌上

[root@container ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
[root@container ~]# mkdir /soft
[root@container ~]# tar xf nginx-1.16.1.tar.gz -C /soft/
[root@container ~]# cd /soft/nginx-1.16.1/
[root@container nginx-1.16.1]# ./configure —prefix=/usr/local/nginx-1.16

报错信息
./configure: error: the HTTP rewrite module requires the PCRE library.
解决[root@container nginx-1.16.1]# yum install pcre-devel -y
#报错信息
./configure: error: the HTTP gzip module requires the zlib library.
解决 [root@container nginx-1.16.1]# yum install zlib-devel -y

在来一次
[root@container nginx-1.16.1]# ./configure —prefix=/usr/local/nginx-1.16
[root@container nginx-1.16.1]# make
[root@container nginx-1.16.1]# make install

为了后期好升级
[root@container nginx-1.16.1]# ln -s /usr/local/nginx-1.16/ /usr/local/nginx

停止此前的httpd服务,避免端口被占用造成nginx无法启动
[root@container nginx-1.16.1]# systemctl stop httpd

启动nginx
[root@container nginx-1.16.1]# /usr/local/nginx/sbin/nginx


总结:
1.yum仓库 ( 企业正常用的 )
2.源码包 ./configure make makeinstall

  1. rpmyum、仓库搭建复杂

二进制安装规范:

1. 安装流程

1 下载并上传软件至/server/tools
2 解压软件
3 用户的创建处理原始环境(新机器使用yum remove rpm )
4 设置环境变量
    cat >>/etc/profile<<EOF
    export PATH=/application/xxx/bin:$PATH
    EOF
  #重载环境变量
  source /etc/profile
5 授权目录
  chown -R mysql.mysql /application/*

6  配置文件的准备
7  配置启动
   1.vim  /etc/systemd/system/xxxx.service
   2.cp /application/xxxx/support-files/xxxx.server  /etc/init.d/xxxxd

8.启动

2. 目录规范

示例:
/application/sersync/
├── bin         #二进制包目录
│   └── sersync
├── conf       #配置文件目录
│   ├── confxml.xml
│   └── confxml.xml.ori
├── logs       #日志文件目录
│   └── rsync_fail_log.sh
└── readme.txt