源代码包,按需整合形成完整的系统 linux的贡献在于提供了rpm(软件包管理工具)包括软件的二进制代码……,能够管理软件之间的依赖关系,越来越复杂
yellow dog ,yum,基于rpm超越rpm, rpm是后端,yum是前端
specs
rpm 数据库:每一个文件的指纹信息,有人改动过也能查出来,
软件包如何验证签名:获得开发者的公钥信息
软件包的组成
二进制文件 位置/bin./sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin
配置文件(文本文件的形式) 位置: /etc,/usr/local/etc,
库文件 位置:/lib,/usr/lib,/usr/local/lib,/usr/xll/lib
帮助文件 位置:/usr/share/doc,/usr/share/man,/usr/local/share/man
如何实现软件包的安装管理
rpm -i 安装
-u,-F 更新,升级u表示有老的版本,F如果没有老版本就不升级 都支持nodeps和force(关系冲突的时候)
-v安装的详细信息,-h安装进度 rpm -ivh--nodeps(忽略依赖关系-->强制安装,有可能出问题)
-e 卸载 rpm -e 软件包的名字,
-q 查询 rpm -q 软件包的名字 表示已经装过了
-qa 全部查询,-qf 包名,可以查询那个文件属于那个软件包
-ql查询软件包装了那些文件
-qpl 完整的软件包路径,可以查询可以安装那些文件
-qi 文件名 查询安装过的软件包开发者,版本等信息
-qpi 文件名 查询未安装的软件包的信息
-V 校验
S 文件大小变了
M 文件权限变了
5 md5的校验码变了
D 设备文件变了
L
U 属主被改了
G 属组被改变
T 修改时间被改变
重建数据库rpm{--initudb | --rebuilddb}【-v】 【--dbpath FIRECTORY】
新建一个数据库 清空数据库 数据库放在那里
导入 rpm --import PUBKEY
校验 rpm --checksig
重要:内核必须要用ivh-->考点
例子:
test测试安装并非真的安装
oldpackage 装回老的安装包
noiseture
yum
支持ftp://,http://,nfs,file://
yum库配置文件 /etc/yum.repos.d/
remove erase 删除,必须解除依赖关系否则全部卸载有依赖关系的
list,列出rpm包
all列出所有rpm包
available 可以安装但是还没安装
updates 可以更新升级
installed 已经安装
extras 安装过但是不属于任何yum库
obsoletes 过时的
recent 刚加入yum库的
clean
expire-cache清除过时的
all 清除所有
provides 那些软件包或者功能由其提供的
groupinstall。安装一个组 groupremove卸载一个组
availlable Groups 可以装还没装
groupinfo组信息
resolvedep
downgrade降级
常用的选项:
-y 直接安装不用提示是否安装
-q 寂寞模式下运行
-d num 调试级别
--nogpgcheck 不检查包签名
localinstall本地安装rpe包
-t 检查 安装过的不装,没有安装过的安装
手动建立yum库:
yum clean all
yum install zzh
建立
vim my.repo
yum repolist 显示列表