社区工具

版本:25.03

在MacOS下安装与运行EulerLauncher

准备工作

安装Homebrew

Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷。

在MacOS桌面下敲击 command + shift + u 组合键,打开访达中的实用工具,并找到终端.app

并根据网络情况输入以下命令进行安装。

可以使用以下命令安装Homebrew:

Shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

由于国内网络原因,可能需要修改源到国内源以进行安装:

Shell
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

安装Qemu及wget

EulerLauncher在MacOS上运行依赖于QEMU,镜像下载依赖于wget,使用Homebrew可以非常方便的下载和管理此类软件,使用以下命令进行安装:

Shell
brew install qemu
brew install wget

配置sudo免密码权限

EulerLauncher在MacOS上运行依赖于QEMU,为了使用户的网络体验更加优秀,因此采用了MacOS的vmnet framework来提供虚拟机的网络能力,当前vmnet使用时需要使用管理员权限,因此在使用QEMU后端创建带有vmnet类型网络设备的虚拟机时,需要启用管理员权限,EulerLauncher在启动时会自动使用sudo命令来实现这一过程,因此需要为当前用户配置sudo免密码使用权限,如您介意此配置,请停止使用EulerLauncher。

  1. 在MacOS桌面下敲击 command + shift + u 组合键,打开访达中的实用工具,并找到终端.app

  2. 在终端中输入sudo visudo修改sudo配置文件,注意,此步骤有可能要求输入密码,请按指示输入密码。

  3. 找到并将%admin ALL=(ALL) ALL替换为 %admin ALL=(ALL) NOPASSWD: ALL

  4. 敲击ESC,再输入:wq进行保存。

安装EulerLauncher

EulerLauncher当前支持MacOS Ventura, 支持Apple Silicon芯片版及x86芯片版,前往EulerLauncher最新版下载MacOS版软件包并解压到期望的位置。

解压后的目录包含以下文件:

其中install可执行文件为安装文件,用于将EulerLauncher所需支持文件安装到指定位置,EulerLauncher.dmg为主程序的磁盘映象。

  1. 本操作需要sudo权限,请先完成配置sudo免密码权限操作。

  2. 安装支持文件:双击install可执行文件,等待程序完成执行。

  3. 配置EulerLauncher

    • 查看qemuwget所处位置,qemu二进制文件在不同架构下名称不同,请根据自身情况选择正确的名称(Apple Silicon: qemu-system-aarch64; Intel: qemu-system-x86_64):

      Shell
      which wget
      which qemu-system-{host_arch}

      参考输出:

      bash
      /opt/homebrew/bin/wget
      /opt/homebrew/bin/qemu-system-aarch64

      查看完成后,记录路径结果,在接下来的步骤中将会使用到。

    • 打开eulerlauncher.conf并进行配置:

      Shell
      sudo vi /Library/Application\ Support/org.openeuler.eulerlauncher/eulerlauncher.conf

      EulerLauncher的配置如下:

      bash
      [default]
      log_dir = # 日志文件位置(xxx.log)
      work_dir = # EulerLauncher工作目录,用于存储虚拟机镜像、虚拟机文件等
      wget_dir = # wget的可执行文件路径,请参考上一步的内容进行配置
      qemu_dir = # qemu的可执行文件路径,请参考上一步的内容进行配置
      debug = True
      
      [vm]
      cpu_num = 1 # 配置虚拟机的CPU个数
      memory = 1024 # 配置虚拟机的内存大小,单位为M,M1用户请勿配置超过2048

      完成编辑后保存退出。

  4. 安装EulerLauncher.app:

    双击EulerLauncher.dmg,在弹出的窗口中用鼠标将EulerLauncher.app拖动到Applications中,即可完成安装,并可在应用程序中找到EulerLauncher.app

使用EulerLauncher

  1. 在应用程序中找到EulerLauncher.app,单击启动程序。

  2. EulerLauncher需要访问网络,在弹出如下窗口时点击允许:

  3. EulerLauncher当前仅支持命令行方式进行访问,请打开终端.app,使用命令行进行操作。

镜像操作

  1. 获取可用镜像列表:

    Shell
    eulerlauncher images

    EulerLauncher镜像有两种位置属性:1)远端镜像 2)本地镜像,只有处于本地且状态为 Ready 的镜像可以直接用来创建虚拟机,位于远端的镜像需要下载后才能够使用;你也可以加载已经预先下载好的本地镜像到EulerLauncher中,具体操作方法可以参考接下来的操作指导。

  2. 下载远端镜像。

    Shell
    eulerlauncher download-image 23.09
    
    Downloading: 23.09, this might take a while, please check image status with "images" command.

    镜像下载请求是一个异步请求,具体的下载动作将在后台完成,具体耗时与你的网络情况相关,整体的镜像下载流程包括下载、解压缩、格式转换等相关子流程,在下载过程中可以通过 image 命令随时查看下载进展与镜像状态:

    Shell
    eulerlauncher images

    当镜像状态转变为 Ready 时,表示镜像下载完成,处于 Ready 状态的镜像可被用来创建虚拟机:

    Shell
    eulerlauncher images
  3. 加载本地镜像。

    用户也可以加载自定义镜像或预先下载到本地的镜像到EulerLauncher中用于创建自定义虚拟机:

    Shell
    eulerlauncher load-image --path {image_file_path} IMAGE_NAME

    当前支持加载的镜像格式有 xxx.qcow2.xzxxx.qcow2

    例如:

    Shell
    eulerlauncher load-image --path /opt/openEuler-23.09-x86_64.qcow2.xz 2309-load
    
    Loading: 2309-load, this might take a while, please check image status with "images" command.

    将位于 /opt 目录下的 openEuler-23.09-x86_64.qcow2.xz 加载到EulerLauncher系统中,并命名为 2309-load,与下载命令一样,加载命令也是一个异步命令,用户需要用镜像列表命令查询镜像状态直到显示为 Ready, 但相对于直接下载镜像,加载镜像的速度会快很多:

    Shell
    eulerlauncher images
    
    ......
    
    eulerlauncher images
    
    ......
  4. 删除镜像:

    通过下面的命令将镜像从EulerLauncher系统中删除:

    Shell
    eulerlauncher delete-image 2309-load
    
    Image: 2309-load has been successfully deleted.

虚拟机操作

  1. 获取虚拟机列表:

    shell
    eulerlauncher list
    
    +----------+-----------+---------+---------------+
    |   Name   |   Image   |  State  |       IP      |
    +----------+-----------+---------+---------------+
    |   test1  | 2309-load | Running | 172.22.57.220 |
    +----------+-----------+---------+---------------+
    |   test2  | 2309-load | Running |      N/A      |
    +----------+-----------+---------+---------------+

    若虚拟机IP地址显示为 N/A ,若这台虚拟机的状态为 Running 则表示这台虚拟机为新创建的虚拟机,网络还未配置完成,网络配置过程大概需要若干秒,请稍后重新尝试获取相关虚拟机信息。

  2. 登录虚拟机:

    若虚拟机已成功分配到IP地址,可以直接使用 SSH 命令进行登录:

    Shell
    ssh root@{instance_ip}

    若使用的是openEuler社区提供的官方镜像,则默认用户为 root 默认密码为 openEuler12#$

  3. 创建虚拟机。

    Shell
    eulerlauncher launch --image {image_name} {instance_name}

    通过--image指定镜像,同时指定虚拟机名称。

  4. 删除虚拟机。

    Shell
    eulerlauncher delete-instance {instance_name}

    根据虚拟机名称删除指定的虚拟机。