基于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
相关文章
|
6月前
|
缓存 Linux Shell
RHEL7部署http应用配置共享yum源
RHEL7部署http应用配置共享yum源
256 0
|
Linux
通过HTTP方式自建CentOS系列Yum源
通过HTTP方式自建CentOS系列Yum源
213 0
|
Go
Go 使用标准库 net/http 包构建服务器
Go 使用标准库 net/http 包构建服务器
46 0
|
4月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
【7月更文挑战第31天】在网络数据的海洋中,使用Python的`requests`库构建网络爬虫就像探索未知的航船。HTTP协议指导爬虫与服务器交流,收集信息。HTTP请求包括请求行、头和体,响应则含状态行、头和体。`requests`简化了发送各种HTTP请求的过程。
84 4
|
2月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
70 3
|
1月前
|
JSON API 开发者
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现代网络应用中的关键作用
17 0
|
3月前
|
安全 Nacos 数据安全/隐私保护
【技术干货】破解Nacos安全隐患:连接用户名与密码明文传输!掌握HTTPS、JWT与OAuth2.0加密秘籍,打造坚不可摧的微服务注册与配置中心!从原理到实践,全方位解析如何构建安全防护体系,让您从此告别数据泄露风险!
【8月更文挑战第15天】Nacos是一款广受好评的微服务注册与配置中心,但其连接用户名和密码的明文传输成为安全隐患。本文探讨加密策略提升安全性。首先介绍明文传输风险,随后对比三种加密方案:HTTPS简化数据保护;JWT令牌减少凭证传输,适配分布式环境;OAuth2.0增强安全,支持多授权模式。每种方案各有千秋,开发者需根据具体需求选择最佳实践,确保服务安全稳定运行。
331 0
|
5月前
|
域名解析 存储 缓存
HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口
【6月更文挑战第23天】 HTTP请求流程概览:浏览器构建请求行含方法、URL和版本;检查缓存;解析IP与端口;TCP连接(HTTP/1.1可能需排队);三次握手;发送请求头与体;服务器处理并返回响应;TCP连接可能关闭或保持;浏览器接收并显示响应,更新缓存。HTTP版本间有差异。
91 5
|
6月前
|
中间件 Go API
Golang深入浅出之-Go语言标准库net/http:构建Web服务器
【4月更文挑战第25天】Go语言的`net/http`包是构建高性能Web服务器的核心,提供创建服务器和发起请求的功能。本文讨论了使用中的常见问题和解决方案,包括:使用第三方路由库改进路由设计、引入中间件处理通用逻辑、设置合适的超时和连接管理以防止资源泄露。通过基础服务器和中间件的代码示例,展示了如何有效运用`net/http`包。掌握这些最佳实践,有助于开发出高效、易维护的Web服务。
84 1
|
6月前
|
监控 网络安全 C++
Qt 5.14.2 网络编程揭秘:构建高效HTTP客户端与文件下载器
Qt 5.14.2 网络编程揭秘:构建高效HTTP客户端与文件下载器
448 0

热门文章

最新文章

下一篇
无影云桌面