一文带你搭建本地YUM仓库
sinye56 2024-12-11 16:53 11 浏览 0 评论
开始之前
YUM(Yellow dog Updater Modified):前身是Yellow dog Linux的yellow dog updater修改而来,看名字就知道是怎么回事了
YUM的作用:只要有相对应的yum仓库,理论上可以自动化安装任何软件。
由于yum仓库很多都是互联网服务商提供的,例如国内的阿里镜像站,在下载软件时候需要访问互联网,但是针对没有互联网环境时,只能自己搭建yum仓库。
正文
两种方案可以解决这种问题,第一种通过代理服务器的方式;第二种就是自建yum仓库,今天我们提到的就是第二种方案
其实整个搭建过程并不复杂,分为三种方式:
- 挂载镜像到本地(不支持远程访问)
- FTP方式(支持远程)
- HTTP方式(支持远程)
挂载镜像到本地
我这里的环境为vmware workstation,只需要在设置里将下图中的勾选即可,如果其他虚拟化环境也是如此,物理机需要插入光盘。
挂载镜像文件至media文件夹(挂在一个空目录即可),如果对挂载命令不理解的人,请移步百度
mount /dev/cdrom /media
将系统自带的yum仓库文件转移到备份文件夹里
cd /etc/yum.repos.d/
mkdir bak
mv Centos* bak/
创建本地yum文件,并指向挂载的目录
cat <<EOF > /etc/yum.repos.d/zabbix.repo
[centos]
name=CentOS
baseurl=file:///media
enabled=1
gpgcheck=0
EOF
测试是否正常
通过yum repolist查看是否OK,再安装zip服务(由于我是精简版的,所以很多软件镜像里没有,只有zip)
HTTP方式
第一种只适合本地化部署,如果需要远程访问就需要用HTTP方式。
既然是http,首先安装web服务(这里可以是apache、可以是Nginx也可以是基于Python的web,自行选择),其次安装yum-utils扩展模块及createrepo创建镜像仓库工具
yum -y install httpd
yum -y install yum-utils createrepo
创建yum仓库的文件夹,文件夹自行创建
mkdir /kasar
下载安装包到创建文件夹
yum -y install --downloadonly --downloaddir=/kasar vim
制作yum仓库,创建仓库元数据文件
createrepo /kasar
修改http配置,将根目录设置为yum仓库目录,同时修改权限和所属者,以及将welcome的文件修改掉(不然访问首页就是默认测试页),并启动
vi /etc/httpd/conf/httpd.conf
cd /etc/httpd/conf.d/
mv welcome.conf welcome.conf.bak
chown apache:apache /kasar -R
chmod 755 /kasar -R
systemctl start httpd && systemctl enable httpd
在客户机使用,同样屏蔽掉自带yum仓库(过程略,查看方式一)
cat <<EOF > /etc/yum.repos.d/kasar.repo
[centos]
name=CentOS
baseurl=http://192.168.17.129
enabled=1
gpgcheck=0
EOF
添加rpm包yum仓库,并更新
createrepo --update /kasar
这一种只能解决当前所需要的包,远远满足不了企业的需求,所以需要将阿里或者其他的down下来,那怎么做呢,以zabbix 阿里镜像站为例,首先安装阿里的zabbix仓库文件
cat <<EOF > /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.2/rhel/8/\$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - \$basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/8/\$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
EOF
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX-A14FE591 \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
curl https://mirrors.aliyun.com/zabbix/RPM-GPG-KEY-ZABBIX \
-o /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
查看镜像仓库
我们需要将数据包同步到本地,这里的名字就是repo id的前缀
reposync -r zabbix /kasar
创建repo元数据文件
createrepo /kasar/zabbix
客户端使用,这里需要注意的是IP后需要跟zabbix的目录,因为元数据文件在zabbix目录里
cat <<EOF > /etc/yum.repos.d/kasar.repo
[centos]
name=CentOS
baseurl=http://192.168.17.129/zabbix
enabled=1
gpgcheck=0
EOF
整个过程就完成了,ftp过程和http类似,可以举一反三,如果有疑问的小伙伴欢迎留言哦。
写在最后
自己本地搭建yum仓库的好处就是防止用户访问外网的时候因为下载一些有问题的安装包,或者有些yum仓库在境外,下载非常慢,本地仓库down下来后就没这个问题,当然云化时代,很多大厂已经在国内有自己的仓库,而且比较权威,所以上面的一些顾虑可以消除一大半,至于安全合规性,就看每个企业的要求了,还是那句话适合才是最有效的,技术只能解决一部分问题,剩下的依托管理手段去处理。
附录
自动更新脚本,对cron不熟悉请移步百度
vim /cron/kasar.sh #编写同步脚本
reposync -r zabbix -p /kasar -d #删除本地老旧
reposync -r base -p /kasar/
crontab -e #添加定时任务
0 0 1 * * sh /cron/repository.sh #每月1日0时更新yum仓库
相关推荐
- linux 查看当前应用内存状况,以及内存参数含义
-
1、查看进程号ps-ef|greptomcat2、查看当前内存分配,200ms打印一次jstat-gc进程号2001jstat-gc344802001S0CS1C...
- 如何显示 Linux 系统上的可用内存?这几个命令很好用!
-
在Linux系统中,了解可用内存是优化系统性能、故障排查以及资源管理的重要一环。本文将详细介绍如何在Linux系统上显示可用内存,包括多种方法和工具的使用。在讨论可用内存之前,我们需要了解一些...
- Linux 下查看内存使用情况方法总结
-
Q:我想监视Linux系统的内存使用情况,在Linux下有哪些视图或者命令行工具可用呢?在做Linux系统优化的时候,物理内存是其中最重要的一方面。自然的,Linux也提供了非常多的方法来监控宝贵的内...
- 2、linux命令-用户管理
-
linux命令-用户管理用户切换[root@eric~]#sueric#切换到用户eric[eric@ericroot]$[eric@ericroot]$su#切换到rootPas...
- Centos 7 进入单用户模式详解
-
1、开机在启动菜单按e进入编辑模式找到linux16行,在最后添加init=/bin/sh编辑完后,按ctrl+x退出2、进单用户模式后,使用passwd修改密码,提示以下错误:passwd:Aut...
- 每日一个Linux命令解析——newusers
-
newusers:在Linux系统中,newusers是一个用于批量创建用户的命令。它从一个文件中读取多行用户信息,每行描述一个用户的详细信息,并根据这些信息创建多个用户或对现有用户进行批量修改。一...
- openEuler操作系统管理员指南:管理用户与用户组
-
在Linux中,每个普通用户都有一个账户,包括用户名、密码和主目录等信息。除此之外,还有一些系统本身创建的特殊用户,它们具有特殊的意义,其中最重要的是管理员账户,默认用户名是root。同时Linux也...
- Linux用户管理
-
1、用户信息文件/etc/passwdroot:x:0:0:root:/root:/bin/bash第一列:用户名第二列:密码位第三列:用户ID0超级用户UID。如果用户UID...
- centos7基础-用户、组、权限管理
-
用户和组(1)用户、组、家目录的概念linux系统支持多用户,除了管理员,其他用户一般不应该使用root,而是应该向管理员申请一个账号。组类似于角色,系统可以通过组对有共性的用户进行统一管理。每个用户...
- LINUX基础 ----------组及用户的概念
-
在Linux中,用户和组都是非常重要的概念,可以控制文件访问权限和资源的管理。用户是标识一个进程、应用程序或系统管理员的账号,Linux中每个用户用一个用户ID(UID)来标识。对于一个...
- 从零入门Linux(四)用户与权限管理
-
在Linux系统中,用户和权限管理是系统安全的重要组成部分。通过合理配置用户和权限,可以确保系统的安全性和资源的合理分配。以下是一些与用户和权限管理相关的常用命令和概念。1.用户管理1.1添加...
- 如何在 Linux 中管理用户?
-
在Linux系统中,用户是系统资源的主要使用者,每个用户都有一个唯一的标识符(用户ID)。为了更好地组织和管理用户,Linux还引入了用户组的概念。用户组是用户的集合,有助于更有效地分配权限和资...
- 在 Linux 中将用户添加到特定组的四种方法
-
在Linux多用户操作系统中,用户组管理是系统安全架构的基石。通过合理的组权限分配,管理员可以实现:精确控制文件访问权限(chmod775project/)简化批量用户权限管理(setfacl-...
- 我不是网管 - 如何在Ubuntu Linux下创建sudo用户
-
Sudo用户是Linux系统的普通用户,具有一定的管理权限,可以对系统执行管理任务。在Linux中,root是超级用户,拥有完全的管理权限,但不建议将root凭证授予其他用户或作为r...
- Linux创建普通用户,为密钥方式登录做准备
-
Hi,我是聪慧苹果8,就是江湖上人见人爱、花见花开,土到掉榨的Linux爱好者,一起学习吧!上一篇关于SSH安全加固的文字,有网友点评通过密钥登录更加安全,先创建一个普通用户,拒绝直接使用密码登录,这...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle忘记用户名密码 (59)
- oracle11gr2安装教程 (55)
- mybatis调用oracle存储过程 (67)
- oracle spool的用法 (57)
- oracle asm 磁盘管理 (67)
- 前端 设计模式 (64)
- 前端面试vue (56)
- linux格式化 (55)
- linux图形界面 (62)
- linux文件压缩 (75)
- Linux设置权限 (53)
- linux服务器配置 (62)
- mysql安装linux (71)
- linux启动命令 (59)
- 查看linux磁盘 (72)
- linux用户组 (74)
- linux多线程 (70)
- linux设备驱动 (53)
- linux自启动 (59)
- linux网络命令 (55)
- linux传文件 (60)
- linux打包文件 (58)
- linux查看数据库 (61)
- linux获取ip (64)
- linux进程通信 (63)