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

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

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= //启动缓存 //查看缓存的xml文件
[root@xiaoming ~]# ls /var/cache/yum/x86_64//base/ //查看缓存软件包路径
[root@xiaoming ~]# ls /var/cache/yum/x86_64// #另一种缓存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 //撤销历史执行过的yum命令
[root@xiaoming ~]# yum history undo

全局配置文件

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

[main]
cachedir=/var/cache/yum/$basearch/$releasever //缓存目录
keepcache= //缓存软件包,1启动,0关闭
debuglevel= //调式级别
logfile=/var/log/yum.log //日志记录为证
exactarch= //检查平台是否兼容
obsoletes= //检查包是否废弃
gpgcheck= //检查来源是否合法,需要有制作者的公钥信息
plugins= //是否启用查询
installonly_limit=
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/7/x86_64/
gpgcheck=
enabled=
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF

2.搭建ftp

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

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

)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

客户端:

)关闭selinux和防火墙,配置间服务器
)配置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)

.从官网获取源码包(一般都是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 .解压
tar xf nginx-1.17..tar.gz .配置./configure(安装前的配置)
)安装路劲
)功能模块
检测依赖关系
)生成makefile文件
cd nginx-1.17. 4编译make
根据makefile上的内容将源码编译成二进制 .安装make install 精简步骤:
)安装依赖包
yum install gcc make pcre-devel zlib-devel openssl-devel
useradd -uid -s /sbin/nologin -M www
)安装
./configure --prefix=/soft/nginx-1.17. --user=www --group=www --with-httpd_ssl_module && make &&make install

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