GNU/LINUX开源软件包
  源代码包,按需整合形成完整的系统    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  显示列表