1、rpm介绍
rpm(redhat package manager)
windows :.exe 软件包
linux :.rpm
ant-antlr-1.9.4- 2. el7. noarch .rpm
包名 – 版本号 编译次数 centos7 运行在不同CPU上 软件包后缀
2、软件包的获取方式
①.本地的仓库
②.联网获取
③.仓库下载,yum源和yun仓库
3、软件包的三种安装方式
① rpm安装 安装简单 版本过低
② 编译安装 安装繁琐 版本可以任意
③ 二进制安装 解压即用 不能源代码
4、rpm命令
本地下载
①.临时挂载光盘
mount /dev/cdrom /mnt
[root@lixian ~]# mount /dev/cdrom /mnt mount: /dev/sr0 is write-protected, mounting read-only
②.本地rpm包管理及安装
选项:
-i 安装
-v 显示安装过程
-h 显示安装的进度
-e 卸载
-U 升级
-q 查询软件包是否安装
-qa 查询所有的已安装的软件包
-ql 查看软件包中的列表信息
-qc 查看软件包的相关配置文件
-qi 显示软件包的本身信息
-qf 查看命令属于哪个软件包
安装挂载后本地的软件包
rpm -ivh /mnt/Pacjages/软件包.rpm
卸载:
rpm -e 软件包
[root@lixian ~]# rpm -ivh /mnt/Packages/wget-1.14-18.el7.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:wget-1.14-18.el7 ################################# [100%] [root@lixian ~]# rpm -e wget #卸载软件包
在使用rpm安装本地软件包时,有些安装包有依赖关系,导致安装失败
比如安装httpd时:
需要许多依赖包要安装,安装完依赖包才可以安装httpd服务包
所以:rpm安装软件包需要依赖软件才可以
联网下载
③.联网安装rpm软件包
[root@lixian ~]# rpm -ivh https://mirrors.aliyun.com/centos/7.7.1908/os/x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm Retrieving https://mirrors.aliyun.com/centos/7.7.1908/os/x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:tree-1.6.0-10.el7 ################################# [100%]
用于升级软件版本和安装低版本的软件
[root@lixian ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.0-1.el7.x86_64.rpm Retrieving https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/x86_64/zabbix-agent-4.2.0-1.el7.x86_64.rpm warning: /var/tmp/rpm-tmp.RaHxd0: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY Preparing... ################################# [100%] Updating / installing...
④.rpm安装软件的选项
-q #查询是否安装了指定软件包
[root@lixian ~]# rpm -q httpd httpd-2.4.6-88.el7.centos.x86_64 [root@lixian ~]# rpm -q samba package samba is not installed #没有安装
-qa #查询所有的已安装的软件包 a-all所有的意思
-ql #查看软件包中的列表信息
-qc #查看软件包的相关配置文件
-qi #显示软件包的本身信息
-qf #查看命令属于哪个软件包
[root@lixian ~]# rpm -qf `which ifconfig` #查看ifconfig命令的安装包 net-tools-2.0-0.25.20131004git.el7.x86_64
查看命令属于哪个软件包,前提必须使用绝对路径查询,本地必须要有这个命令
5、yum命令
yum就是shell会话的一个软件包的管理器
yum的配置文件:
/etc/yum.repos.d/*.repo #仓库文件
/etc/yum.conf
所需要的yum仓库:
base源:基础源,centos
epel :扩展源,epel
①.清除以前的yum仓库
[root@lixian ~]# rm -rf /etc/yum.repos.d/*
②.更新基础源
[root@lixian ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
③.更新epel源
[root@lixian ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
6、yum命令实战
显示仓库列表:
yum repolist #显示仓库列表
yum repolist enabled #显示可用的仓库
yum repolist disabled #显示不可用的仓库
yum repolist all #显示所有的仓库
下载 yum管理仓库命令:禁用和启用仓库
yum install -y yum-utils
①.yum-config-manager –disable epel #禁用某个仓库
vim /etc/yum.repos.d/CentOS-Base.repo
enabled = 0 #仓库禁用
②.yum-config-manager –enable epel #启用某个仓库
vim /etc/yum.repos.d/CentOS-Base.repo
enabled = 1 #仓库启用
显示系统中所有安装包
yum list
yum list | grep ^tree #显示已tree开头的软件包
yum list tre? #使用统配符方式查询
显示系统中已经安装过的包
yum list installed |grep tree
显示系统中所有可更新的包
yum list updates
或者
yum check-update
更新系统中所有可更新的包
yum -y update
更新指定的软件包
yum update httpd -y
显示软件包的详细信息
yum info tree
安装软件
yum install tree #交互式下载安装
yum install tree -y #面交互方式进行下载安装
使用网络地址进行下载
yum install -y https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7/x86_64/zabbix-get-4.2.0-1.el7.x86_64.rpm
yum安装本地的rpm包
yum localinstall -y /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
重新安装软件包
遇到软件包的配置不存在的情况下
yum reinstall -y httpd
卸载删除软件包
yum remove httpd -y
yum erase tree -y
查询某个命令属于哪个包
yum provides ifconfig
yum search tree #yum搜索指定的软件
清空缓存
yum clean packages #清空包的缓存
yum clean all #清空所有缓存
yum clean plugins #清除插件
生成缓存
yum makecache
yum缓存
vi /etc/yum.conf
keepcache=1 #启用缓存
只下载,不安装,指定下载保存的路径
yum install -y vim –downloadonly –downloaddir=/opt
–downloadonly #只下载
–downloaddir #指定下载之后的路径
yum组包的安装与卸载
yum groups install -y Python #安装组
yum groups remove -y Pytho #卸载组
yum历史
yum history list #显示yum命令的历史事务
yum history info 22 #查看某个历史事务的详细信息
yum history undo 22 -y #回滚之前的操作
yum history list all #显示所有的历史事务
yum –setopt=history_list_view=commands history list all #指定历史事务的显示