基于HTTP 构建本地YUM 源

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、进入到/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 越小表示优先级越高

基于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 ~]# 
  • 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 ~]# 
  • 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
    
    

配置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
    
  • 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/
    
    
  • 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/    生成网络源
    
    
  • 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 ~]# 
    
    
  • 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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宝山的博客

谢谢你的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值