• 转载linux


     

    分类: Linux操作系统

    2016-03-30 09:47:54

     

       在Linux系统中如果安装rpm软件包,有时候总是需要解决相应的依赖关系,而使用YUM仓库就可以轻松完成安装、卸载、自动升级rpm软件包等任务,主要可以自动查找并解决rpm包之前的依赖关系。
    YUM仓库有三种部署方式:FTP、HTTP和本地方式

    一、本地yum源

    1、挂载光驱并进行开机自动连接
    [root@localhost ~]# echo "/dev/sr0 /mnt iso9660 defaults 0 0" >> /etc/fstab
    [root@localhost ~]# mount -a
    [root@localhost ~]# mout | grep "/dev/sr0"

    2、配制本地yum仓库:

    [root@localhost ~]# cd /etc/yum.repos.d/                             //yum源配置文件放置目录

    [root@localhost yum.repos.d]# rm -rf *                               //删除系统默认yum配制文件

    [root@localhost yum.repos.d]# vim CentOS-Media.repo                  //编辑本地yum源文件

    [CentOS 6-media]

    name=CentOS-$releasever - Media                                      //本地yum源名称(可随意修改)

    baseurl=file:///mnt                                                  //本地yum源地址

    gpgcheck=1                             

    enabled=1                                                            //使用此yum源(等于0为不启用)

    gpgkey=file:///mnt/sr0/RPM-GPG-KEY-CentOS-6                          //本地yum源密钥

    3、清空并重建缓存

    # yum clean metadata                                                 //清除以前的缓存

    # yum makecache                                                      //重新建立缓存

    # yum update


    二、FTP方式yum源
    1.首先挂载系统光盘,在YUM仓库服务器上安装ftp服务并启动
    [root@localhost ~]# rpm -ivh /media/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
    [root@localhost ~]# service vsftpd start && chkconfig vsftpd on
    添加两条防火墙规则
    [root@localhost ~]# iptables -I INPUT -p tcp --dport 21 -j ACCEPT 
    [root@localhost ~]# modprobe ip_contrack_ftp

    2.配置YUM仓库服务器(这里的IP地址:192.168.1.63)
    首先在ftp目录下创建一个YUM仓库目录,并将需要做成YUM仓库的rpm软件包复制到该目录下
    [root@localhost ~]# mkdir -p /var/ftp/CentOS
    [root@localhost ~]# cp -rf /mnt/* /var/ftp/Centos/

    然后在该目录下手动创建repodata数据文件,在创建repodata数据文件之前,需要先将创建repodata数据文件的工具安装上。使用的工具是createrepo,注意这个包有依赖关系
    [root@localhost ~]# rpm -ivh /media/Packages/createrepo-0.9.9-18.el6.noarch.rpm 

    安装好createrepo工具后,就可以在YUM仓库目录中创建repodata数据文件了
    [root@localhost ~]# createropo --database /var/ftp/CentOS

    3.配置YUM仓库客户端
    第一次配置需要将/etc/yum.repos.d/目录下内容删除,并新建一个以“.repo”结尾的文件,文件内容如下:
    [root@localhost ~]# rm -rf /etc/yum.repos.d/*
    [root@localhost ~]# vim /etc/yum.repos.d/Centos.repo
    [base]                                      //仓库名称
    name=CentOS - Base                          //仓库描述信息
    baseurl=ftp://192.168.1.63/Centos           //指定yum仓库访问路径
    enabled=1                                   //是否开启此仓库
    gpgcheck=0                                  //是否检查软件包的签名,0为不检查

    4.安装rpm软件包测试
    [root@localhost ~]# yum -y install httpd
    这样以FTP方式访问的YUM仓库就建立好了
    [root@localhost ~]# yum repolist          //查询当前可用的yum源,也就是YUM仓库

    三、国内网络yum源网络yum源(前提是必须能连上互联网)
    1、163的yum源

    1)、将/etc/yum.repos.d/下的所有内容清空
    # rm -rf /etc/yum.repos.d/* 
    # cd /etc/yum.repos.d/

    # wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

    2)、把CentOS-Base-163.repo中$releasever改为6.7
    按ctl+G在vim末行模式执行
    :%s/$releasever/6.7/g 
    :wq                      //保存退出
    注意:需要把CentOS-Base-163.repo中的$releasever改为6.7,如果不改重建缓存时会出现以下错误:[Errno 14] PYCURL ERROR 22 "The requested URL returned error: 404" 
    3)、清空并重建缓存

    # yum clean metadata     //清除以前的缓存

    # yum makecache          //重新建立缓存

    # yum update   

    2、中国科大yum源:
    # wget http://centos.ustc.edu.cn/CentOS-Base.repo
    # mv CentOS-Base.repo CentOS-Base-ustc.repo 
    # cat CentOS-Base-ustc.repo 

    [base]

    name=CentOS-$releasever - Base

    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os

    baseurl=http://centos.ustc.edu.cn/centos/$releasever/os/$basearch/

    gpgcheck=1

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    #released updates 

    [updates]

    name=CentOS-$releasever - Updates

    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates

    baseurl=http://centos.ustc.edu.cn/centos/$releasever/updates/$basearch/

    gpgcheck=1

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    #additional packages that may be useful

    [extras]

    name=CentOS-$releasever - Extras

    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras

    baseurl=http://centos.ustc.edu.cn/centos/$releasever/extras/$basearch/

    gpgcheck=1

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    #additional packages that extend functionality of existing packages

    [centosplus]

    name=CentOS-$releasever - Plus

    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus

    baseurl=http://centos.ustc.edu.cn/centos/$releasever/centosplus/$basearch/

    gpgcheck=1

    enabled=0

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    #contrib - packages by Centos Users

    [contrib]

    name=CentOS-$releasever - Contrib

    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib

    baseurl=http://centos.ustc.edu.cn/centos/$releasever/contrib/$basearch/

    gpgcheck=1

    enabled=0

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    3、Sohu的yum源:
    # wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo
    [base]
    name=Red Hat Enterprise Linux $releasever -Base
    baseurl=http://mirrors.sohu.com/centos/$releasever/os/$basearch/
    gpgcheck=1

    [update]
    name=Red Hat Enterprise Linux $releasever -Updates
    baseurl=http://mirrors.sohu.com/centos/$releasever/updates/$basearch/
    gpgcheck=1

    [extras]
    name=Red Hat Enterprise Linux $releasever -Extras
    baseurl=http://mirrors.sohu.com/centos/$releasever/extras/$basearch/
    gpgcheck=1

    [addons]
    name=Red Hat Enterprise Linux $releasever -Addons
    baseurl=http://mirrors.sohu.com/centos/$releasever/addons/$basearch/
    gpgcheck=1


    4、阿里云yum源:
    阿里云是最近新出的一个镜像源。得益与阿里云的高速发展,这么大的需求,肯定会推出自己的镜像源。
    阿里云Linux安装镜像源地址:http://mirrors.aliyun.com
    CentOS 5
    wget -O /etc/yum.repos.d/CentOS-Base-aliyun.repo http://mirrors.aliyun.com/repo/Centos-5.repo
    CentOS 6
    wget -O /etc/yum.repos.d/CentOS-Base-aliyun.repo http://mirrors.aliyun.com/repo/Centos-6.repo

    5、epel源
    1)、安装yum优先级插件
    # yum install yum-priorities
    2)、epel简介: https://fedoraproject.org/wiki/EPEL/zh-cn
    # rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
    # rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 
    以上URL按实际情况修改
    3)、查看是否安装成功
    # rpm -q epel-release
    4)、导入key:
    # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
    5)、修改/etc/yum.repos.d/epel.repo文件
    在[epel]最后添加一条属性 priority=11
    # vim /etc/yum.repos.d/epel.repo
    意思是yum先去官方查源,官方没有再去epel的源找
    6)、重建缓存
    # yum makecache
    理论上讲,以上这些yum源redhat系统以及fedora也是可以用的,但是没有经过测试,需要自己测试一下。

    四、yum管理及参数
    包安装与删除
    yum install package_name       #安装yum源中的包
    yum remove package_name        #卸载包
    yum groupinstall group1        #安装程序组group1
    yum groupremove group1         #卸载程序组group1
    yum localinstall *.rpm         #安装本地的rpm包

    包搜索
    yum search package_name        #搜索特定包
    yum provides name              #搜索包含特定文件名的包

    包列表
    yum list                       #列出所有安装或更新的包
    yum list name                  #列出指定包
    yum list updates               #列出可更新包
    yum list installed             #列出已安装包
    yum list extras                #列出已安装但不包含在资源库中的包
    yum info package_name          #显示安装包信息

    包的更新
    yum check-update               #检查可更新包:
    yum update                     #更新所有包
    yum update package_name        #更新指定包
    yum upgrade                    #版本升级

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

    yum特殊参数
    --installroot=root             #指定安装软件时的根目录
    --enablerepo=repoidglob        #暂时启用某个下载源
    --disablerepo=repoidglob       #暂时停用某个下载源
    --exclude=package              #排除某个软件包
    --noplugins                    #暂时停用所有插件
    --disableplugin=plugin         #暂时停用指定的插件
     
     
  • 相关阅读:
    [CF-Edu113]D. Inconvenient Pairs
    第3组团队Git现场编程实战
    团队项目-选题报告
    第一次个人编程作业
    第一次软工博客作业
    (二十二)python 3 sort()与sorted()
    (二十一)python 3 内置函数
    (二十)python 3 匿名函数
    (十九)python 3 内嵌函数和闭包
    (十八)python 3 回调函数
  • 原文地址:https://www.cnblogs.com/sunyuhuan/p/9176867.html
Copyright © 2020-2023  润新知