linux学习笔记_09_软件包管理解析
软件包管理
软件包分类
源码包(C语言编写的源代码)
linux主要由C语言来写。
源码包可以用写字板打开
脚本安装包:源码包进行再开发的源码包(提供安装界面),安装程序install.sh
二进制包(RPM包、系统默认包)
源码已编译,无法打开,安装快速。
windows程序的安装包也是二进制包
二进制包的依赖性:安装一个软件包可能需要很多支持包。
RPM命令管理——包命名及依赖性
RPM包命名原则
RPM包的依赖性
树形依赖:a→b→c
环形依赖:a→b→c→a
模块依赖:查询网站
RPM命令管理——包安装升级与卸载
包全名与包名
包全名:操作的包是没有安装的软件包时,使用包全名,并注意路径。
包名:操作已经安装的软件包时,如搜索、卸载使用包名。系统搜索/var/lib/rpm中的数据库。
RPM安装
格式:rpm –ivh 包全名
-i(install):安装
-v:(verbose):显示详细信息
-h:(hash):显示进度
--nodeps:不检测依赖性
RPM包升级
格式:rpm –Uvh 包全名
-U(upgrade):升级
RPM包卸载
格式:rpm –e
-e(erase):卸载
--nodeps:不检查依赖性
RPM命令管理——包的查询
查询软件包是否安装
格式:rpm –q 包名
-q:查询(query)
-qa:查询所有
查询软件包的详细信息
格式:rpm –qi 包名
-i:查询软件信息(information)
-p:查询未安装包信息(package)
查询包中文件安装位置
格式:rpm –ql 包名
-l:列表(list)
-p:查询未安装包信息(package)
查询系统文件属于哪个RPM包
格式:rpm –qf 系统文件名
-f:查询系统文件属于哪个软件包(file)
查询软件包的依赖性
格式:rpm –qR 包名
-R:查询软件包的依赖性(requires)
-p:查询未安装包信息(package)
RPM命令管理——校验和文件提取
RPM包校验
格式:rpm –V 已安装的包名
-V:校验指定RPM包中的文件(verify)
输出结果释义:
文件类型:
RPM包中文件提取
格式:rpm2cpio 包全名 |cpio –idv .文件绝对路径(linux中有时2近似to,一行命令写不下用\连接)
rpm2cpio:将rpm包转换为cpio格式的命令
cpio:是一个标准工具,用于创建软件档案文件和从档案文件中提取文件
格式:cpio 选项
-i:copy-in模式,还原、提取
-d:还原时自动新建目录
-v:显示还原过程
yum在线管理——网络yum源
yum简介
yum全称为 Yellow dog Updater, Modified,是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum源配置文件解析
[root@localhost ~]# cd /etc/yum.repos.d #yum源配置文件夹
[root@localhost yum.repos.d]# ll
总用量 16
-rw-r--r--. 1 root root 1926 11月 27 CentOS-Base.repo
-rw-r--r--. 1 root root 638 11月 27 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 630 11月 27 CentOS-Media.repo
-rw-r--r--. 1 root root 3664 11月 27 CentOS-Vault.repo
[root@localhost yum.repos.d]# cat CentOS-Base.repo #查看yum源配置文件
# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client. You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirr