如何在Linux虚拟机上搭建本地yum源

在没有网络连接的环境下也能够使用yum进行软件包管理。- Linux系统基础命令- yum软件包管理器- Apache HTTP服务器步骤一:

在Linux系统中,yum是一个非常重要的软件包管理工具,它可以帮助我们快速方便地安装、更新和卸载软件包。但是,在一些网络条件较差或者需要离线安装的情况下,使用远程yum源可能会遇到困难。因此,我们可以考虑搭建本地yum源,在没有网络连接的环境下也能够使用yum进行软件包管理。

本文将介绍如何在Linux虚拟机上搭建本地yum源,并通过实际操作演示每个步骤。

前置知识

在开始之前,需要了解以下基础知识:

– Linux系统基础命令

– yum软件包管理器

– Apache HTTP服务器

步骤一:安装Apache HTTP服务器

首先需要安装Apache HTTP服务器来作为我们的本地yum源服务器。打开终端并输入以下命令:

“`

sudo yum install httpd

该命令将自动下载、安装和配置Apache HTTP服务器。

启动Apache服务:

sudo systemctl start httpd.service

检查是否启动成功:

systemctl status httpd.service

如果服务已经启动,则会显示如下信息:

● httpd.service – The Apache HTTP Server

Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)

Active: active (running) since Tue 2021-08-31 11:22:44 CST; 2s ago

步骤二:准备yum源文件

为了搭建本地yum源,需要将所需软件包的rpm文件下载到本地。可以通过以下方式获取:

– 在线下载:从官方或第三方网站下载所需软件包的rpm文件。

– 离线拷贝:将已经安装好的软件包从其他机器上拷贝到本地。

在这里,我们以CentOS 7系统为例,假设我们需要搭建一个CentOS 7的本地yum源。可以在官网上找到对应版本的镜像地址:

在该地址下可以找到所有CentOS 7系统默认安装软件包的rpm文件。

选择需要下载并存储至本地目录(例如/opt/yumrepo)中。

步骤三:创建yum仓库

使用createrepo命令来创建一个新仓库。如果没有安装createrepo命令,则需要先进行安装:

sudo yum install createrepo

然后,在/opt/yumrepo目录下执行以下命令:

sudo createrepo .

该命令会在当前目录下生成repodata子目录,并向其中添加所有.rpm文件信息以及一些额外的元数据。这样就成功创建了一个yum仓库。

步骤四:配置Apache HTTP服务器

为了让Apache HTTP服务器能够提供本地yum源服务,需要进行一些配置。在终端中输入以下命令:

如何在Linux虚拟机上搭建本地yum源

sudo vi /etc/httpd/conf.d/yumrepo.conf

打开该文件后,在其中添加以下内容:

Alias /yumrepo /opt/yumrepo

Options Indexes FollowSymLinks MultiViews

AllowOverride All

Require all granted

该配置将创建一个别名为“/yumrepo”的虚拟目录,指向/opt/yumrepo目录,并设置相关权限和访问控制。

保存并退出vim编辑器。

重新启动Apache服务以使新的配置生效:

sudo systemctl restart httpd.service

步骤五:测试本地yum源

现在,可以通过使用本地yum源来安装软件包了。首先需要将远程yum源禁用,以便测试本地yum源是否可行。

打开/etc/yum.repos.d/CentOS-Base.repo文件,并修改以下内容:

将如下行注释掉(在行前加#):

#baseurl=$releasever/os/$basearch/

然后,在文件末尾添加如下内容:

[local-yum]

name=Local yum repo

baseurl=

enabled=1

gpgcheck=0

priority=1

keepcache=0

其中,name是仓库名称,baseurl是本地yum源的地址。enabled设置为1表示启用该仓库,gpgcheck表示是否开启GPG校验,priority表示优先级别(数字越大优先级越高),keepcache表示是否保留软件包缓存。

现在可以测试本地yum源了。输入以下命令:

sudo yum clean all

sudo yum list

该命令将清空原有缓存并列出所有可用软件包。如果一切正常,则会看到与远程yum源相同或更多的软件包列表。

通过以上步骤,在Linux虚拟机上成功搭建了一个本地yum源,并实现了通过Apache HTTP服务器提供服务。这样就可以在没有网络连接或者需要离线安装的环境下使用yum进行软件包管理。