基于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
- 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/
- 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
- Centos7:
基于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
- 本地YUM源通过CreateRepo搭建完毕,需要借助HTTP WEB服务器发布
-
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
- 点赞
- 收藏
- 关注作者
评论(0)