基于HTTP 构建本地YUM 源

举报
rivers 发表于 2021/12/22 23:11:32 2021/12/22
【摘要】 YUM 软件包管理 概述 前端软件包管理器(Yellow Updater Modified,YUM)适用于Cent OS、Fedora、Red Hat及SUES中的Shell命令行 主要用于管理R...

YUM 软件包管理

概述

  • 前端软件包管理器(Yellow Updater Modified,YUM)适用于Cent OS、Fedora、Red Hat及SUES中的Shell命令行

  • 主要用于管理RPM包,于RPM工具使用范围类似,YUM工具能够从指定的服务器自动下载RPM包并且安装,还可以自动处理依赖性关系。

  • 使用RPM工具管理和安装软件时,会发现rpm包有依赖,需要逐个手动下载安装

  • YUM工具的最大便利就是可以自动安装所有依赖的软件包,从而提升效率,节省时间。

工作原理

  • YUM正常运行,需要依赖两个部分,一是YUM源端,二是YUM客户端,也即用户使用端。

  • YUM客户端安装的所有RPM包都是来自YUM服务端,YUM源端通过HTTP或者FTP服务器发布。

  • 而YUM客户端能够从YUM源端下载依赖的RPM包是由于在YUM源端生成了RPM包的基准信息,包括RPM包版本号、配置文件、二进制信息、依赖关系等。

  • YUM客户端需要安装软件或者搜索软件,会查找/etc/yum.repos.d下以.repo结尾文件, CentOS Linux默认的.repo文件名为CentOS-Base.repo,该文件中配置了YUM源端的镜像地址,所以每次安装、升级RPM包,YUM客户端均会查找.repo文件。

  • YUM客户端如果配置了CentOS官方repo源,客户端操作系统必须能联外网,满足网络条件,才能下载软件并安装,如果没有网络,也可以构建光盘源或者内部YUM源。在只要YUM客户端时,YUM客户端安装软件,默认会把YUM源地址、Header信息、软件包、数据库信息、缓存文件存储在/var/cache/yum中,每次使用YUM工具,YUM优先通过Cache查找相关软件包,Cache中不存在,然后在访问外网YUM源

企业案列演练

  • 由于YUM工具的使用简便、快捷、高效,在企业中得到广泛的使用,得到众多IT运维、程序人员的青睐,要能熟练使用YUM工具,需要先掌握YUM命令行参数的使用
  • YUM 常用命令参数:
    [root@hbs ~]# yum makecache             缓存
    
    [root@hbs ~]# yum -y install httpd      安装httpd软件包
    
    [root@hbs ~]# yum search lrzsz           YUM搜索lrzsz软件包
    
    [root@hbs ~]# yum list httpd           显示指定程序包安装情况httpd 
    
    [root@hbs ~]# yum list all              显示所有已安装及可安装的软件包
    
    [root@hbs ~]# yum remove httpd          删除程序包httpd
    
    [root@hbs ~]# yum erase httpd           删除程序包httpd
    
    [root@hbs ~]# yum update httpd           升级httpd 服务
    
    [root@hbs ~]# yum provides ifconfig         列出ifconfig命令是那个软件包提供的
    [root@hbs ~]# yum grouplist                查询可以用安装的组
    
    [root@hbs ~]# yum update                内核升级或者软件更新(慎用)
    
    
        
       
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

配置本地源

  • 1、进入到/etc/yum.repos.d/目录中(因为该目录存放yum仓库的配置文件。)
  • 2、 使用vim命令创建一个后缀名.repo的新配置文件逐行添加配置参数
[media] :Yum软件仓库唯一标识符,避免与其他仓库冲突。
name=localhost:Yum软件仓库的名称描述,易于识别仓库用处。
baseurl=file:///mnt/cdrom:提供的方式包括FTP(ftp://..)、HTTP(http://..)、本地(file:///..)。
enabled=1:设置此源是否可用;1为可用,0为禁用。
gpgcheck=0:设置此源是否校验文件;1为校验,0为不校验。
gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release:若上面参数开启校验,那么请指定公钥文件地址。(ll /mnt/RPM-GPG-KEY-CentOS-7
priority=1
priority 越小表示优先级越高

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

基于ISO 构建本地YUM 源

[root@hbs ~]# cat /etc/yum.repos.d/hbs.repo 
[xx]
name=hbs
baseurl=file:///mnt
enabled=1
gpgcheck=0
gpgkey=file:///mnt/RPM-GPG-KEY-CentOS-7  指定载目录下的GPG-KEY文件验证。
[root@hbs ~]# 

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 3、 挂载光盘步骤
[root@hbs ~]# mount /dev/cdrom /mnt/    挂在光盘
mount: /dev/sr0 is write-protected, mounting read-only
[root@hbs ~]# 

[root@hbs ~]# df -h      查看挂在情况
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        20G  1.6G   18G   8% /
devtmpfs        901M     0  901M   0% /dev
tmpfs           912M     0  912M   0% /dev/shm
tmpfs           912M  9.0M  903M   1% /run
tmpfs           912M     0  912M   0% /sys/fs/cgroup
/dev/sda1       197M  121M   77M  62% /boot
tmpfs           183M     0  183M   0% /run/user/0
`/dev/sr0        4.3G  4.3G     0 100% /mnt`
[root@hbs ~]# 

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 4、开启开机自启动挂载
    • 方式一:vim /etc/fstab
    • 方式二:vim /etc/rc.local
    [root@hbs ~]# cat /etc/fstab |grep iso9660   /etc/fstab文件下面添加
    /dev/cdrom /mnt       iso9660          defaults   0 0
    [root@hbs ~]# 
    
    添加:/dev/cdrom /mnt       iso9660          defaults   0 0
    
    
    [root@hbs ~]# cat /etc/rc.local |grep /mnt  /etc/rc.local下面添加
    /dev/cdrom /mnt
    [root@hbs ~]# 
    
    添加:/dev/cdrom /mnt
    
    
        
       
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

配置163的网络源

网络源地址

  • 网易仓库http://mirrors.163.com/.help/centos.html

    • Centos7:http://mirrors.163.com/.help/CentOS7-Base-163.repo

    • Centos6:http://mirrors.163.com/.help/CentOS6-Base-163.repo

  • 阿里仓库http://mirrors.aliyun.com/repo/

    • Centos7http://mirrors.aliyun.com/repo/Centos-7.repo
    • Centos6: http://mirrors.aliyun.com/repo/Centos-6.repo
    • openstack: http://mirrors.aliyun.com/repo/Centos-openstack.repo

基于HTTP 构建局域 网络源

  • YUM光盘源默认只能本机使用,局域网其他服务器无法使用YUM光盘源,如果想使用的话,需要在每台服务器上构建YUM本地源,该方案在企业中不可取,所以需要构建HTTP局域网YUM源解决,可以通过CreateRepo创建本地YUM源端,repo即为Repository。

  • 构建HTTP局域网YUM源方法及步骤如下:

  • 1、挂载光盘镜像文件至/mnt

    [root@hbs ~]# mount /dev/cdrom /mnt/
    mount: /dev/sr0 is write-protected, mounting read-only
    
        
       
    • 1
    • 2
  • 2、 拷贝/mnt/Packages目录下所有软件包至/var/www/html/centos/

    [root@hbs ~]# mkdir -p /var/www/html/centos/
    [root@hbs ~]# cp -R /mnt/Packages/* /var/www/html/centos/
    
    
        
       
    • 1
    • 2
    • 3
  • 3、使用Createrepo创建本地源,执行如下命令会在Centos目录生成repodata目录

    [root@hbs ~]# yum -y install createrepo*  先安装 createrepo 软件包
    
    [root@hbs ~]# cd /var/www/html/
    [root@hbs html]# ls
    centos
    
    [root@hbs html]# createrepo centos/    生成网络源
    
    
        
       
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 4、利用HTTP发布YUM本地源

    • 本地YUM源通过CreateRepo搭建完毕,需要借助HTTP WEB服务器发布/var/www/html/centos/中所有软件,YUM或者RPM安装HTTP WEB服务器,并启动httpd服务。
    [root@hbs html]# yum -y install httpd-devel
    [root@hbs ~]# getenforce    关闭selinux,建议关闭后重启下
    Disabled
    [root@hbs ~]# 
    [root@hbs ~]# systemctl stop firewalld   关闭防火墙
    [root@hbs ~]# systemctl stop httpd
    [root@hbs ~]# systemctl start httpd    重新启动httpd
    [root@hbs ~]# ps -e|grep httpd         查看HTTPD进程是否启动
     17340 ?        00:00:00 httpd
     17341 ?        00:00:00 httpd
     17342 ?        00:00:00 httpd
     17343 ?        00:00:00 httpd
     17344 ?        00:00:00 httpd
     17345 ?        00:00:00 httpd
    [root@hbs ~]# 
    
    
        
       
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
  • 5、在YUM客户端,创建/etc/yum.repos.d/http.repo文件,写入如下内容

    [root@localhost yum.repos.d]# cat http.repo
    [http]
    name="CentOS7 HTTP YUM"
    baseurl=http://192.168.10.11/centos/
    gpgcheck=0
    enabled=1
    [updates]
    name="CentOS7 HTTP YUM"
    baseurl=http://192.168.10.11/centos
    gpgcheck=0
    enabled=1
    
    [root@localhost yum.repos.d]# yum -y install vim
    Loaded plugins: fastestmirror
    http                                                            | 2.9 kB  00:00:00     
    updates                                                         | 2.9 kB  00:00:00     
    (1/2): http/primary_db                                          | 3.0 MB  00:00:00     
    (2/2): updates/primary_db                                       | 3.0 MB  00:00:00     
    Determining fastest mirrors
    
    
        
       
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

文章来源: rivers.blog.csdn.net,作者:宝山的博客,版权归原作者所有,如需转载,请联系作者。

原文链接:rivers.blog.csdn.net/article/details/115281566

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。