当前位置:   article > 正文

Linux配置yum源

linux配置yum源

目录

一、简介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/

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

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

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

四、手动搭建yum源

yum源分类:

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

1.搭建本地yum源

可参考Linux安装及管理软件程序_韩xuu的博客-CSDN博客

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

  1. //将自带的yum备份到repo.bak下
  2. [root@localhost2 yum.repos.d]#cd /etc/yum.repos.d
  3. [root@localhost2 yum.repos.d]#ls
  4. CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
  5. CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo
  6. [root@localhost2 yum.repos.d]#mkdir repo.bak
  7. [root@localhost2 yum.repos.d]#mv *.repo repo.bak
  8. [root@localhost2 yum.repos.d]#ls
  9. repo.bak
  10. //新建阿里云yum源配置文件
  11. [root@localhost2 yum.repos.d]#vim ali.repo
  12. [ali]
  13. name=ali
  14. baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/ --阿里云镜像源地址
  15. gpgcheck=0 --不校验
  16. //可增设更新源
  17. [aliupdate]
  18. name=update
  19. baseurl=https://mirrors.aliyun.com/centos/7/updates/x86_64/
  20. gpgcheck=0
  21. //清除yum缓存目录和重新建立元数据
  22. [root@localhost2 yum.repos.d]#yum clean all
  23. 已加载插件:fastestmirror, langpacks
  24. 正在清理软件源: ali aliupdate
  25. Cleaning up list of fastest mirrors
  26. Other repos take up 68 k of disk space (use --verbose for details)
  27. [root@localhost2 yum.repos.d]#yum makecache
  28. 已加载插件:fastestmirror, langpacks
  29. Determining fastest mirrors
  30. ali | 3.6 kB 00:00:00
  31. aliupdate | 2.9 kB 00:00:00
  32. (1/7): ali/group_gz | 153 kB 00:00:00
  33. (2/7): ali/primary_db | 6.1 MB 00:00:22
  34. (3/7): ali/filelists_db | 7.2 MB 00:00:25
  35. (4/7): ali/other_db | 2.6 MB 00:00:09
  36. (5/7): aliupdate/filelists_db | 9.4 MB 00:00:35
  37. (6/7): aliupdate/other_db | 1.1 MB 00:00:04
  38. (7/7): aliupdate/primary_db | 17 MB 00:01:01
  39. 元数据缓存已建立
  40. //测试下载软件成功
  41. [root@localhost2 yum.repos.d]#yum install -y mysql
  42. 已加载插件:fastestmirror, langpacks
  43. Loading mirror speeds from cached hostfile
  44. 正在解决依赖关系
  45. --> 正在检查事务
  46. ---> 软件包 mariadb.x86_64.1.5.5.68-1.el7 将被 安装
  47. --> 解决依赖关系完成
  48. 依赖关系解决
  49. ============================================================================================================================================================
  50. Package 架构 版本 源 大小
  51. ============================================================================================================================================================
  52. 正在安装:
  53. mariadb x86_64 1:5.5.68-1.el7 ali 8.8 M
  54. 事务概要
  55. ============================================================================================================================================================
  56. 安装 1 软件包
  57. 总下载量:8.8 M
  58. 安装大小:49 M
  59. Downloading packages:
  60. mariadb-5.5.68-1.el7.x86_64.rpm | 8.8 MB 00:00:34
  61. Running transaction check
  62. Running transaction test
  63. Transaction test succeeded
  64. Running transaction
  65. 正在安装 : 1:mariadb-5.5.68-1.el7.x86_64 1/1
  66. 验证中 : 1:mariadb-5.5.68-1.el7.x86_64 1/1
  67. 已安装:
  68. mariadb.x86_64 1:5.5.68-1.el7
  69. 完毕!

3.搭建ftp yum源

ftp服务端

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

客户端

  1. //关闭防火墙和selinux
  2. [root@localhost2 ~]#systemctl stop firewalld
  3. [root@localhost2 ~]#setenforce 0
  4. //将自带的yum备份到repo.bak下
  5. [root@localhost1 ~]#cd /etc/yum.repos.d
  6. [root@localhost1 yum.repos.d]#ls
  7. CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
  8. CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo
  9. [root@localhost1 yum.repos.d]#mkdir repo.bak
  10. [root@localhost1 yum.repos.d]#mv *.repo repo.bak/
  11. [root@localhost1 yum.repos.d]#ls
  12. repo.bak
  13. //新建ftp源配置文件
  14. [root@localhost1 yum.repos.d]#vim ftp.repo
  15. [ftp]
  16. name=ftp
  17. baseurl=ftp://192.168.116.20/centos7 --指定ftp服务器镜像源地址(由于远程传输文件用户登录的根目录在/var/ftp 下,所以这里指定服务器地址/centos7目录,就是服务器的/var/ftp/centos7 目录)
  18. gpgcheck=0
  19. 清除yum缓存目录和重新建立元数据
  20. [root@localhost1 yum.repos.d]#yum clean all
  21. 已加载插件:fastestmirror, langpacks
  22. 正在清理软件源: ftp
  23. Cleaning up list of fastest mirrors
  24. Other repos take up 1.1 G of disk space (use --verbose for details)
  25. [root@localhost1 yum.repos.d]#yum makecache
  26. 已加载插件:fastestmirror, langpacks
  27. Determining fastest mirrors
  28. ftp | 3.6 kB 00:00:00
  29. (1/4): ftp/group_gz | 153 kB 00:00:00
  30. (2/4): ftp/primary_db | 3.3 MB 00:00:00
  31. (3/4): ftp/filelists_db | 3.3 MB 00:00:00
  32. (4/4): ftp/other_db | 1.3 MB 00:00:00
  33. 元数据缓存已建立
  34. //测试安装软件成功
  35. [root@localhost1 yum.repos.d]#yum install -y tftp
  36. 已加载插件:fastestmirror, langpacks
  37. Loading mirror speeds from cached hostfile
  38. 正在解决依赖关系
  39. --> 正在检查事务
  40. ---> 软件包 tftp.x86_64.0.5.2-22.el7 将被 安装
  41. --> 解决依赖关系完成
  42. 依赖关系解决
  43. =========================================================================================================================================================
  44. Package 架构 版本 源 大小
  45. =========================================================================================================================================================
  46. 正在安装:
  47. tftp x86_64 5.2-22.el7 ftp 38 k
  48. 事务概要
  49. =========================================================================================================================================================
  50. 安装 1 软件包
  51. 总下载量:38 k
  52. 安装大小:52 k
  53. Downloading packages:
  54. tftp-5.2-22.el7.x86_64.rpm | 38 kB 00:00:00
  55. Running transaction check
  56. Running transaction test
  57. Transaction test succeeded
  58. Running transaction
  59. 正在安装 : tftp-5.2-22.el7.x86_64 1/1
  60. 验证中 : tftp-5.2-22.el7.x86_64 1/1
  61. 已安装:
  62. tftp.x86_64 0:5.2-22.el7
  63. 完毕!

五、配置yum源优先级

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

  1. //查看是否安装了yum-plugin优先级插件
  2. [root@localhost2 ~]# rpm -q yum-plugin-priorities.noarch
  3. 未安装软件包 yum-plugin-priorities.noarch
  4. //如果未安装就需要安装一下
  5. [root@localhost2 ~]# yum install -y yum-plugin-priorities.noarch
  6. //如果我们需要优先使用哪个yum源,就在其配置文件添加priority=1 字段(数字越小优先级越高)
  7. [root@localhost2 ~]vim local.repo
  8. [local]
  9. name=local
  10. baseurl=file:///mnt/
  11. enabled=1
  12. gpgcheck=1
  13. priority=1 --数字越小优先级越高
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/852926
推荐阅读
相关标签
  

闽ICP备14008679号