zoukankan      html  css  js  c++  java
  • yum软件管理器,及yum源配置

    说到yum源就必须说到linux系统中特有的依赖关系问题,yum就是为了解决依赖关系而存在的。yum源就相当是一个目录项,当我们使用yum机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器(源)自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

    yum的宗旨是自动化地升级,安装/移除rpm包,收集rpm包的相关信息,检查依赖性并自动提示用户解决。yum的关键之处是要有可靠的repository,顾名思义,这是软件的仓库,它可以是http或ftp站点, 也可以是本地软件池,但必须包含rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供的文件,依赖性等.正是收集了这些 header并加以分析,才能自动化地完成余下的任务。

    YUM的基本工作机制如下:
    服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。 
    客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

    yum.conf

    yum的一切配置信息都储存在一个叫yum.conf的配置文件中,通常位于/etc目 录下,这是整个yum系统的重中之重,我在的F9中查看了这一文件,大家一起来看下:
    [hanlong@localhost F9常用文档]$ sudo more /etc/yum.conf
    [main]
    cachedir=/var/cache/yum
    keepcache=0
    debuglevel=2
    logfile=/var/log/yum.log
    exactarch=1
    obsoletes=1
    gpgcheck=1
    plugins=1
    metadata_expire=1800
    # PUT YOUR REPOS HERE OR IN separate files named file.repo
    # in /etc/yum.repos.d

    下面简单的对这一文件作简要的说明:
    cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。
    debuglevel:除错级别,0──10,默认是2
    logfile:yum的日志文件,默认是/var/log/yum.log。
    exactarch,有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用686的包来升级。
    gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。

    yum源配置

    [root@linux-6 ~]# vim /etc/yum.repos.d/
    google-chrome.repo  local-yum.repo      rhel-source.repo
    [root@linux-6 ~]# vim /etc/yum.repos.d/       //在yum.repos.d 目录下存放的就是yum源的设定文件。
    [root@linux-6 ~]# vim /etc/yum.repos.d/rhel-source.repo     //打开一个yum源的设定文件
    
    [rhel-source-beta]     //yum源的名称,起到标记yum源的作用,
    name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source  //仅仅是对yum的描述,作用是使用户可以更容易的读懂该文件。
    baseurl=ftp://ftp.redhat.com/pub/redhat/linux/beta/$releasever/en/os/SRPMS/  //我们指定的查找依赖关系软件的路径,(该路径可以是一个网址路径,也可以是本机上的一个路径。)
    enabled=0       //enabled 是使能够的意思,0表示baseurl定义的路径是不可用的,1表示定义的路径是可用的。
    gpgcheck=1  //gpgcheck表示是否进行gpg检测,0表示不进行,1表示进行。gpg检查就是在使用yum安装软件是对软件输入公钥进行验证,看是否来源安全。
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release    //进行gpg检查时,使用file协议导入公钥,后面接的路径就是系统自带的公钥存放路径。
    ftp://   表示使用的是ftp协议连接路径,该协议一般用于非本地连接,本地yum使用的协议是:"file://"文件协议

    挂载本地源

    两种yum源:本地yum源和网络yum源。本次只谈本地yum源

    搭建本地yum源,我们首先就要有提供源的文件包,一般的Linux系统的镜像文件iso中就含有搭建yum源所需的rpm文件。若是没有建议到网上下载,注意要和自身使用的系统版本一致。

    3.1确定iso镜像文件的位置    //其实是因为iso文件中有yum源所需的rpm包,好在下一步中实施挂载,若是知道你电脑上的iso文件在什么地方,则无需这步。

    3.2新建一个仓库目录                  //用来存放本地yum源。
    [root@linux-6 ~]# mkdir  /iso   

    3.3.1挂载镜像文件到/iso目录        //主要是获得iso软件
    [root@linux-6 ~]# mount -o loop /***.iso  /iso       // /***.iso 表示镜像文件所在本机上的绝对路径。
    3.3.2如果你有光驱也有光盘,并且光驱已经挂载,则只需使用如下命令:
    [root@linux-6 ~]# mount /dev/cdrom   /iso

    4.查看挂载       //主要是确认挂载是否成功
    [root@teacher ~]# df -Th
    Filesystem    Type    Size  Used Avail Use% Mounted on
    /dev/sda3     ext4    321G  142G  163G  47% /
    tmpfs        tmpfs    1.9G  336K  1.9G   1% /dev/shm
    /dev/sda1     ext4     92G  233M   87G   1% /boot
    /var/ftp/software/iso/rhel6.3.x86.iso
              iso9660    2.9G  2.9G     0 100% /iso
    [root@teacher ~]#

    5.在yum源文件中指定iso镜像文件所挂载到的目录的路径,并将使用的协议改成file协议。
    [root@teacher ~]#  vim /etc/yum.repos.d/rhel-source.repo

    [rhel-source-beta]
    name=Red Hat Enterprise Linux $releasever Beta - $basearch - Source
    baseurl=file:///iso           //这是主要的不同之处,使用的是file协议,指定的路径是/iso
    enabled=1
    gpgcheck=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

     

    6.清除缓存,使最新的yum配置生效。

    [root@linux-6 ~]# yum clean all

    [root@linux-6 ~]# yum list

     

     

    yum命令详解

    1 安装
    yum install 全部安装
    yum install package1 安装指定的安装包package1
    yum groupinsall group1 安装程序组group1

    2 更新和升级
    yum update 全部更新
    yum update package1 更新指定程序包package1
    yum check-update 检查可更新的程序
    yum upgrade package1 升级指定程序包package1
    yum groupupdate group1 升级程序组group1

    3 查找和显示
    yum info package1 显示安装包信息package1
    yum list 显示所有已经安装和可以安装的程序包

    yum list installed

    yum list package1 显示指定程序包安装情况package1
    yum groupinfo group1 显示程序组group1信息yum search string 根据关键字string查找安装包

    yum search keyword 根据关键字查找包

    yum info packagename 查看包用途

    4 删除程序 
    yum remove | erase package1 删除程序包package1
    yum groupremove group1 删除程序组group1
    yum deplist package1 查看程序package1依赖情况

    5 清除缓存
    yum clean packages 清除缓存目录下的软件包
    yum clean headers 清除缓存目录下的 headers
    yum clean oldheaders 清除缓存目录下旧的 headers
    yum clean, yum clean all (= yum clean packages; yum clean oldheaders) 清除缓存目录下的软件包及旧的headers

    1.使用YUM查找软件包
    命令:yum search
    2.列出所有可安装的软件包
    命令:yum list
    3.列出所有可更新的软件包
    命令:yum list updates
    4.列出所有已安装的软件包
    命令:yum list installed
    5.列出所有已安装但不在 Yum Repository 內的软件包
    命令:yum list extras
    6.列出所指定的软件包
    命令:yum list 7.使用YUM获取软件包信息
    命令:yum info 8.列出所有软件包的信息
    命令:yum info
    9.列出所有可更新的软件包信息
    命令:yum info updates
    10.列出所有已安裝的软件包信息
    命令:yum info installed
    11.列出所有已安裝但不在 Yum Repository 內的软件包信息
    命令:yum info extras
    12.列出软件包提供哪些文件
    命令:yum provides

    比如,要安装游戏程序组,首先进行查找:
    #:yum grouplist
    可以发现,可安装的游戏程序包名字是”Games and Entertainment“,这样就可以进行安装:
    #:yum groupinstall "Games and Entertainment"
    所 有的游戏程序包就自动安装了。在这里Games and Entertainment的名字必须用双引号选定,因为linux下面遇到空格会认为文件名结束了,因此必须告诉系统安装的程序包的名字是“Games and Entertainment”而不是“Games"。

  • 相关阅读:
    中介者模式(Mediator Pattern)
    状态模式
    命令模式(Command Pattern)
    迭代器模式(Iterator Pattern)
    解释器模式
    备忘录模式
    访问者模式(Visitor Patten)
    责任链模式(chainOfResponsibility)
    .net下安装 ZooKeeper.Net
    Zookeeper .Net客户端代码
  • 原文地址:https://www.cnblogs.com/Dhouse/p/5778669.html
Copyright © 2011-2022 走看看