依赖关系的解决:程序包管理器的前段工具yum

yum和rpm的关系:yum是rpm的补充,是依赖于rpm的
程序包管理器的前段工具:      yum(Yellowdog Update Modifier)

yum的工作原理

当本地客户端使用yum命令 ,下达安装命令时 yum命令通过本地配置文件告知它的可以使用的文件服务仓库,用yum所支持的文件共享机制访问文件服务器共享的rpm包,下载并缓存到本地以供分析,根据本地的分析结果查看这个包的依赖关系,依赖关系中需要的包本地有多少,还需要下载多少个,然后去yum仓库去获取那些尚未安装的包下载到本地安装

  1. 这个文件服务器叫做:repository(仓库)它的组成部分
    1. 需要的各rpm包
    2. 依赖关系、程序包安装后所能够生成的列表等元数据文件(每个rpm的名字,安装后提供哪些文件以及这些程序包之间的依赖关系等等)

yum客户端(本地端)基本功能

  1. 配置文件:指定各可用的yum仓库;
    1. 配置yum仓库的优先级(根据使用代价等选在)
  2. 缓存元数据:yum会到各可用yum仓库获取元数据,并缓存至本地
  3. 分析元数据:根据具体的操作请求完成元数据分析,可能包括依赖关系、文件列表等信息
  4. 执行具体操作
    客户端配置文件指定对服务器配置文件:
    ftp ftp://server/path/to/repo
    http http://server/path/to/repo
    nfs nfs://servr/nfs_path
    file file:///path/to/path

yum 的使用

yum命里的使用格式–子命令

yum [options] COMMAND
erase 卸载 

install:安装 

repolist       显示各可用的仓库列表:list [all|installed(已安装过的)|available(可用)]:列出yum包

repolist[all|enabled(默认)|disabled]:列出所有可用的yum repo

clean [all|packeages(包)|metadata(元数据)|expire-cache(过期数据)|rpmdb(rpm数据)plugins]:清理缓存

info :显示包的详细信息 

grouplist:列出所有的包组

groupinfo "package_group_name": 显示包组信息 

三个跟开发相关的包组:
Desktop Platform Development:有图形程序时需安装此组
Server Platform Development
Development Tools

install package_name ..... 安装指定的程序包

reinstall package_name ....:重新安装指定的包

yum check-update:检查可升级的包

update packe_name ....:指定升级的程序包
            要升级到指定版本要带版本号:
downgrade packe_name:降级

erase|remove pack_name ....:依赖的包也会被卸载

whatprovides|provides /path/to/somefile: 查询某文件是由谁提供的

groupinstll "group_name" 安装包组

groupremove ”group_name“:卸载组

yum history 查看yum的命令历史

要使用yum管理应用程序,首先得配置其可用的yum仓库,保存在配置文件中

 /etc/yum.conf    ;核心配置
 /etc/yum.repo.d/*.repo     ;关于仓库的配置放在后辍为.repo

配置文件格式:由两段组成。类似window的ini配置文件
[main]:主配置段
[repo]:仓库配置段

    配置main
    cachedir :缓存路径
    keepcache=0 ;删除缓存过的已安装的rpm包(可能)1不删
    debuglevel=2;调试级别
    logfile ;日志文件
    exactarch ;版本精确匹配,1为要必须精确匹配,0为不需要满足这种需求
    obsoletes ;废弃的包?
    gpgcheck=1;是否检验其来源合法性及其完整性 1验证
    plugins=1;是否支持yum插件
    installonly_limit =5  ?
    bugtracker_url =  什么bug的什么等等
    文件的最后有句提示:
    #PUT YOUR REPOS HERE OR IN separate files named file repo   
    #in /etc/yum.repos.d
    意思是 如果自己要配置什么就在下面开始写配置信息,或者去 /etc/yum.repos.d下面写配置文件
    配置repo
      [repo_ID]
       name=String
       baseurl=仓库的访问路径
       enabled={1|0}1,是否启用此仓库,1表示启用。0表示不启用
       gpgcheck={1|0}1,验证gpg。0表示不验证
       gpgkey=公钥地址 (可以是本地,也可以是服务器端路径)
       cost=定义此仓库开销,默认为1000
     [base]
      name=Centos 6.5 X86_64 release (仓库名)
      baseurl=(指向仓库的url路径)
      enabled=(是否启用)
      gpgcheck=(是否验证gpg)
      gpgkey (公钥地址)

安装本地包

     install /path/to/package_file
     手动禁止检查来源及完整性:--nogpgcheck
      如果系统为Centos 5,开发包组为”Development Tools“和”DeveLopment Libraries“
      如何系统为centos 6,常用的开发包为”Development tools“和"Server Platform Development"
yum配置文件中可用的宏
  $releasever:程序的版本,对Yum而言指的是redhat-relrase版本。只替换为主版本号,如Redhat6.5 则替换为6
  $arch:系统架构
  $basharch:系统基本架构,如i686,i586等的基本架构为i386
  $YUM0-9:在系统定义的环境变量,可以在yum中使用
 获取当前系统相应宏替换的办法
  python
  import yum,pprint
  yb=yum.YumBase()
  pprint.pprint(yb.conf,yumvar,width=1)
  quit()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值