1.什么是rpm? redhat packages manager 红帽推出软件包管理工具
2.rpm软件包的组成部分有哪些? 3.如何获取rpm软件包? (1)本地获取 :本地光盘ISO 数量有限 版本过低 适合刚开始接触 (2)联网获取 :很多地方都可以获取到软件包 版本较新 4.rpm命令格式
rpm [选项...] 参数(1)查询选项
选项含义-q查询系统中是否已经安装过该软件-a列出所有已安装的软件包 (可以使用grep进行模糊匹配-p软件包-f查询系统已安装的命令属于哪个软件包 (文件)-l软件包中的文件列表-c查看软件包的配置文件-R软件包依赖(2)例题
查询vsftpd这个rpm包是否安装 [root@localhost ~]# rpm -q vsftpd 模糊查找系统已安装的rpm包 rpm -qa |grep ftp 查询vsftpd软件包的相关信息 [root@localhost ~]# rpm -qi vsftpd 查询rpm包所安装的文件 [root@localhost ~]# rpm -ql vsftpd 查询rpm包相关配置文件 [root@localhost ~]# rpm -qc vsftpd 查询配置文件或命令来自于哪个rpm包 [root@localhost ~]# rpm -qf /etc/vsftpd/vsftpd.conf(3)安装/升级/卸载选项
选项含义-i安装-v显示附加信息-h软件包安装时的进度-U升级-e卸载–nodeps不检查依赖(4)例题
本地安装软件包 [root@oldboy ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm 联网安装软件包 [root@oldboy ~]#rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm 挂载光盘和卸载: [root@localhost sdb1]# mount /dev/sr0 /mnt #挂载 [root@localhost sdb1]# umount /dev/sr0 # 卸载 依赖: 你要安装一个rpm软件包时会出现依赖另一个rpm包的情况,必须安装先安装另一个rpm包才能安装你所需要的rpm包 例如:A-B-C-DEFG-LY-KJ 升级: [root@oldboy ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/4.2/rhel/7 /x86_64/zabbix-agent-4.2.5-1.el7.x86_64.rpm 卸载: rpm -e zabbix-agent #卸载无依赖的没问题(很少删除软件)1.什么是yum Yum是RedHat以及CentOS中的软件包管理器。能够通过互联网下载 .rpm 包并且安装,并可以自动处理依赖性关系,无须繁琐地一次次下载、安装。(PS: YUM是生产最佳实践) 2.yum源是什么 要成功的使用 YUM 工具安装更新软件或系统,就需要有一个包含各种 rpm 软件包的repository(软件仓库),这个软件仓库我们习惯称为 yum 源。(可以是本地源、网络源) (1)配置仓库 vim 手动编写.repo文件 wget下载已编写好的.repo文件 安装 zabbix-release软件. 会释放一个.repo文件 至/etc/yum.repos.d/目录 (2)如果在安装软件时,提示没有该软件 软件名写错了 当前系统仓库中搜索不到该软件 3.yum命令格式
yum [选项] command [参数](1)yum的基本使用,安装,卸载、升级,查询等操作
(1)使用yum安装软件的方式 [root@localhost ~]# yum install tree [root@localhost~]# yum install tree -y #非交互 yum localinstall (本地安装) 安装本地的rpm包, 如果有依赖关系, 会自动从软件仓库中下载所需依赖 [root@localhost~]# yum localinstall /mnt/Packages/bind-9.9.4-50.el7.x86_64.rpm 直接安装网络上的rpm包 [root@localhost ~]# yum install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm (2)使用yum查询软件包[root@oldboy ~]# yum list 列出所有的已安装和未安装的软件包 [root@oldboy ~]# yum list installed #列出系统中已成功安 装的软件包 [root@localhost ~]# yum list|grep ftp [root@localhost ~]# yum info ftp (3)升级 查看系统中哪些软件包可以更新 root@oldboy ~]# yum check-updates 升级已安装的软件包 [root@oldboy ~]# yum update openssl 适合刚装完系统使用 [root@oldboy ~]# yum update (4)卸载(不要随便使用) [root@oldboy ~]# yum remove samba -y(2)yum仓库相关的指令
1.列出yum源可用的软件仓库 yum repolist (查看仓库) yum repolist all (查看所有仓库) 2.启用和禁止仓库 yum-config-manager --disable (关闭仓库) yum-config-manager --enable (启用仓库) ps:本质都是在修改repo文件中的enable的值 0不启用 1启用 3..查找命令或文件所属的软件包 yum provides 例如:yum provides cd rpm -qf $ (which 命令) 例如:rpm -qf $(which cd)ps:(1) rpm需要知道命令的绝对路径,如果不存在该命令是无法查找到该命令所属的软件包 (2)yum不需要知道命令的绝对路径,只需要知道命令即可. yum会通过所有已启用的仓库进行查找那些软件包中涵盖了需要查询的命令 PS: 查询命令来自于哪个软件,使用yum的方式进行查询 (1)如果查询不到,检查命令是否写错,如果写错,修改即可. (2)如果修改命令还是查询不到,请检查是否仓库真的没有软件包涵盖此命令, 建议添加更多yum源(仓库) (3)与yum缓存相关的指令
1.缓存rpm包方式一、修改yum全局配置文件 vim /etc/yum.conf main] cachedir=/var/cache/yum/basearch/releasever keepcache=1 (1启动缓存,0关闭缓存) 2.缓存rpm包方式二,只下载不安装 yum install -y yumplugin-downloadonly 仅限插件下载 yum install command -y -- downloadonly --downloaddir=/tmp(只下载不安装) 3..清除yum缓存 yum clean all (清除所有信息) yum clean packages (清除缓存的软件包(4)组包相关的命令
yum groups list (安装一整个组的软件) yum groups install +组包名(安装单个组包) 例如:yum groups install "GNOME Desktop" yum groups remove -y base(yum删除组包)