• 【Linux网络】详解使用http和ftp搭建yum仓库,以及yum网络源优化


    目录

    一、回顾yum的原理

    1.1yum简介

    yum安装的底层原理:

    yum的好处:

    二、学习yum的配置文件及命令

    1、yum的配置文件

    2、yum的相关命令详解

    3、yum的命令相关案例

    三、搭建yum仓库的方式

    1、本地yum仓库建立

    2、通过http搭建内网的yum仓库

    3、通过ftp搭建内网的yum仓库

    4、创建本地的国内的网络源


    一、回顾yum的原理

    1.1yum简介

    yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间 为什么会有依赖关系的发生 因为linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。

    YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器),最初由 TSS 公司(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后来由杜克大学(Duck University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater,Modified)。 要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。

    yum安装的底层原理:

    之前有博客专门详细讲解了rpm、yum、编译安装:详解三大安装方式的原理和使用情况

    yum需要依赖于环境,依赖于服务端和客户端,允许跨网络

    服务器:

    • RPM包 (Packages文件夹中)

    • 元数据(repodata文件夹:软件的依赖关系,软件的位置)

    yum的好处:

    与rpm相比,能解决依赖关系

    二、学习yum的配置文件及命令

    1、yum的配置文件

    1. [root@localhost]# /etc/yum.conf
    2. [main]
    3. cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7
    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 //是否允许插件1代表可以
    11. installonly_limit=5 //保存几个内核 5代表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
    14. yum的repo配置文件中可用的变量:
    15. $releasever: 当前OS的发行版的主版本号,如:876
    16. $arch: CPU架构,如:aarch64, i586, i686,x86_64
    17. $basearch:系统基础平台;i386, x86_64
    18. $contentdir:表示目录,比如:centos-8,centos-7
    19. $YUM0-$YUM9:自定义变量

    yum的日志存放位置/var/log/yum.log

    2、yum的相关命令详解

    yum命令学习不加关键字添加关键字或者包名,举例
    yum  list查看有哪些如yum list http 表示与其相关的包,可以跟包名,跟包组
    yum info显示所有可用包的信息可以用通配符模糊匹配
    yum search不可以模糊查找与这个相关的软件包
    yum provides不可以精确查找这个包来源于哪个yum服务端
    yum history查看当前yum操作历史/
    yum history undo 数字加入序号卸载序号里安装的软件(可以卸载干净)/
    yum history redo 数字加入序号重新执行序号里的操作/
    yum remove  软件包卸载不干净
    yum install -y --downloadonly --downloaddir=/opt bind只下载不安装,将bind以及相关的依赖关系都下载到/opt目录下

    3、yum的命令相关案例

    3.1yum list(支持通配符)

    3.2yum info (支持通配符)

    3.3yum search 模糊查询软件包

    3.4yum provides 软件包 精确查询哪些yum库可提供vsftpd的软件包

    如果精确查找匹配不到,可以添加通配符“*/软件名”

    3.5 yum history的使用(undo 编号反悔,redo编号,再次执行)

    3.6 yum install -y --downloadonly --downloaddir=/opt bind(举例)

    三、搭建yum仓库的方式

    软件仓库的提供方式

    FTP服务:ftp://ip地址/站点里路径

    HTTP服务:http://域名或者ip地址/站点里的路径

    本地目录:file://绝对路径 (file:///mnt 此处第三个/为根目录)

    1、本地yum仓库建立

    这里有详解操作,不演示了

    2、通过http搭建内网的yum仓库

    第一步:关闭防火墙和安全机制,安装httpd服务

    第二步:挂载光盘镜像至httpd服务端(/var/www/html)并启动服务

    第三步:备份网络yum源,手写http.repo配置文件

    1. [root@localhost ~]#cd /etc/yum.repos.d/
    2. [root@localhost yum.repos.d]#ls
    3. CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Media.repo CentOS-Sources.repo CentOS-Vault.repo
    4. [root@localhost yum.repos.d]#mkdir bak
    5. [root@localhost yum.repos.d]#mv *.repo bak
    6. [root@localhost yum.repos.d]#ls
    7. bak
    8. [root@localhost yum.repos.d]#vim http.repo
    9. 1 [http]
    10. 2 name=http
    11. 3 baseurl=http://192.168.20.18/ ##指明httpd服务端的位置,也是yum服务端的位置,光盘镜像挂载点
    12. 4 gpgcheck=0
    13. [root@localhost yum.repos.d]#ls
    14. bak http.repo
    15. [root@localhost yum.repos.d]#yum clean all && yum makecache

    第四步:验证结果

    3、通过ftp搭建内网的yum仓库

    第一步:关闭防火墙和安全机制,安装httpd服务

    第二步:挂载光盘镜像至FTP服务端(/var/ftp/自定义目录如centos7)

    第三步:备份网络yum源,手写ftp.repo配置文件

    1. 1 [ftp]
    2. 2 name=ftp
    3. 3 baseurl=ftp://192.168.20.10/centos7
    4. 4 gpgcheck=0

    第四步:验证结果

    4、创建本地的国内的网络源

    1. [root@localhost yum.repos.d]#vim total.repo
    2. [base]
    3. name=base
    4. baseurl=https://mirror.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
    5. https://mirrors.aliyun.com/centos/7/os/x86_64/
    6. https://repo.huaweicloud.com/centos/7/os/x86_64/
    7. https://mirrors.cloud.tencent.com/centos/7/os/x86_64/
    8. gpgcheck=0
    9. [epel]
    10. name=epel
    11. baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/x86_64/
    12. https://mirrors.aliyun.com/epel/7/x86_64/
    13. gpgcheck=0
    14. [root@localhost yum.repos.d]#yum clean all && yum makecache
    15. 已加载插件:fastestmirror, langpacks
    16. 正在清理软件源: base epel
    17. Cleaning up everything
    18. Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
    19. Cleaning up list of fastest mirrors
    20. 已加载插件:fastestmirror, langpacks
    21. base | 3.6 kB 00:00:00
    22. epel | 4.7 kB 00:00:00
    23. (1/10): epel/group_gz | 99 kB 00:00:00
    24. (2/10): base/group_gz | 153 kB 00:00:01
    25. (3/10): base/filelists_db | 7.2 MB 00:00:04
    26. (4/10): base/primary_db | 6.1 MB 00:00:04
    27. (5/10): epel/prestodelta | 994 B 00:00:00
    28. (6/10): base/other_db | 2.6 MB 00:00:09
    29. (7/10): epel/filelists_db | 12 MB 00:00:12
    30. (8/10): epel/primary_db | 7.0 MB 00:00:09
    31. (9/10): epel/other_db | 3.4 MB 00:00:00
    32. (10/10): epel/updateinfo | 1.0 MB 00:00:13
    33. Determining fastest mirrors
    34. * base: repo.huaweicloud.com
    35. * epel: mirrors.aliyun.com
    36. 元数据缓存已建立
    37. [root@localhost yum.repos.d]#

     

    四、总结

    可以查看一些官方网址,也是提供了镜像的下载方式

     如阿里镜像官网:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)

     

  • 相关阅读:
    一、鼎捷T100成本系统快速上手(大楖了解)
    学习使用Python执行P4操作
    SpringBoot整合dataworks
    Mycat【Java提高】
    vue使用入门
    上周热点回顾(8.15-8.21)
    网络工程类面试非技术问题
    在langchain中使用自定义example selector
    W5100S-EVB-PICO通过SNTP获取网络时间(十一)
    【毕业设计】 NodeMCU使用mpu6050惯性传感器 - 单片机 物联网嵌入式
  • 原文地址:https://blog.csdn.net/liu_xueyin/article/details/134448453