部署企业本地yum源及源码包安装

YUM命令

yum 
    list      //列出每个软件包(包括未安装和已安装)       rpm -q
    repolist  //列出所以仓库名称
    info      //查看软件信息                           rpm -qi
    install   //安装                                  rpm -ivh
    reinstall //重新安装                              rpm -ivh --force
    remove    //卸载                                  rpm -e
    search
    provides  *****
    clean all  
    makecache 创建缓存
    
    组管理
    grouplist
    groupinstall
    groupremove

更新软件包指令

//检测可更新的安装包
[root@xiaoming ~]# yum check-update

//更新
[root@xiaoming ~]# yum update -y

删除软件包质量

//先安装一个软件包
[root@xiaoming ~]# yum install -y samba

//删除该软件包,不会删除依赖,尽可能使用remove
[root@xiaoming ~]# yum erase samba -y
[root@xiaoming ~]# yum remove samba -y

仓库相关指令

//列出yum源可用的软件仓库
[root@xiaoming ~]# yum repolist

/[root@xiaoming ~]# yum repolist all
/列出全部yum源可用和禁用的仓库

//查看这个文件或命令属于哪个包
[root@xiaoming ~]# yum provides /etc/my.conf
[root@xiaoming ~]# yum provides cd

缓存相关指令

//缓存yum源软件仓库,xml元数据文件
[root@xiaoming ~]# yum makecache

//缓存软件包,修改yum全局配置文件
[root@xiaoming ~]# vim /etc/yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0 //启动缓存

//查看缓存的xml文件
[root@xiaoming ~]# ls /var/cache/yum/x86_64/7/base/

//查看缓存软件包路径
[root@xiaoming ~]# ls /var/cache/yum/x86_64/7/

#另一种缓存rpm包方式

//1.安装插件支持只下载软件包不安装
[root@xiaoming ~]# yum install -y yum-plugin-downloadonly
//2.将软件下载至指定目录
[root@xiaoming ~]# yum install httpd -y --downloadonly --downloaddir=/tmp

//清除所有缓存
[root@xiaoming ~]# yum clean all

//只清除缓存的软件包
[root@xiaoming ~]# yum clean packages

包组相关指令

//列出已经安装和所有可使用的软件组
[root@xiaoming ~]# yum groups list

//安装一整个组的软件
[root@xiaoming ~]# yum groups install Development -y

//yum删除包组
[root@xiaoming ~]# yum groups remove -y Base

历史记录指令

//查看历史执行yum指令
[root@xiaoming ~]# yum history

//查询历史执行yum命令ID详细信息
[root@xiaoming ~]# yum history info 9

//撤销历史执行过的yum命令
[root@xiaoming ~]# yum history undo 9

全局配置文件

[root@xiaoming ~]# vim /etc/yum.conf

[main]
cachedir=/var/cache/yum/$basearch/$releasever    //缓存目录
keepcache=0                                      //缓存软件包,1启动,0关闭
debuglevel=2                                     //调式级别
logfile=/var/log/yum.log                         //日志记录为证
exactarch=1                                      //检查平台是否兼容
obsoletes=1                                      //检查包是否废弃
gpgcheck=1                                       //检查来源是否合法,需要有制作者的公钥信息
plugins=1                                        //是否启用查询
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
# metadata_expire=90m                            //每小时手动检查元数据
# in /etc/yum.repos.d                            //包含repos.d目录

构建企业yum源在线更新

本地光盘提供基础软件包Base
yum缓存提供update软件包
yum缓存提供常见软件包 Nginx,zabbix,docker,saltstac

组织结构图

环境准备

系统                   IP        角色         主机名
centos7.7_x86_64   10.0.1.31    yum仓库服务端 xiaoming
centos7.7_x86_64   10.0.1.35    yum仓库客户端 yum_client

服务端:
1.服务端自己构建相应的yum库
阿里云官方库

base库:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

update库:
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

nginx库:
 cat >/etc/yum.repos.d/nginx.repo<<EOF
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF

2.搭建ftp

1)安装vsftpd
yum install -y vsftpd
2)关闭selinux
//临时关闭
setenforce 0
//永久关闭
vim /etc/selinux/config
SELINUX=disabled
3)关闭防火墙
//临时关闭
systemctl stop firewalld
//永久关闭
systemctl disable firewalld
4)启动ftp服务
systemctl start vsftpd
systemctl enable vsftpd
5)创建对应的目录
mkdir /var/ftp/{base,update,nginx}

3.分别构建base,update,nginx资源库

1)base库
rpm包来自光盘
mount /dev/cdrom /mnt/
cp -rf /mnt/* /var/ftp/base/
2)update库
rpm包来源阿里云
yum clean all
yum update -y --downloadonly
find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp {} /var/ftp/update \;
//创建repofile菜单
[root@xiaoming ~]# yum install -y createrepo   #安装createrepo
[root@xiaoming ~]# createrepo /var/ftp/update/ #生成仓库信息
3)rpm包来源nginx官网
yum clean all
yum install -y nginx --downloadonly
find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp {} /var/ftp/nginx \; 
//创建repofile菜单
createrepo /var/ftp/nginx

客户端:

1)关闭selinux和防火墙,配置间服务器
2)配置yum库文件
[root@yum-client ~]# rm -f /etc/yum.repos.d/*.repo
base库:
 cat >/etc/yum.repos.d/base.repo<<EOF
[base]
name=base repo
baseurl=ftp://10.0.1.31/base
gpgcheck=0
enabled=1
EOF

update库
 cat >/etc/yum.repos.d/update.repo<<EOF
[update]
name=update repo
baseurl=ftp://10.0.1.31/update
gpgcheck=0
enabled=1
EOF

nginx库
 cat >/etc/yum.repos.d/nginx.repo<<EOF
[nginx]
name=nginx repo
baseurl=ftp://10.0.1.31/nginx
gpgcheck=0
enabled=1
EOF

源码包基本概述

源码包的编译用到了linux系统里的编译器,通常源码包都是用C语言开发的,这也是因为C语言为linux上最标准的程序语言。
linux上的C语言编译器叫gcc,利用它就可以把c语言变成可执行的二进制文件,所以如果你的机器上没有安装gcc就没有办法
去编译源码。可以使用yum install -y gcc 来完成安装

使用源码包的好处
1.自定义修改源代码
2.定制需要的相关功能
3.新版软件有限更新源码

源码包如果获取
官方网站,可以获得最新的软件包

源码如何安装
编译环境gcc、make
依赖环境pcre、openssl
准备对应软件nginx

源码包安装(nginx-1.17.7)

1.从官网获取源码包(一般都是tar包)
mkdir -p /soft/src
cd /soft/src
wget http://117.128.6.30/cache/nginx.org/download/nginx-1.17.7.tar.gz?ich_args2=468-02140120034527_481d1dd37af6d82d00b7722d56f17428_10001002_9c89632bdec7f5d99e38518939a83798_02f648dbe2b4b5e105bf523d57d372d8

2.解压
tar xf nginx-1.17.7.tar.gz

3.配置./configure(安装前的配置)
1)安装路劲
2)功能模块
    检测依赖关系
3)生成makefile文件
cd nginx-1.17.7

4编译make
根据makefile上的内容将源码编译成二进制

5.安装make install

精简步骤:
1)安装依赖包
yum install gcc make pcre-devel zlib-devel openssl-devel
useradd -uid 250 -s /sbin/nologin -M www
2)安装
./configure --prefix=/soft/nginx-1.17.7 --user=www --group=www --with-httpd_ssl_module && make &&make install    

异常报错
1.权限
2.空格
3.源代码

猜你喜欢

转载自www.cnblogs.com/xmtxh/p/12141809.html