zoukankan      html  css  js  c++  java
  • centos 7 yum configuration; yum localinstall

    Linux下对于软件包的管理使用rpm管理方式。直接使用rpm包管理工具来进行rpm包的安装,升级,卸载时,对于最让人头疼的莫过与包之间的依赖关系。yum作为一个rpm包前端管理工具,可以自动处理依赖性关系,一次安装所有依赖的软件包,并且支持在线下载、安装、卸载、升级rpm软件包。本文主要描述基于本机,本地yum服务器配置yum源,以及基于公网yum源配置本地客户端,供大家参考。

    一、yum源实现的三个机制

    1、需要有一个包含各种rpm安装文件的软件仓库(即yum源)
    2、有软件仓库的仓库数据库(repodata),其中收集了软件仓库中所有rpm包的头部信息(每个rpm包的包头信息包含了该包的描述,功能,提供的文件,依赖关系等信息);
    3、有软件仓库的地址等信息

    二、配置本地yum源

    创建rpm包文件存放目录及复制相关文件
      # mkdir -pv /mnt/CentOS7_ISO
      # cd /run/media/robin/CentOS 7 x86_64/
      # cp -R * /mnt/CentOS7_ISO/
    
    修改yum源repo文件配置
      # cd /etc/yum.repos.d/
      # mkdir old
      # mv *.repo old
    
    编辑repo配置文件
      # vi /etc/yum.repos.d/local.repo 
      [local-media]
      name=CentOS-$releasever - Media
      baseurl=file:///mnt/CentOS7_ISO/
      gpgcheck=0
      enabled=1
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    
    清空yum缓存目录
      [root@centos7-router yum.repos.d]# yum clean all
      Loaded plugins: fastestmirror, langpacks
      Cleaning repos: local-media
      Cleaning up everything
      Cleaning up list of fastest mirrors
    
    生成yum元数据
      [root@centos7-router yum.repos.d]# yum makecache
      Loaded plugins: fastestmirror, langpacks
      local-media                                                                        | 3.6 kB  00:00:00    
      (1/4): local-media/group_gz                                                      | 155 kB  00:00:00    
      (2/4): local-media/primary_db                                                    | 2.8 MB  00:00:00    
      (3/4): local-media/other_db                                                      | 1.2 MB  00:00:00    
      (4/4): local-media/filelists_db                                                  | 2.9 MB  00:00:00    
      Determining fastest mirrors
      Metadata Cache Created  ###提示元数据缓存创建成功
    
    查看本机yum repo 仓库
      [root@centos7-router ~]# yum repolist
      Loaded plugins: fastestmirror, langpacks
      Loading mirror speeds from cached hostfile
      repo id                                               repo name                    status
      local-media                                        CentOS-7 - Media                   3,723
      repolist: 3,723

    二、基于ftp方式配置本地yum发布源

    为本机配置ftp服务器,将其发布供网络其它客户端作为yum源

    安装vsftp
      [root@centos7-router ~] # yum -y install vsftpd
      [root@centos7-router ~] # vi /etc/selinux/config
          SELINUX=disabled
      [root@centos7-router ~] # setenforce 0  ###立即生效
    
    修改ftp配置文件
      [root@centos7-router ~] # vi /etc/vsftpd/vsftpd.conf
      anon_root=/mnt/CentOS7_ISO
    
    启动ftp
      [root@centos7-router ~]# systemctl start vsftpd
      [root@centos7-router ~]# systemctl enable vsftpd
    
    测试ftp服务可用性
      [root@centos7-router ~]# ftp localhost
      Trying ::1...
      Connected to localhost (::1).
      220 (vsFTPd 3.0.2)
      Name (localhost:root): anonymous
      331 Please specify the password.
      Password:
      230 Login successful.
      Remote system type is UNIX.
      Using binary mode to transfer files.
      ftp> ls
      229 Entering Extended Passive Mode (|||41973|).
      150 Here comes the directory listing.
      -r--r--r--    1 0        0              14 Sep 14 09:06 CentOS_BuildTag
      dr-xr-xr-x    3 0        0              33 Sep 14 09:06 EFI  ### Author : Leshami 
      -r--r--r--    1 0        0            215 Sep 14 09:06 EULA ###  Blog : http://blog.csdn.net/leshami 
      -r--r--r--    1 0        0          18009 Sep 14 09:06 GPL
      dr-xr-xr-x    2 0        0              41 Sep 14 09:06 LiveOS
      dr-xr-xr-x    2 0        0          200704 Sep 14 09:08 Packages
      -r--r--r--    1 0        0            1690 Sep 14 09:08 RPM-GPG-KEY-CentOS-7
      -r--r--r--    1 0        0            1690 Sep 14 09:08 RPM-GPG-KEY-CentOS-Testing-7
      -r--r--r--    1 0        0            2883 Sep 14 09:08 TRANS.TBL
      dr-xr-xr-x    3 0        0              54 Sep 14 09:06 images
      dr-xr-xr-x    2 0        0            4096 Sep 14 09:06 isolinux
      dr-xr-xr-x    2 0        0            4096 Sep 14 09:08 repodata
      226 Directory send OK.
    
    配置防火墙
      [root@centos7-router ~]# firewall-cmd --add-service=ftp --permanent
      [root@centos7-router ~]# firewall-cmd --add-service=ftp
      [root@centos7-router ~]# systemctl reload firewalld.service

    三、基于http方式配置本地yum发布源

    除了支持ftp方式外,也可以通过http方式将其发布供网络其它客户端作为yum源

    安装httpd
      [root@centos7-router ~]# yum install httpd
      [root@centos7-router ~]# systemctl enable httpd
      [root@centos7-router ~]# systemctl start httpd
    
    配置防火墙
      [root@centos7-router ~]# firewall-cmd --add-service=http --permanent
      [root@centos7-router ~]# firewall-cmd --add-service=http
      [root@centos7-router ~]# systemctl reload firewalld.service
    
    将CentOS 光盘文件copy到/var/www/html/repo
    此处使用了链接方式,将其链接到已经在本地磁盘的/mnt/CentOS7_ISO
      [root@centos7-router ~]# ln -sv /mnt/CentOS7_ISO /var/www/html/repo
      ‘/var/www/html/repo’ -> ‘/mnt/CentOS7_ISO’
      [root@centos7-router ~]# ls /var/www/html/repo
      CentOS_BuildTag EULA images LiveOS repo RPM-GPG-KEY-CentOS-7 TRANS.TBL
      EFI GPL isolinux Packages repodata RPM-GPG-KEY-CentOS-Testing-7
    
    通过浏览器校验,此时应该可以看到文件列表(此处略) http://192.168.1.175/repo  

    四、配置本地网络yum源客户端(ftp方式)

    配置客户端
      [root@centos7-web ~]# cd /etc/yum.repos.d/
      [root@centos7-web ~]# mkdir old
      [root@centos7-web ~]# mv *.repo old
    
      [root@centos7-web yum.repos.d]# vi /etc/yum.repos.d/intranet.repo
      [intranet-media]                                    #库名称
      name=CentOS-$releasever - Media    #名称描述
      baseurl=ftp://172.24.8.254                   #yum源目录,源地址
      gpgcheck=0                                         #检查GPG-KEY,0为不检查,1为检查
      enabled=1                                            #是否用该yum源,0为禁用,1为使用 
      gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  #gpgcheck=0时无需配置 
    
      [root@centos7-web yum.repos.d]# yum clean all
      [root@centos7-web yum.repos.d]# yum makecache
      [root@centos7-web yum.repos.d]# yum repolist
      Loaded plugins: fastestmirror, langpacks
      Loading mirror speeds from cached hostfile
      repo id                     repo name                         status
      intranet-media              CentOS-7 - Media                               3,723
      repolist: 3,723
    
    测试yum配置
      [root@centos7-web yum.repos.d]# yum install ftp -y

    四、配置本地网络yum源客户端(http方式)

    配置客户端repo文件
      [root@centos7-web ~]# mv /etc/yum.repos.d/intranet.repo /etc/yum.repos.d/old/
      [root@centos7-web ~]# yum-config-manager --add-repo=http://192.168.1.175/repo
      Loaded plugins: fastestmirror, langpacks
      adding repo from: http://192.168.1.175/repo
    
      [192.168.1.175_repo]
      name=added from: http://192.168.1.175/repo
      baseurl=http://192.168.1.175/repo
      enabled=1
    
      [root@centos7-web ~]# yum clean all
      Loaded plugins: fastestmirror, langpacks
      Cleaning repos: 192.168.1.175_repo
      Cleaning up everything
      Cleaning up list of fastest mirrors
    
      [root@centos7-web ~]# yum makecache
      Loaded plugins: fastestmirror, langpacks
      192.168.1.175_repo | 3.6 kB 00:00:00
      (1/4): 192.168.1.175_repo/group_gz | 155 kB 00:00:00
      (2/4): 192.168.1.175_repo/primary_db | 2.8 MB 00:00:00
      (3/4): 192.168.1.175_repo/other_db | 1.2 MB 00:00:00
      (4/4): 192.168.1.175_repo/filelists_db | 2.9 MB 00:00:01
      Determining fastest mirrors
      Metadata Cache Created
    
      [root@centos7-web ~]# yum repolist
      Loaded plugins: fastestmirror, langpacks
      Loading mirror speeds from cached hostfile
      repo id repo name status
      192.168.1.175_repo added from: http://192.168.1.175/repo 3,723
      repolist: 3,723

    五、配置阿里云、epel yum源客户端

    # wget -O /etc/yum.repos.d/aliyun.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    # rpm -Uvh http://mirrors.kernel.org/fedora-epel/epel-release-latest-7.noarch.rpm 
    # yum makecache

    六、虚拟机环境直接使用iso文件充当yum源(补充@20171110)

    如下为光盘iso文件路径,可以直接将其配置到baseurl,最大的好处是,可以节省虚拟机磁盘空间占用。如下:
    baseurl=”file:///run/media/robin/CentOS 7 x86_64”

  • 相关阅读:
    满巢尽洒英雄泪
    谋略的原则——经商就是讲谋略的交易
    杨文军(为奥运冠军名字作诗)
    邹市明 (为奥运冠军名字作诗)
    王励勤 (为奥运冠军名字作诗)
    想成功创业:要掌握“三笔钱”和“六三一”原则
    王丽萍(再帮别人名字作诗)
    陆春龙(为奥运冠军名字作诗)
    殷剑 (为奥运冠军名字作诗)
    孟关良(为奥运冠军名字作诗)
  • 原文地址:https://www.cnblogs.com/SZLLQ2000/p/8656722.html
Copyright © 2011-2022 走看看