在 VirtualBox/VMware/Hyper-V 上运行 Amazon Linux 2 |
Amazon Linux 2 是 Amazon Web Services (AWS) 提供的 Linux 发行版。该发行版稳定、高性能且注重安全。由于具有以下特点,它受到高度青睐:
- 长期支持,通过 LTS 版本提供的稳定性让开发人员和系统管理员高枕无忧
- 大型合作伙伴生态系统。它拥有庞大的技术合作伙伴社区,例如独立软件供应商 (ISV)。这使得安装多个合作伙伴应用程序成为可能。
- 定价,在云服务上,Amazon Linux 2 是免费提供的。
- 提高开发人员生产力 – Amazon Linux 2 作为虚拟机和容器映像提供,用于本地开发和测试。这有助于开发人员加快应用程序开发速度,并能够在生产环境中测试和集成应用程序。
如前所述,Amazon Linux 2 虚拟机映像用于本地开发和测试。这些图像可用于:
- VirtualBox(Oracle VM)
- 虚拟机
- 微软Hyper-V
- 虚拟机
- 键盘虚拟机
按照本指南进行到底,您应该能够在 VirtualBox/VMware vSphere/Hyper-V 上运行 Amazon Linux 2。
此设置需要执行以下步骤:
- 准备seed.iso启动映像
- 下载 Amazon Linux 2 VM 映像
- 启动并连接到新虚拟机
现在让我们深入了解一下!
#1) 准备seed.iso启动镜像
seed.iso 文件包含启动新虚拟机所需的初始配置。这包括网络配置、主机名和用户数据。
该配置分为两个主要文件:
- 元数据 – 由静态网络配置和虚拟机的主机名组成。
- 用户数据定义用户帐户、密码、密钥和虚拟机的访问机制。默认创建的用户是ec2-user,其密码可以在文件中定义。
现在让我们看看如何生成每个文件。
首先创建下面的文件并导航到该文件。
mkdir seedconfig && cd seedconfig
现在我们将从创建元数据文件开始。
vim meta-data
在打开的文件中,适当设置 VM 的主机名和静态 IP。
local-hostname: myvm.localdomain
# eth0 is the default network interface enabled in the image. You can configure static network settings with an entry like the following.
network-interfaces: |
auto eth0
iface eth0 inet static
address 192.168.100.155
network 192.168.100.0
netmask 255.255.255.0
broadcast 192.168.100.255
gateway 192.168.100.1
请记住替换myvm.localdomain使用适合您系统的主机名并正确设置网络地址。
保存文件并继续创建用户数据文件,如下所示。
vim user-data
在该文件中,添加以下行。
#cloud-config
#vim:syntax=yaml
users:
# A user by the name `ec2-user` is created in the image by default.
- default
chpasswd:
list: |
ec2-user:StrongPassw0rd
# In the above line, do not add any spaces after 'ec2-user:'.
对于本指南,我们将使用默认用户 (ec2-user)。请记住将 StrongPassw0rd 替换为用户的密码。
可选,您可以将以下行添加到用户数据文件中,以防止 cloud-init 在每次启动时应用网络设置。
# NOTE: Cloud-init applies network settings on every boot by default. To retain network settings from first
boot, add the following ‘write_files’ section:
write_files:
- path: /etc/cloud/cloud.cfg.d/80_disable_network_after_firstboot.cfg
content: |
# Disable network configuration after first boot
network:
config: disabled
保存文件并继续使用元数据和用户数据文件创建seed.iso文件。
Linux 系统上使用的工具是genisoimage。从 seedconfig 文件夹中,运行以下命令。
genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
示例输出:
I: -input-charset not specified, using utf-8 (detected in locale settings)
Total translation table size: 0
Total rockridge attributes bytes: 331
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
183 extents written (0 MB)
$ ls
meta-data seed.iso user-data
对于 macOS 系统,您可以使用 hdiutil 工具。使用此工具,您需要从 seedconfig 文件夹向上导航一级,然后执行:
hdiutil makehybrid -o seed.iso -hfs -joliet -iso -default-volume-name cidata seedconfig/
之后,您应该会生成seed.iso文件。
#2) 下载 Amazon Linux 2 VM 映像
Amazon Linux 2 VM 映像可用于多种虚拟化平台。使用以下链接下载最适合您的版本。
- 虚拟机
- 甲骨文虚拟盒
- 微软Hyper-V
#3) 创建 Amazon Linux 2 虚拟机
现在我们到达了问题的关键,我们需要创建 Amazon Linux 2 虚拟机。
这些步骤可能会有所不同,具体取决于您的虚拟化平台,但主要目标是加载 Amazon Linux 2 VM 映像 和 seed.iso 文件。
以下步骤将帮助您在虚拟化平台上加载VM映像和seed.iso文件:
甲骨文虚拟盒
- 首先创建一个新的虚拟机并为其分配一个名称。选择虚拟机的类型和版本
- 设置内存大小。
- 现在继续并使用现有磁盘。浏览并加载 VM 映像并创建。
- 现在进入虚拟机的设置->存储并在控制器:IDE下选择光驱强>
- 在此处加载 seed.iso 文件并应用更改。
VMware vSphere
这里遵循类似的步骤:
- 首先为创建的seed.iso 文件创建数据存储。
- 接下来,部署下载的 OVF 模板。
- 右键单击新虚拟机并编辑设置
- 继续虚拟硬件>新设备并选择添加CD/DVD驱动器
- 现在,导航到数据存储并选择文件,将 seed.iso 文件加载到 CD/DVD 驱动器上。
- 最后,连接添加的CD/DVD驱动器
微软Hyper-V
首先提取压缩的 VM 映像并使用以下步骤加载它:
- 创建新的虚拟机
- 根据提示,选择第一代
- 如果提示配置网络适配器,请选择外部。
- 使用现有磁盘连接到虚拟磁盘。浏览并选择提取的 VM 映像,然后选择完成以创建 VM
- 现在,在新虚拟机上,右键单击并选择设置->IDE 控制器 1,然后选择 DVD 驱动器。
- 浏览seed.iso文件并将其加载到DVD驱动器并应用更改。
#4) 引导至 Amazon Linux 2 VM
根据需要创建 VM 后,将其启动并按以下步骤操作。
虚拟机将加载 seed.iso 中定义的 Amazon Linux 2 VM 映像设置。
加载所有内容后,使用创建的用户登录虚拟机。
现在在新的 Amazon Linux 2 VM 上执行任务。
验证安装。
cat /etc/os-release
示例输出:
更新系统。
sudo yum update
执行输出。
这就对了!
现在,您已在 VirtualBox/VMware vSphere/Hyper-V 上安装了 Amazon Linux 2。继续并根据需要使用实例。
相关文章:
- 如何在 Amazon Linux 2 上设置 WireGuard VPN
- 如何在 Amazon Linux 2 上安装 PHP 8
- 使用 CloudFormation 在 AWS 上创建 Amazon DocumentDB (MongoDB) 数据库
- 在 Amazon EKS 集群上安装 Kubernetes Metrics Server