【Linux命令】 06_软件包管理
软件包
- 源码包:
例:脚本安装包
优点:开源
开源自由选择功能
编译安装,效率高
卸载方便
缺点:安装步骤多
编译时间长
报错解决麻烦
- 二进制包(RPM包):
优点:包管理系统简单
安装速度快
缺点:经过编译,不能看到源代码
功能选择不如源码包灵活
依赖性
软件包安装位置
RPM包默认安装位置
安装位置 | 说明 |
---|---|
/etc/ | 配置文件安装目录 |
/usr/bin/ | 可执行的命令安装目录 |
/usr/lib/ | 程序所使用的函数的保存位置 |
/usr/share/doc/ | 基本的软件使用手册保存位置 |
/usr/share/man/ | 帮助文件的保存位置 |
源码包软件安装位置 |
安装在指定位置中,一般是/usr/local/软件名/
源码安装包保存位置
/usr/local/src
1. rpm
功能:管理rpm包
选项: -i 安装
-U 升级
-e 卸载
-v 显示详细信息
-h 显示进度
--nodeps 不检测依赖性
-q 查询包是否安装
-i 查询软件信息
-l 查询包中文件安装位置
-f 查询系统文件属于哪个软件包
-R 查询软件包的依赖性
-p 查询未安装包信息
语法:安装--> rpm -ivh 包全名
升级--> rpm -Uvh 包全名
卸载--> rpm -e 包名(不用全名)
rpm -q 包名 查询包是否安装
rpm -qa 查询所有已安装的RPM包
rpm -qi 包名 查询软件信息
rpm -qip 包全名 查询未安装软件包信息
rpm -ql 包名 查询包中文件安装位置
rpm -qlp 包全名 查询未安装包中文件安装位置
rpm -qf 系统文件名 查询系统文件属于哪个软件包
rpm -qR 包名 查询软件包的依赖性
rpm -qRp 包全名 查询未安装软件包的依赖性
rpm -V 已安装包名 校验包安装的文件是否发生修改
注:安装升级需要在rpm包目录下,卸载查询不用。
前两者需要包全名,卸载查询不用。
2. rpm2cpio
功能:从安装包中提取文件
语法:rpm2cpio 包全名 | \ cpio -idv .文件绝对路径 其中 \ 表示换行
3. yum
功能:在线管理rpm包
语法:
yum list 查询所有可用软件包列表
yum search 关键字(包名) 搜索服务器上所有和关键字相关的包
安装--> yum install 包名
选项:-y 自动回答yes (不添加,每个包安装会询问是否安装)
例:yum -y install gcc
升级--> yum update 包名
选项同上
例:yum -y update gcc
注:不写包名会更新所有包,包括linux内核,导致系统崩溃!
卸载--> yum remove 包名
选项同上
例:yum -y remove gcc
注:卸载会卸载包和所有相关依赖,可能会卸载系统相关的依赖导致系统崩溃
软件组管理:
语法:
yum grouplist 列出所有可用的软件组列表
yum groupinstall 软件组名 安装指定软件组,组名由上一条命令查询(带空格分隔的用双引号引起来)
yum groupremove 软件组名 卸载指定软件组
指定光盘作为源:
进入/etc/yum.repos.d/目录
查看文件
将除了CentOS-Media.repo以外的文件重命名(后缀加个.bak)
进入CentOS-Media.repo文件,修改baseurl为挂载点,将enabled修改为=1。
(注:严格注意格式问题)
【Linux命令】 06_软件包管理
http://blog.rainna.xyz/2020/11/22/2020-11-22-06_软件包管理/