zoukankan      html  css  js  c++  java
  • linux软件包管理工具yum

    Linux各发行版使用的软件包管理命令,如apt-get ,dpkg, rpm ,yum,emerge等等。本文对yum工具进行研究整理。

    1、yum简介

    1.1 What's yum

    • yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器。
    • 它可以系统管理员交互和自动化地管理RPM软件包,
    • 能够从指定的服务器自动下载RPM包并且安装,
    • 可以自动处理依赖性关系,并且一次安装所有依赖的软体包。

    1.2 yum的基本目录

    • YUM配置文件          /etc/yum.conf,通常无需修改
    • 仓库配置文件目录    /etc/yum.repos.d/
    • YUM的缓存目录       /var/cache/yum
    • YUM的日志文件       /var/log/yum.log

    2、what‘s repo

    2.1  repo文件是yum源的配置文件

    • 通常一个repo文件定义了一个或者多个软件仓库的细节内容,repo文件中的设置内容将被yum读取和应用!

    2.2  YUM的工作原理:

    • 每一个 RPM软件的头(header)里面都会纪录该软件的依赖关系,那么如果可以将该头的内容纪录下来并且进行分析,可以知道每个软件在安装之前需要额外安装
    • 服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。
    • 客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

    2.3 repo文件配置解释

    • [serverid]
    是用于区别各个不同的repository
    • name=Some name for this server 
    是对repository的描述
    • baseurl=url://server1/path/to/repository/
    其中url支持的协议有 http:// ftp:// file://三种
    baseurl后可以跟多个url
    url之后可以加上多个选项,如gpgcheck、failovermethod
    • enabled=[1 or 0]
    是否可用

    2.4 repo中的变量

    • $releasever,linux发行版本,[5/6/7]
    • $arch,cpu体系,如[i686,athlon]
    • $basearch,cpu的基本体系组,[i386/x86_64]

    3、yum源的安装

    3.1 本地yum搭建

    本地yum就是让linux 系统使用 装机镜像包中的rpm软件
    1、创建挂载点
    # mkdir /yum
    2、光驱插入镜像盘
    3、挂载
    # mount /dev/cdrom /yum
    4、编辑repo文件
    [local]
    name=auto yum
    baseurl=file:///yum
    enabled=1
    gpgcheck=1

    3.2 基于ftp的网络yum源

    服务端
    1、服务端安装vsftpd
    # rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
    # service vsftpd start
    # chkconfig vsftpd on
    2、修改ftp访问的目录
    设置ftp家目录为光盘挂载点
    # mount /dev/cdrom /yum
    # usermod -d /yum ftp    #修改ftp用户家目录为rpm包目录
    客户端
    1. 编辑客户端的repo文件 
    # vim /etc/yum.repos.d/local.repo
    [local]
    name=auto yum
    baseurl=ftp://x.x.x.x
    enabled=1
    gpgcheck=0

    3.3 epel yum源搭建

    1. epel源简介
    • EPEL,即Extra Packages for Enterprise Linux
    • 这个软件仓库里有很多非常常用的软件,而且是专门针对RHEL设计的,对RHEL标准yum源是一个很好的补充,完全免费使用
    • 由Fedora项目维护,所以如果你使用的是RHEL,或者CentOS,Scientific等RHEL系的linux,可以非常放心的使用EPEL的yum源。
    2. 打开epel网站
    方法1:
    安装生成repo的rpm,网上通用,但是报错
    下载配置repo 的rpm
    选择对应版本的rpm    
    因为我是redhat6.4 ,选择此网页的epel-release-latest-6.noarch.rpm  
    linux安装命令:
    # rpm -Uvh http://mirrors.kernel.org/fedora-epel/epel-release-latest-6.noarch.rpm  
    # yum clean all
    # yum makecache
    报错:连接不到epel源
    Loading mirror speeds from cached hostfile
    Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
    解决办法:
    方法2
    方法2:
    编辑一个epel的repo文件
    1. 选择basedir
    在epel源的网站上选择合适的系统版本,和cpu架构,比如我是redhat6.4 64位
    2. 编辑 epel.repo
    # cat epel.repo 
    [epel]
    name=epel
    baseurl=http://mirrors.kernel.org/fedora-epel/6/x86_64/
    enable=1
    gpgcheck=0
    3. 查看yum源
    # yum clean all
    # yum repolist 

    3.4 国内yum源:网易163yum源

    # cd /etc/yum.repos.d
    方法1:
    下载repo文件
    # wget  http://mirrors.163.com/.help/CentOS6-Base-163.repo
    # yum clean all
    # yum makecache
    报错:
    http://mirrors.163.com/centos/6Server/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found"
    解决方案:
    可以通过报错看到解析的地址有问题,我们将变量直接替换成指定值
    $releasever --> 6
    $basearch   --> x64_86
    替换后,baseurl=http://mirrors.163.com/centos/6/os/x86_64/

    方法2:
    直接编辑一个repo文件
    # cat Centos163.repo
    [base]
    name=CentOS-6 - Base - 163.com
    baseurl=http://mirrors.163.com/centos/6/os/x86_64/
    enable=1
    gpgcheck=1

    3.5 mysql yum源配置

    1. https://dev.mysql.com/downloads/repo/yum/
    2. 选择合适的rpm安装包
    3. 安装 
      1. 下载并传到linux
      2. 或 wget https://repo.mysql.com//mysql57-community-release-el6-11.noarch.rpm
    4. 查看yum源
      1. yum repolist all
    5. 安装MySQL
      1. shell> sudo yum install mysql-community-server


    4、yum语法和命令

    语法:
    yum [选项] [参数]
    选项:
    -h:显示帮助信息; 
    -y:对所有的提问都回答“yes”;
     -c:指定配置文件;
     -q:安静模式;
     -v:详细模式;
     -d:设置调试等级(0-10);
     -e:设置错误等级(0-10); -R:设置yum处理一个命令的最大等待时间;
     -C:完全从缓存中运行,而不去下载或者更新任何头文件。
    参数:
    install:安装rpm软件包;
    update:更新rpm软件包;
    check-update:检查是否有可用的更新rpm软件包;
    remove:删除指定的rpm软件包;
    list:显示软件包的信息;
    search:检查软件包的信息;
    info:显示指定的rpm软件包的描述信息和概要信息;
    clean:清理yum过期的缓存;
    shell:进入yum的shell提示符;
    resolvedep:显示rpm软件包的依赖关系;
    localinstall:安装本地的rpm软件包;
    localupdate:显示本地rpm软件包进行更新;
    deplist:显示rpm软件包的所有依赖关系。
    常用命令:
    yum插件安装
    yum install yum-fastestmirror  #自动搜索最快镜像插件  
    yum install yumex                  #安装yum图形窗口插件    
    yum查看
    yum list              #显示所有已经安装和可以安装的程序包
    yum grouplist     #查看可能批量安装的列表 
    yum安装
    yum install package1          #安装指定的安装包package1
    yum groupinsall group1      #安装程序组group1
    yum更新
    yum update package1     #更新指定程序包package1
    yum移除
    yum remove | erase package1 #删除程序包package1

  • 相关阅读:
    有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
    C编程实现2的1000次方(使程序中的n=1000即可)
    有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面m个数。
    有一个字符串,内有若干字符,输入一个字符,要求程序将字符串中该字符删去。
    使用静态变量的方法求n!
    数组排序:冒泡法和选择法
    使用函数的递归调用来解决Hanoi(汉诺)塔问题。
    VC5509的通用GEL代码
    字、字节和位的关系
    安装JDK后环境变量的配置
  • 原文地址:https://www.cnblogs.com/jesper/p/7577057.html
Copyright © 2011-2022 走看看