Linux软件包管理
内容:
- 二进制软件包管理(RPM、YUM)
- 源代码包安装
- 脚本安装
- Debian系Linux软件包管理简介
RPM包管理
全称为 Yellow dog Updater, Modified
- 示例:
sudo-1.7.2p-5.e15.i386.rpm
sudo是Linux默认的一个安装包。
解释:
软件名:sudo
版本号:1.7.2pl
发行号:5.e15
硬件平台:i386 (注:64位可能写为686)
- 安装:
rpm -ivh sudo-1.7.2p-5.e15.i386.rpm
这里不需指定安装目录,可以用
--prefix=/usr/local/sudo
指定安装目录(rpm -ivh --prefix=/usr/local/sudo sudo-1.7.2p-5.e15.i386.rpm
),但通常rpm不允许指定安装目录。因为rpm包的制作者早已定义了包的安装路径,可以用命令查找安装路径。
解释:
i: install 安装
v: view 显示详细信息
h: hash 用#显示进度
- 查看是否安装成功
rpm -q sudo
如果显示版本号则表明安装成功。
q:检验是否安装成功
a:all
- 覆盖安装
常用在误删其中的一些文件的情况。
rpm -ivh --replacepacekgs sudo-1.7.2p-5.e15.i386.rpm
- 文件冲突
常发生在老软件替换新软件时。
rpm -ivh --replacefile sudo-1.7.2p-5.e15.i386.rpm
- 未解决依赖关系(属于麻烦情况)
发生在要安装的文件需要另一个没有安装的文件的支持的情况。
可以强行安装(–nodeps),但十有八九安装后不能使用。
RPM不好解决依赖关系的问题,这也导致了YUM的诞生。
- 升级软件包
rpm -U[vh] sudo-18.0p1-5.e15.i386.rpm
- 卸载:
rpm -e sudo
- 强行卸载(不考虑依赖关系,不建议)
rpm -e --nodeps sudo
-
查询
-
选项:
-a 查询所有已安装的软件包
-f 查询文件所属软件包
-p 查询软件包
-i 显示软件包信息
-l 显示被标注为文档的文件列表
-d 显示被标注为文档的文件列表
-c 显示被标注为配置文件的文件列表 -
RPM查询应用案例:
查询文件隶属的软件包:rpm -qf
查询文件包信息: rpm -qi 、 rpm -qip
查询软件包安装文件: rpm -ql、rpm -qlp
查询文件包帮助文档:rpm -qd
查询软件包配置文件: rpm -qc
-
YUM包管理(更方便)
-
应用yum的好处
- 自动解决软件包的依赖关系
如果存在依赖关系的包,则它会自动安装需要的包,然后在开始安装。 - 方便的软件包升级
如果有新版本,则会从源中寻找安装,一般使用系统提供的源就挺好,也可以修改源。
- 自动解决软件包的依赖关系
-
安装yum软件包
yum install sudo
- 检测升级
yum check-update [sudo]
如果不写sudo
说明检测所有更新,不要这样做。
- 升级
yum update [sudo]
- 查询软件包信息
yum info sudo
- 卸载
yum remove sudo
- 帮助
yum -help
man yum