OrbStack Linux 机器使用日志
› 社区话题 › Linux/macOS 与自动化运维 › OrbStack Linux 机器使用日志
- 该话题为空。

- 作者帖子
- 2025年9月22日 - 下午3:16 #1155
追光管理员OrbStack Linux 机器使用日志
本文档基于 OrbStack 官方文档,旨在总结其 Linux 机器的核心功能,并整理所有提及的命令,方便用户快速查阅和使用。
核心功能概览
OrbStack 可在 macOS 上运行高度集成、轻量级的完整 Linux 虚拟机,支持多种发行版,体验类似于 WSL。其核心优势包括:
无缝集成:服务可通过 localhost 访问,文件在 macOS 和 Linux 间双向共享。
资源高效:空闲机器几乎不消耗额外 CPU。
命令互通:可直接在 Linux 中运行 macOS 命令或可执行文件。
架构灵活:在 Apple Silicon 上可高效运行 x8664 架构的机器或程序。
自动化友好:支持命令行创建机器和自动化配置(如 Cloud-init)。详细功能与命令集
1. 服务管理 (Services)
使用发行版自带的初始化系统(如 systemd)管理服务。bash
安装并启动 Nginx 服务示例apt install nginx systemctl start nginx
2. 文件传输 (File Transfer)
Mac – Linux: 文件挂载在 /mnt/mac
Linux – Mac: 文件位于 ~/OrbStack 或 Finder 的 OrbStack 标签页。3. 在 Linux 中运行 Mac 命令 (Run Mac commands from Linux)
系统预设了常用 Mac 命令的别名,也可用 mac 前缀执行任意命令。bash
使用默认 Mac 文本编辑器打开文件open foo.txt
将命令输出复制到 Mac 剪贴板
ps | pbcopy
使用 mac 前缀执行命令
mac uname -a
编译 macOS 可执行文件 (Mach-O)
mac gcc -o foo foo.c
运行编译好的 macOS 程序 (无需 mac 前缀)
./foo
4. 机器间文件复制 (Copy files between machines)
可通过挂载点访问其他 Linux 机器的文件系统。bash
列出名为 \’foo\’ 的机器中的文件ls /mnt/machines/foo
5. SSH
密钥代理:自动转发,无需额外设置即可进行 Git 推送或 SSH 连接。
SSH 服务器:内置服务器,无需在每个机器内单独安装。6. 机器创建 (Machine creation)
通过 orb create 命令快速创建机器。bash
创建一个 Ubuntu 机器,命名为 \’new-ubuntu\’orb create ubuntu new-ubuntu
创建指定版本的 Ubuntu 机器 (如 jammy)
orb create ubuntu:jammy new-ubuntu
在 Apple Silicon 上创建一个 Intel (x8664) 架构的 Ubuntu 机器
orb create --arch amd64 ubuntu new-ubuntu
创建机器时设置默认用户密码
orb create --set-password ubuntu new-ubuntu
7. 自动化设置 (Automatic setup)
创建机器后可立即执行设置脚本。bash
创建机器并运行 setup.sh 脚本orb create ubuntu new-ubuntu && orb -m new-ubuntu ./setup.sh
8. Intel (x86) 仿真 (Intel (x86) emulation)
在 Apple Silicon 上,OrbStack 使用 Rosetta 实现高性能 x86 仿真。启用多架构支持 (Multi-architecture)
在 ARM 机器中安装 x86 库,以运行 x86 程序。bash
在 Ubuntu 上启用 amd64 多架构支持sudo dpkg --add-architecture amd64
配置正确的软件源 (示例为 Ubuntu Lunar)
echo \'deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports lunar main restricted universe multiverse deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports lunar-updates main restricted universe multiverse deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports lunar-security main restricted universe multiverse deb [arch=amd64] http://archive.ubuntu.com/ubuntu lunar main restricted universe multiverse deb [arch=amd64] http://archive.ubuntu.com/ubuntu lunar-updates main restricted universe multiverse deb [arch=amd64] http://archive.ubuntu.com/ubuntu lunar-security main restricted universe multiverse\' | sudo tee /etc/apt/sources.list
更新包列表并安装 x86 基础库
sudo apt update sudo apt install libc6:amd64
使用 QEMU 调试 (Debugging with GDB/LLDB)
bash
安装 QEMU 静态版本sudo apt install qemu-user-static
在 QEMU 中运行 x86 程序并开启 GDB 服务器 (端口 1234)
qemu-x8664-static -g 1234 ./hello
在另一个终端中,使用 GDB 连接调试
gdb ./hello (gdb) target remote :1234 (gdb) continue
9. 用户账户管理 (User accounts)
bash
以 root 身份登录默认机器orb -u root
以 root 身份登录指定机器 (如 \’ubuntu2\’)
orb -m ubuntu2 -u root
为当前用户设置密码
orb sudo passwd $USER
创建新用户 (标准 Linux 命令)
adduser newuser
或
useradd newuser
以新创建的用户身份登录
orb -u newuser
10. USB 设备 (USB devices)
目前不支持直通,但可通过命令链接使用 Mac 版本的工具。bash
将 Mac 上的 \’adb\’ 和 \’fastboot\’ 命令链接到 Linuxmac link adb mac link fastboot
像在 Linux 上原生安装一样使用这些命令
adb devices fastboot devices
11. 环境变量 (Environment variables)
通过 ORBENV 或 WSLENV 变量控制从 macOS 转发到 Linux 的环境变量。bash
为单个命令转发指定变量ORBENV=EDITOR:AWSACCESSKEYID orb terraform apply
为后续所有命令设置要转发的变量
export ORBENV=EDITOR:AWSACCESSKEYID
12. 系统日志与信息 (Boot logs & Info)
bash
查看指定机器 (如 \’ubuntu\’) 的启动日志和控制台输出orb logs ubuntu
查看 Linux 内核头文件 (位于压缩包内)
/sys/kernel/kheaders.tar.xz
当前限制
图形应用:默认不支持,需自行配置 XQuartz 或 Xrdp。
嵌套虚拟化:在 Apple Silicon 上暂不支持嵌套 KVM,需等待 macOS 官方支持。
内核模块:编译自定义内核模块可行但非官方支持,且每次 OrbStack 更新后需重新编译。
- 作者帖子
- 在下方一键注册,登录后就可以回复啦。