day16--软件包管理
1.什什么是rpm?组成部分有哪些?
- Redhat package manager 的缩写,由红帽开发用于软件包的安装升级卸载与查询
- rpm工具后缀 xxx.rpm
- bash-4.2.46-28.el7.x86_64.rpm
2.如何获取rpm软件包?怎么获取?
- 本地光盘ISO 数量有限 版本低 适用于刚开始接触
- 联网获取 很多地方都可以获取到且版本较新
3.除了rpm安装软件以外是否还有其他方式安装软件
分类 | 安装 | 版本 |
---|---|---|
rpm包 | 预先编译打包安装简单 | 软件版本偏低 |
源码包 | c手动编译打包安装简单 | 软件版本随意 |
二进制包(绿色包) | 解压即可使用,安装简单 | 不能修改源码 |
4.rpm软件安装,解决依赖升级卸载查询
- 安装
-i #安装软件包
-v #显示过程
-h #显示进度条
[root@oldboy--day01 ~]# mount /dev/cdrom /mnt/
[root@oldboy--day01 ~]# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm
- 依赖
a-b-c-d-f
- 升级
选项 -U
直接安装联网的安装软件包
[root@oldboy--day01 ~]# 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@oldboy--day01 ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm
- 卸载
选项 -e
[root@oldboy--day01 ~]# rpm -e zabbix-agent #卸载无依赖的问题(一般情况下很少会删除软件包)
- 查询
rpm -q #查询系统中是否已经安装该软件
rpm -qa #列出所有已安装的软件包(可以使用grep进行规模模糊匹配)
rpm -ql #列出软件包所有文件所在的路径
rpm -qc #列出软件包的配置文件
rpm -qf #查询已安装的命令所属的软件包(文件)
rpm -qi #查看指定软件的详细信息
1.如何查询util-Linux软件包安装了那些文件?
[root@oldboy--day01 ~]# rpm -ql util-linux
2.如何查询mkdir命令由哪个软件包安装? rpm -qf /usr/bin/mkdir
[root@oldboy--day01 ~]# rpm -qf /usr/bin/mkdir
coreutils-8.22-23.el7.x86_64
3.-i和-U有啥区别?
-i 安装
-U 升级
5.什么是yum?什么是yun源?什么是yum仓库?
- 软件包管理器.能自动处理依赖关系.
- 源也可以说是仓库
配置仓库的方法:
1.vim手动编写后缀为.repo的文件
2.wget下载已经编写好的后缀为.repo的文件
3.安装zabbix-release软件,它会释放一个后缀为.repo的文件至/etc/yum.repos.d/目录
PS:如果在安装软件时提示没有该文件时有两种情况:
1.软件名写错
2.当前系统仓库内搜索不到该软件
6.yum的基本使用,安装,卸载,升级.查询等操作
- 安装
[root@oldboy--day01 ~]# yum install sl -y #联网下载sl软件包
[root@oldboy--day01 ~]# yum install vim unzip tree lrzsz -y #联网同时下载多个软件包
PS:本地安装时使用 localinstall 时本地软件如果有依赖,则会通过本地仓库搜索软件包依赖进行安装.若搜索不到则会报错
[root@oldboy--day01 ~]# yum localinstall xxx.rpm
- 升级
[root@oldboy--day01 ~]# yum check-updates #查看系统中有哪些软件包可以更新
[root@oldboy--day01 ~]# yum update openssl #升级已安装的软件包
在刚装完系统后可使用升级
[root@oldboy--day01 ~]# yum update
- 卸载(一般不会使用,卸载时,如果这个软件包有依赖会连同依赖一起删除,导致其他软件用不了)
[root@oldboy--day01 ~]# yum remove samba -y
- 查询
[root@oldboy--day01 ~]# yum list #列出所有的已安装和未安装的软件包
[root@oldboy--day01 ~]# yum list installde #列出系统中已安装的软件