基于HTTP 构建本地YUM 源

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

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的网络源



网络源地址



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


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



Centos7:http://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
相关文章
|
缓存 Linux Shell
RHEL7部署http应用配置共享yum源
RHEL7部署http应用配置共享yum源
588 0
|
Linux
通过HTTP方式自建CentOS系列Yum源
通过HTTP方式自建CentOS系列Yum源
388 0
|
Go
Go 使用标准库 net/http 包构建服务器
Go 使用标准库 net/http 包构建服务器
157 0
|
4月前
|
Cloud Native 算法 区块链
站在巨人的肩膀上:gRPC通过HTTP/2构建云原生时代的通信标准
gRPC是云原生时代高效通信标准,基于HTTP/2实现,支持四种服务方法。通过.proto文件定义接口,生成多语言Stub,实现跨语言调用。其请求响应结构清晰,结合Headers、Data帧与Trailers,保障高性能与可扩展性,广泛应用于微服务架构中。
241 0
|
7月前
|
JSON 编解码 API
Go语言网络编程:使用 net/http 构建 RESTful API
本章介绍如何使用 Go 语言的 `net/http` 标准库构建 RESTful API。内容涵盖 RESTful API 的基本概念及规范,包括 GET、POST、PUT 和 DELETE 方法的实现。通过定义用户数据结构和模拟数据库,逐步实现获取用户列表、创建用户、更新用户、删除用户的 HTTP 路由处理函数。同时提供辅助函数用于路径参数解析,并展示如何设置路由器启动服务。最后通过 curl 或 Postman 测试接口功能。章节总结了路由分发、JSON 编解码、方法区分、并发安全管理和路径参数解析等关键点,为更复杂需求推荐第三方框架如 Gin、Echo 和 Chi。
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
【7月更文挑战第31天】在网络数据的海洋中,使用Python的`requests`库构建网络爬虫就像探索未知的航船。HTTP协议指导爬虫与服务器交流,收集信息。HTTP请求包括请求行、头和体,响应则含状态行、头和体。`requests`简化了发送各种HTTP请求的过程。
278 4
|
10月前
|
API Kotlin
动态URL构建与HTTP请求的Kotlin实现
动态URL构建与HTTP请求的Kotlin实现
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
358 3
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
187 0
|
域名解析 存储 缓存
HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口
【6月更文挑战第23天】 HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口;TCP连接(HTTP/1.1可能需排队);三次握手;发送请求头与体;服务器处理并返回响应;TCP连接可能关闭或保持;浏览器接收并显示响应,更新缓存。HTTP版本间有差异。
409 5

热门文章

最新文章