macOS下使用UTM安装Alpine Linux虚拟机

在macOS下使用UTM(Universal Turing Machine)安装Alpine Linux虚拟机是一个相对简单的过程,但需要一些基本的配置和步骤。以下是详细的指南,涵盖了从安装UTM到配置Alpine Linux虚拟机的整个过程。

安装UTM 参考之前发布的文章:使用 UTM 在 Apple Silicon 上的 macOS 中创建 Windows 虚拟机

下载Alpine Linux ISO

Alpine Linux是一个轻量级的Linux发行版,适合用作虚拟机。你可以从Alpine Linux的官方网站下载最新的ISO镜像。选择适合虚拟机的版本(通常是x86_64架构)。
切记是选择虚拟机的版本
1.jpg

3. 创建新的虚拟机

  1. 打开UTM应用
  2. 点击“+”按钮创建一个新的虚拟机
    2.png
  3. 选择“虚拟化”选项
    0.png
  4. 在“操作系统”部分,选择“Linux”。
    3.png
  5. 在“Boot ISO image”部分,点击“Select”按钮,选择你之前下载的Alpine Linux ISO文件。
    4.png

    4. 配置虚拟机

  6. CPU和内存:根据你的macOS系统配置,选择合适的CPU核心数和内存大小。对于Alpine Linux,通常2个CPU核心和1GB内存就足够了。
    5.png
  7. 存储:选择一个合适的大小来创建虚拟硬盘。建议至少10GB,以确保有足够的空间安装和运行系统。
    6.png
  8. 网络:默认情况下,UTM会为虚拟机配置一个NAT网络,这通常是足够的。如果你需要更高级的网络配置,可以在启动后手动配置。
    7.png

5. 启动虚拟机并安装Alpine Linux

8.png

  1. 点击“Play”按钮启动虚拟机。
    10.png
  2. 启动完成,输入账号root,回车直接进入系统
    11.png
  3. 登录成功后,执行setup-alpine进入安装向导,向导会询问你一系列的问题,然后等待你的输入。如果途中操作有失误,可以按Ctrl + c 退出向导,再重新开始向导
    setup.png
    3.1 选择键盘布局(推荐:us)
    12.png
    3.2 设置hostname(回车默认或输入主机名或你自己定义一个)
    13.png
    3.3 配置网卡(网卡名、IP等,也可以一路回车; 如果你不小心进入了IP配置的编辑页面,可输入q退出编辑或wq保存修改退出)
    14.png
    3.4 设置Root账号密码
    15.png
    3.5 设置时区(回车默认即可)
    16.png
    3.6 设置网络代理(如果不是网络限制,默认即可)
    17.png
    3.7 设置时钟服务器(回车默认即可)
    18.png
    3.8 选择镜像加速(也可以默认,也可以根据你的实际情况处理,根据提示比如输入s查看所有镜像列表,然后输入序号;也可以输入f让系统自动选择最快的镜像站点....)
    19.png
    3.8 设置一个低权限的用户(默认不设置)
    20.png
    3.9 选择ssh服务(根据需要设置,也可以一路回车...)
    21.png
    22.png
    3.10 磁盘设置(选择它列出的磁盘,我这儿显示的是vda,输入vda即可)
    然后输入sys这是传统模式,如果想试试别的分区方法请自行查找alpine的wiki,比如我这儿试了一下lvm
    最后输入y抹除磁盘
    23.png
    当你看到 Installation is complete. Please reboot. 表示已经安装完成,重启虚拟机reboot即可
    虚拟机如果设置usb或cd优先的启动顺序,容易直接又进入iso的系统中,所以推荐你将iso文件退出后再开机

6. 配置Alpine Linux

  1. 登录到Alpine Linux(使用root用户和之前设置的密码)。
  2. 更新系统:

    apk update
    apk upgrade
  3. 安装必要的软件包(如SSH服务器、文本编辑器等):

    apk add openssh nano
  4. 启动SSH服务:

    rc-service sshd start
  5. 配置SSH服务开机自启动:

    rc-update add sshd

7. 优化和高级配置

  • 共享文件夹:UTM支持通过VirtFS(9p文件系统)共享文件夹。你可以在UTM的虚拟机设置中配置共享文件夹,然后在Alpine Linux中挂载:

    mount -t 9p -o trans=virtio share /mnt
  • 性能优化:根据你的需求,可以调整虚拟机的CPU和内存配置,或者启用KVM加速(如果UTM支持)。

8. 常见问题与解决方案

  • 无法启动虚拟机:检查ISO文件是否正确,确保UTM的版本是最新的。
  • 网络问题:确保虚拟机的网络配置正确,可以尝试手动配置网络接口。
  • 性能问题:如果虚拟机运行缓慢,尝试减少CPU和内存的使用,或者关闭不必要的后台服务。

Alpine-linux下setup-开头的一些系统设置类命令

在 Alpine Linux 中,setup-* 系列命令是一组用于配置系统的脚本。这些脚本通常用于在安装或配置 Alpine Linux 时执行各种任务。以下是这些命令的简要说明:

  1. setup-alpine: 这是 Alpine Linux 安装程序的主脚本。它引导用户完成 Alpine Linux 的安装过程,包括选择键盘布局、配置网络、设置主机名、分区磁盘、安装系统等。
  2. setup-apkcache: 配置 APK 包管理器的缓存目录。APK 是 Alpine Linux 的包管理器,这个脚本用于设置或更新 APK 缓存目录的位置。
  3. setup-apkrepos: 配置 APK 包管理器的仓库(repositories)。这个脚本用于设置或更新 APK 包管理器使用的软件仓库列表。
  4. setup-bootable: 配置系统以使其可引导。这个脚本通常用于在安装完成后,确保系统能够正确引导。
  5. setup-desktop: 配置桌面环境。这个脚本用于安装和配置桌面环境,如 XFCE、LXDE 等。
  6. setup-disk: 配置磁盘分区。这个脚本用于对磁盘进行分区,通常在安装过程中使用。
  7. setup-dns: 配置 DNS 解析器。这个脚本用于设置系统的 DNS 解析器配置。
  8. setup-hostname: 配置主机名。这个脚本用于设置系统的主机名。
  9. setup-interfaces: 配置网络接口。这个脚本用于设置网络接口的配置,如 IP 地址、子网掩码、网关等。
  10. setup-keymap: 配置键盘布局。这个脚本用于设置系统的键盘布局。
  11. setup-lbu: 配置 LBU(Alpine Linux Backup Utility)。LBU 是 Alpine Linux 的备份工具,这个脚本用于配置 LBU。
  12. setup-mta: 配置邮件传输代理(MTA)。这个脚本用于安装和配置邮件传输代理,如 Postfix 或 Sendmail。
  13. setup-ntp: 配置 NTP(网络时间协议)。这个脚本用于设置系统的时间同步服务。
  14. setup-proxy: 配置代理服务器。这个脚本用于设置系统的代理服务器配置。
  15. setup-sshd: 配置 SSH 服务器。这个脚本用于安装和配置 OpenSSH 服务器。
  16. setup-timezone: 配置时区。这个脚本用于设置系统的时区。
  17. setup-user: 配置用户。这个脚本用于创建和管理用户账户。
  18. setup-wayland-base: 配置 Wayland 基础环境。这个脚本用于安装和配置 Wayland 图形系统的基础组件。
  19. setup-xorg-base: 配置 Xorg 基础环境。这个脚本用于安装和配置 Xorg 图形系统的基础组件。
  20. setup-xen-dom0: 配置 Xen 域 0(dom0)。这个脚本用于配置 Xen 虚拟化环境中的域 0。

这些脚本通常在 Alpine Linux 的安装和配置过程中使用,帮助用户快速设置系统。每个脚本的具体功能可以通过查看其源代码或使用 -h 选项来获取更多信息

标签: Linux, macOS, 虚拟机

相关文章

Linux下的SSH服务配置与安全使用指南

重要提示:本文只是我日常使用的参考,请你先在本地做好测试,以免修改后不能正常登录服务器。 尤其是密钥登录的情况,一定要先将公钥放到服务器对应目录中SSH(Secure Shell)是一种加密网络...

Linux下swap分区的使用及配置

在Linux系统中,Swap分区用于在物理内存(RAM)不足时,将部分内存数据转移到硬盘上,以释放内存空间。Swap分区对于系统的稳定运行至关重要,尤其是在内存资源有限的情况下。本文将详细介绍如...

如何实现让我们部署的Go应用在进程挂掉之后自动重启

在软件开发和部署过程中,确保应用的高可用性是至关重要的。对于使用Go语言开发的应用来说,实现在进程异常终止后自动重启是提高服务稳定性的有效策略之一。下面将围绕如何实现Go应用在挂掉之后自动重启进...

图片Base64编码

CSR生成

图片无损放大

图片占位符

Excel拆分文件