一个小时内创建一个 CentOS 家庭实验室
创始人
2024-03-02 09:37:29
0

用一个带有虚拟化软件的系统(CentOS ISO),花费一个小时左右来设置一套自给自足的基本 Linux 服务器。

当学习新的 Linux 技能时(或像我一样学习 Linux 认证),在笔记本电脑上有一些可用的虚拟机(VM)是很有帮助的,这样你就可以在上面学习。

但是,如果在没有良好互联网连接的地方,你却想在一个 Web 服务器上工作,该怎么办? 想要使用没有安装过的其他软件,该怎么办? 如果需要从发行版的存储库中下载它,那么你可能会碰壁。只要做一点准备,你就可以设置一个 家庭实验室,你就在任何地方安装所需的任何东西,无论是否有网络连接。

要求如下:

  • 一个你打算使用的已下载的 Linux 发行版(例如,CentOS、Red Hat 等)ISO 文件
  • 一台具有虚拟化功能的主机。这里使用带有 KVMvirt-managerFedora,但其它 Linux 也可以类似工作。你甚至可以使用 Windows 或 Mac 进行虚拟化,但在实现方面存在一些差异
  • 大约一个小时

1、为存储主机创建一个虚拟机

使用 virt-manager 创建一个中等规格的虚拟机:1GB RAM、一个 CPU 和 16GB 磁盘空间就足够。

在虚拟机上安装 CentOS 7

Installing a CentOS homelab

选择你的语言并继续。

单击 “ 安装位置 Installation Destination ”,选择本地磁盘,勾选 “ 自动配置分区 Automatically Configure Partitioning ” 复选框,然后单击左上角的 “ 完成 Done ”。

在 “ 软件选择 Software Selection ” 下,选中 “ 基础设施服务器 Infrastructure Server ” ,选中 “ FTP 服务器 FTP Server ” 复选框,然后单击 “ 完成 Done ”。

Installing a CentOS homelab

选择 “ 网络和主机名 Network and Host Name ”,启用右上方的 “ 以太网 Ethernet ” ,然后单击左上角的 “ 完成 Done ”。

单击 “ 开始安装 Begin Installation ” 开始安装操作系统。

在安装时务必设置一个 root 密码,就可以创建一个带有密码的用户。

2、启动 FTP 服务

下一步是启动并设置 FTP 服务以运行并允许它通过防火墙。

用 root 密码登录,然后启动 FTP 服务器:

systemctl start vsftpd

允许它在每次启动时都能工作:

systemctl enable vsftpd

设置防火墙允许通过的端口:

firewall-cmd --add-service=ftp --perm

立即启用此更改:

firewall-cmd --reload

获取你的 IP 地址:

ip a

(可能是 eth0),在之后会用到。

3、复制本地存储库中的文件

通过虚拟化软件将安装 CD 挂载到虚拟机。

创建待挂载光盘的临时目录:

mkdir /root/temp

挂载安装 CD:

mount /dev/cdrom /root/temp

将所有文件复制到 FTP 服务器目录下:

rsync -avhP /root/temp/ /var/ftp/pub/

4、将服务器指向本地存储库

基于 Red hat 的系统使用以 repo 结尾的文件来确定从哪里获得软件更新和新的软件。这些文件在以下路径

cd /etc/yum.repos.d

你需要摆脱那些使你的服务器在互联网上寻找 CentOS 存储库的存储库文件。可以把它们复制到根目录下保存起来:

mv * ~

然后创建一个新的存储库文件来指向你的服务器。使用常用的文本编辑器创建一个名为 network.repo 文件,输入以下内容(将 替换为在步骤 2 中获得的 IP 地址),然后保存:

[network]
name=network
baseurl=ftp://192.168.122./pub
gpgcheck=0

完成后,可以用下面的命令来测试:

yum clean all; yum install ftp

如果 FTP 客户端按照预期从 “network” 存储库安装,那么本地仓库就已经设置好了!

Installing a CentOS homelab

5、使用你设置的存储库安装一个新的虚拟机

回到虚拟机管理器,并创建另一个虚拟机。但这一次,选择 “ 网络安装 Network Install ”, URL 为:

ftp://192.168.122./pub

如果你使用的是不同的宿主机操作系统或虚拟管理器,像前面一样安装虚拟机,并进行下一步。

6、将新的虚拟机设置为使用现有的“network”存储库

你可以从现有服务器复制存储库文件到这里使用。

和第一个服务器示例一样,输入:

cd /etc/yum.repos.d
mv * ~

然后:

scp root@192.168.122.:/etc/yum.repos.d/network.repo /etc/yum.repos.d

现在可以使用新的虚拟机并从本地存储库获取所有软件了。

再测试一遍:

yum clean all; yum install screen

这将从本地存储服务器安装软件。

这种设置,让你能够脱离网络安装软件,创建一个更可靠的环境,扩展你的技能。


via: https://opensource.com/article/19/6/create-centos-homelab-hour

作者:Bob Murphy 选题:lujun9972 译者:JaphiaChen 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

在你的 Linux 家庭实...
Kubernetes 的优势不仅在于它能够做什么,还在于知道它能为...
2024-03-02 13:22:26
一个小时内创建一个 Cen...
用一个带有虚拟化软件的系统(CentOS ISO),花费一个小时左...
2024-03-02 09:37:29
如何从硬件到防火墙建立一个...
了解一下用于构建自己的家庭实验室的硬件和软件方案。你有想过创建一个...
2024-03-02 07:06:19
把你的树莓派家庭实验室变成...
使用 NFS 服务器将共享文件系统添加到你的家庭实验室。共享文件系...
2024-03-02 05:28:45
使用 Cloud-init...
像主流云提供商的处理方式一样,在家中添加机器到你的私有云。Clou...
2024-03-02 05:26:53
在你的树莓派家庭实验室中使...
了解了云行业的标准,该向你的家庭实验室自动添加新设备和用户了。Cl...
2024-03-02 05:16:46

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...