Dec. 1st, 2024

victor_sudakov: (Default)
Parallels Desktop конечно очень хорош, может запускать полноценную VM даже с иксами.

Но если нужно запустить на Маке text mode Linux, я пока не нашёл ничего лучше OrbStack. Это не полноценная VM, как Parallels или VirtualBox c (пара)виртуализацией железа, а нечто ближе к Debootstrap или WSL. Но это настоящая Ubuntu, Centos, Gentoo etc (OrbStack предлагает выбор из 16 дистрибутивов линукса). Файловая система VM при этом доступна с MacOS хоста и наоборот, можно файлы легко копировать в/из VM. Если установить внутри VM сетевое ПО, например NGiNX или Kubernetes с ингрессом, все слушающие порты будут слушать на localhost Мака. Можно выполнять команды Linux из MacOS и наоборот с помощью утилит orb и mac соответственно.

Зачем нужен text mode Linux на Маке, если MacOS это UNIX-подобная ОС и для нее есть Homebrew?

Если вы много занимаетесь администрированием Linux, то отличия CLI Linux и MacOS (которая BSD) будут вам доставлять постоянное неудобство, в том числе при написании скриптов, сравните хотя бы ключи команды date. Конечно, если использовать из MacOS только Терминал для ssh-доступа в облако, то никакой OrbStack не нужен, и даже Homebrew не нужно.

Внутри OrbStack можно запустить настоящий линуксовый docker и Kubernetes, например Kind. Зачем Kind, если для MacOS есть 1) Docker Desktop и 2) Kubernetes встроенный в OrbStack? А затем, что оба они однонодовые, если же нужен multi-node cluster (например потестировать node affinity), надо ставить Kind или K3d.

Виртуальных машин OrbStack можно сделать сколько угодно с разными дистрибутивами Linux, например для любителей пакетного менеджера pacman есть Arch. Файлы с одной VM на другую можно копировать через /mnt/machines.

Из недостатков:

1. Клонировать VM нельзя. Можно автоматизировать настройку новой VM, поддерживается Cloud-init, но мне проще ansible-pull.

2. Иксовые приложения внутри VM просто так не запустишь, но в документации пишут, что можно, если в качестве X-сервера запустить XQuartz на Маке, или Xrdp. Ну или если у вас в сети есть X-terminal, наверное можно $DISPLAY туда отправить, я не пробовал за ненадобностью.

3. USB устройства внутрь VM пока не пробрасываются.

Profile

victor_sudakov: (Default)
Виктор Судаков

December 2024

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 23rd, 2025 06:03 pm
Powered by Dreamwidth Studios