zoukankan      html  css  js  c++  java
  • 刨根问底:什么是yum源,yum的工作原理又是什么

    1、刨根问底---什么是yum源?yum的工作原理?

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

    YUM是“Yellow dog Updater, Modified”的缩写,是一个软件包管理器,YUM从指定的地方(相关网站的rpm包地址或本地的rpm路径)自动下载RPM包并且安装,能够很好的解决依赖关系问题。

     

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

     

    2、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://"文件协议

     

    3、两种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

  • 相关阅读:
    了解 NoSQL 的必读资料
    关于什么时候用assert(断言)的思考
    这次见到了一些大侠
    NetBeans 时事通讯(刊号 # 87 Jan 12, 2010)
    动态链接库dll,静态链接库lib, 导入库lib
    新女性十得 写得了代码,查得出异常
    记录系统乱谈
    新女性十得 写得了代码,查得出异常
    fullpage.js禁止滚动
    RunningMapReduceExampleTFIDF hadoopclusternet This document describes how to run the TFIDF MapReduce example against ascii books. This project is for those who wants to experiment hadoop as a skunkworks in a small cluster (110 nodes) Google Pro
  • 原文地址:https://www.cnblogs.com/jdxn/p/6755136.html
Copyright © 2011-2022 走看看