开发者

Linux配置yum源全过程

开发者 https://www.devze.com 2024-11-07 09:58 出处:网络 作者: Xnah_
目录一、简介yum源二、yum相关命令1.查询需要安装的软件2.安装软件3.卸载软件4.其他三、yum配置文件1.yum主配置文件位置 /etc/yum.conf/2.yum源配置文件位置 /etc/yum.repos.d/四、手动搭建yum源1.搭建本地yum源2.搭
目录
  • 一、简介yum源
  • 二、yum相关命令
    • 1.查询需要安装的软件
    • 2.安装软件
    • 3.卸载软件
    • 4.其他
  • 三、yum配置文件
    • 1.yum主配置文件位置 /etc/yum.conf/
    • 2.yum源配置文件位置 /etc/yum.repos.d/
  • 四、手动搭建yum源
    • 1.搭建本地yum源
    • 2.搭建在线yum源(以阿里云yum源为例)
    • 3.搭建ftp yum源
  • 五、配置yum源优先级
    • 总结

      一、简介yum源

      yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。

      yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。

      官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。

      二、yum相关命令

      1.查询需要安装的软件

      //显示可用的安装包(不加软件名显示所有安装包)
      [root@localhost ~]# yum list 软件名
      
      
      //显示安装包详细信息
      [root@localhost ~]#yum info 软件名
      
      //根据关键字查找相关的软件安装包
      [root@localhost ~]#yum search 关键词
      
      //查找某个命令是哪个软件提供的
      [root@localhost ~]#yum whatprovides 命令名

      2.安装软件

      [root@localhost ~]# yum [选项] install 软件名
      
      -y 提示信息全部yes
      
      -q 不显示安装过程

      3.卸载软件

      //卸载已安装的软件必须加软件名
      [root@localhost ~]# yum remove httpd
      
      //查看历史的使用记录,选择ID 1,2,3,4,5,可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除
      [root@localhost ~]# yum history
      [root@localhost ~]# yum history undo 3 //3代表id号
      
      
      
      //如果后悔 卸载 可以使用两种方式
      yum history redo 4 (重新安装一遍)
      再次使用yum history undo 6 (反悔卸载等于重新安装一遍)

      4.其他

      //仅下载安装包
      
      [root@localhost ~]# yum install --downloadedonly --downloaddir=保存的路径
      
      
      
      //清除yum缓存目录
      
      [root@localhost ~]# yum clean all
      
      
      
      //新建yum源后重新建立元数据
      [root@localhost ~]# yum makecache
      
      
      
      //显示所有yum源
      
      [root@localhost ~]# yum repolist all

      三、yum配置文件

      1.yum主配置文件位置 /etc/yum.conf/

      [root@localhost ~]#vim /etc/yum.conf/
      [main]
      cachedir=/var/cache/yum/$basearch/$releasever --yum下载的RPM包的缓存目录
      keepcache=0                      --是否保存缓存  0代表不保存,1代表保存
      debuglevel=2                     --调试级别了解即可
      logfile=/var/log/yum.log		 --日志文件位置
      exactarch=1						 --是否允许不同版本的rpm安装
      obsoletes=1					     --update 的一个参数是否可以允许旧版本的运行	
      gpgcheck=1                       --验证秘钥
      plugins=1                        --是否允许插件
      installonly_limit=5              --保存几个内核
      bugtracker_url=http://bugs.Centos.org/set_prowww.devze.comject.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
      distroverpkg=centos-release

      2.yum源配置文件位置 /etc/yum.repos.d/

      [root@localhost2 ~]#cd /etc/yum.repos.d/
      
      //默认已有的yum源,均为国外官方的在线源,可自己搭建
      [root@localhost2 yum.repos.d]#ls
      CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
      CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  CentOS-x86_64-kernel.repo

      四、手动搭建yum源

      yum源分类:

      • 本地源:file://
      • 在线源:http:// 或 https://
      • ftp源:ftp://

      1.搭建本地yum源

      可参考linux安装及管理软件程序

      2.搭建在线yum源(以阿里云yum源为例)

      //将自带的yum备份到repo.bak下
      [root@localhost2 yum.repos.d]#cd /etc/yum.repos.d
      [root@localhost2 yum.repos.d]#ls
      CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
      CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  CentOS-x86_64-kernel.repo
      [root@localhost2 yum.repos.d]#mkdir repo.bak
      [root@localhost2 yum.repos.d]#mv *.repo repo.bak
      [root@localhost2 yum.repos.d]#ls
      repo.bak
      
      //新建阿里云yum源配置文件
      [root@localhost2 yum.repos.d]#vim ali.repo
      [ali]
      name=ali
      baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/   --阿里云镜像源地址
      gpgcheck=0   --不校验
      
      //可增设更新源
      [aliupdate]
      name=update
      baseurl=https://mirrors.aliyun.com/centos/7/updates/x86_64/
      gpgcheck=0
      
      //清除yum缓存目录和重新建立元数据
      [root@localhost2 yum.repos.d]#yum clean all
      已加载插件:fastestmirror, langpacks
      正在清理软件源: ali aliupdate
      Cleaning up list of fastest mirrors
      Other repos take up 68 k of disk space (use --verbose for details)
      
      [root@localhost2 yum.repos.d]#yum makecache 
      已加载插件:fastestmirror, langpacks
      Determining fastest mirrors
      ali                                                                       | 3.6 kB  00:00:00     
      aliupdate                                                                 | 2.9 kB  00:00:00     
      (1/7): ali/group_gz                                                       | 153 kB  00:00:00     
      (2/7): ali/primary_db                                                     | 6.1 MB  00:00:22     
      (3/7): ali/filelists_db                                                   | 7.2 MB  00:00:25     
      (4/7): ali/other_db                                                       | 2.6 MB  00:00:09     
      (5/7): aliupdate/filelists_db                                             | 9.4 MB  00:00:35     
      (6/7): aliupdate/other_db                                                 | 1.1 MB  00:00:04     
      (7/7): aliupdate/primary_db                                               |  17 MB  00:01:01     
      元数据缓存已建立
      
      //测试下载软件成功
      [root@localhost2 yum.repos.d]#yum install -y mysql
      已加载插件:fastestmirror, langpacks
      Loading mirror speeds from cached hostfile
      正在解决依赖关系
      --> 正在检查事务
      ---> 软件包 mariadb.x86_64.1.5.5.68-1.el7 将被 安装
      --> 解决依赖关系完成
      
      依赖关系解决
      
      ============================================================================================================================================================
       Package                             架构                               版本                                          源                               大小
      ==========================================================================================================================================================javascript==
      正在安装:
       mariadb                             x86_64                             1:5.5.68-1.el7                      编程          ali                             8.8 M
      
      事务概要
      ============================================================================================================================================================
      安装  1 软件包
      
      总下载量:8.8 M
      安装大小:49 M
      Downloading packages:
      mariadb-5.5.68-1.el7.x86_64.rpm                                                                                                      | 8.8 MB  00:00:34     
      Running transaction check
      Running transaction test
      Transaction test succeeded
      Running transaction
        正在安装    : 1:mariadb-5.5.68-1.el7.x86_64                                                         javascript                                                  1/1 
        验证中      : 1:mariadb-5.5.68-1.el7.x86_64                                                                                                           1/1 
      
      已安装:
        mariadb.x86_64 1:5.5.68-1.el7                                                                                                                             
      
      完毕!

      3.搭建ftp yum源

      ftp服务端

      //下载vsftp
      [root@localhost2 yum.repos.d]#yum install -y vsftpd
      
      //开启服务
      [root@localhost2 yum.repos.d]#systemctl start vsftpd
      
      //关闭防火墙和selinux
      [root@localhost2 ~]#systemctl stop firewalld
      [root@localhost2 ~]#setenforce 0
      
      //搭建ftp源(这里使用镜像里的软件包)挂载到/var/ftp/centos7
      [root@localhost2 ~]#cd /var/ftp
      [root@localhost2 ftp]#ls
      pub
      [root@localhost2 ftp]#mkdir centos7
      [root@localhost2 ftp]#mount /dev/sr0 /var/ftp/centos7/
      mount: /dev/sr0 写保护,将以只读方式挂载

      客户端

      //关闭防火墙和selinux
      [root@localhost2 ~]#systemctl stop firewalld
      [root@localhost2 ~]#setenforce 0
      
      //将自带的yum备份到repo.bak下
      [root@localhost1 ~]#cd /etc/yum.repos.d
      [root@localhost1 yum.repos.d]#ls
      CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
      CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  CentOS-x86_64-kernel.repo
      [root@localhost1 yum.repos.d]#mkdir repo.bak
      [root@localhost1 yum.repos.d]#mv *.repo repo.bak/
      [root@localhost1 yum.repos.d]#ls
      repo.bak
      
      //新建ftp源配置文件
      [root@localhost1 yum.repos.d]#vim ftp.repo
      [ftp]
      name=ftp
      baseurl=ftp://192.168.116.20/centos7   --指定ftp服务器镜像源地址(由于远程传输文件用户登录的根目录在/var/ftp 下,所以这里指定服务器地址/centos7目录,就是服务器的/var/ftp/centos7 目录)
      gpgcheck=0
      
      清除yum缓存目录和重新建立元数据
      [root@localhost1 yum.repos.d]#yum clean all
      已加载插件:fastestmirror, langpacks
      正在清理软件源: ftp
      Cleaning up list of fastest mirrors
      Other repos take up 1.1 G of disk space (use --verbose for details)
      [root@localhost1 yum.repos.d]#yum makecache
      已加载插件:fastestmirror, langpacks
      Determining fastest mirrors
      ftp                                                                                                                               | 3.6 kB  00:00:00     
      (1/4): ftp/group_gz                                                                                                               | 153 kB  00:00:00     
      (2/4): ftp/primary_db                                                                                                             | 3.3 MB  00:00:00     
      (3/4): ftp/filelists_db                                                                                                           | 3.3 MB  00:00:00     
      (4/4): ftp/other_db                                                                                                               | 1.3 MB  00:00:00     
      元数据缓存已建立
      
      //测试安装软件成功
      [root@localhost1 yum.repos.d]#yum install -y tftp
      已加载插件:fastestmirror, langpacks
      Loading mirror speeds from cached hostfile
      正在解决依赖关系
      --> 正在检查事务
      ---> 软件包 tftp.x86_64.0.5.2-22.el7 将被 安装
      --> 解决依赖关系完成
      
      依赖关系解决
      
      =========================================================================================================================================================
       Package                           架构                                版本                                       源                                大小
      =========================================================================================================================================================
      正在安装:
       tftp                              x86_64                              5.2-22.el7                                 ftp                               38 k
      
      事务概要
      =========================================================================================================================================================
      安装  1 软件包
      
      总下载量:38 k
      安装大小:52 k
      Downloading packages:
      tftp-5.2-22.el7.x86_64.rpm                                                                                                        |  38 kB  00:00:00     
      Running transaction check
      Running transaction test
      Transaction test succeeded
      Running transaction
        正在安装    : tftp-5.2-22.el7.x86_64                                                                                                               1/1 
        验证中      : tftp-5.2-22.el7.x86_64                                                                                                               1/1 
      
      已安装:
        tftp.x86_64 0:5.2-22.el7                                                                                                                               
      
      完毕!

      五、配置yum源优先级

      当既有本地yum源又有aliyun源或其他yum源的时候,我们在装软件包的时候当然希望先用本地的yum源去安装,本地找不到可用的包时再使用aliyun源去安装软件,这里就涉及到了优先级的问题,yum提供的插件yum-plugin-priorities.noarch可以解决这个问题。

      //查看是否安装了yum-plugin优先级插件
      [root@localhost2 ~]# rpm -q yum-plugin-priorities.noarch
      未安装软件包 yum-plugin-priorities.noarch 
      
      //如果未安装就需要安装一下
      [root@localhost2 ~]# yum install -y yum-plugin-priorities.noarch
      
      //如果我们需要优先使用哪个yum源,就在其配置文件添加priority=1 字段(数字越小优先级越高)
      [r编程客栈oot@localhost2 ~]vim local.repo
      [local]
      name=local
      baseurl=file:///mnt/
      enabled=1
      gpgcheck=1 
      priority=1   --数字越小优先级越高

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。

      0

      精彩评论

      暂无评论...
      验证码 换一张
      取 消