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.源代码