vak: (Default)
[personal profile] vak
Сложилось по жизни, что мак у меня основной компьютер. Двадцать лет назад был Линукс основной, а тридцать лет назад - FreeBSD. Всё это время мак менялся и постепенно развился в удобный и надёжный инструмент. Пожалуй, альтернативы ему не будет в ближайшие много лет.

При этом больше половины разработок идёт под Линуксом, так что всегда держу его под рукой: или на отдельном ноутбуке, или на сервере в облаке. Но есть и другое решение: виртуальный Линукс на том же самом маке. В последние годы Apple доделал свой гипервайзер и включил его в состав MacOS. Нужно только научиться его задействовать. К счастью, народ уже сваял удобный интерфейс к гипервизору, называется UTM. До этого доводилось пользоваться Parallels, VirtualBox или QEMU. Но с ними свои проблемы. 

Действие в пять шагов.

Шаг 1: устанавливаем утилиту UTM. Выполняем:
brew install utm
В папке /Applications появится UTM.app.

Шаг 2: скачиваем установочный диск Линукса. Я обычно выбираю Ubuntu Server, так как графический интерфейс мне ни к чему. Всё равно я захожу на него по сети через ssh. Шаг 3: создаём виртуальную машину. Запускаем UTM, кликаем на плюсик или жмём ⌘N.



Кликаем на Virtualize. Появится выбор типа операционной системы.



Кликаем на Линукс. Появится окошко параметров.



Ставим галочку "Use Apple Virtualization". Кликаем на "Browse..." и выбираем ISO-образ установочного диска, который мы скачали на предыдущем шаге. Остальное не трогаем. Жмём "Continue". Появится окошко конфигурации виртуального компьютера.



Ставьте, сколько мегабайт памяти и процессоров вам не жалко для Линукса. Минимально разумное количество - 4 гига памяти и два процессора. Я обычно ставлю половину физической памяти моего мака и все наличные процессоры. Не жалко: виртуализатор достаточно экономно расходует ресурсы. Жмём "Continue". Появится окошко размера диска.



Можно оставить 64 гига, хотя можно и уполовинить. Жмём "Continue". Появится окошко разделяемой файловой системы.



Кликаем на "Browse..." и выбираем свою домашнюю папку. Она будет доступна в Линуксе. Жмём "Continue", в следующем окошке жмём "Save".

Шаг 4: устанавливаем Ubuntu. Кликаем на ▶️ - запустится загрузка и установка системы. Продолжаем до перезагрузки, после чего отключаем образ ISO в виртуальной машине.

Шаг 5: монтируем файловую систему мака под Ubuntu. Нужно установить несколько пакетов и смонтировать домашнюю папку:
sudo apt update
sudo apt upgrade
sudo apt install spice-webdavd spice-vdagent qemu-guest-agent
sudo mkdir /mac
sudo nano /etc/fstab ← добавьте строчку "share /mac virtiofs rw,nofail 0 0"
sudo mount /mac
После установки имеет смысл забэкапить образ виртуальной машины. Чтобы при необходимости быстро восстановить или клонировать.
cd ~/Library/Containers/com.utmapp.UTM/Data/Documents
tar cvzf Ubuntu-23.04-utm.tgz Ubuntu\ 23.04.utm
Размер упакованного файла получится 2.3 Гбайт.

Date: 2023-09-08 00:19 (UTC)
aka_human: (Default)
From: [personal profile] aka_human
Лучше бы наоборот - виртуальный macOS на Linux comp.
Edited Date: 2023-09-08 00:20 (UTC)

Date: 2023-09-08 00:35 (UTC)
From: [personal profile] dijifi
“Our hard work is guarded by these words” — если Вы в курсе. Хотя Дарвин можно официально загрузить и даже запустить, но без юай.

Date: 2023-09-08 00:44 (UTC)
aka_human: (Default)
From: [personal profile] aka_human
В курсе, за что и недолюбливаю.

Date: 2023-09-08 01:03 (UTC)
From: [personal profile] dijifi
Можете себе представить как выглядел presilicon environment внутри Apple. А может и сейчас так.

Date: 2023-09-08 13:30 (UTC)
dmarck: (Default)
From: [personal profile] dmarck
presilicon -- на VMware

а вот arm presilicon...

Date: 2023-09-08 02:51 (UTC)
lxe: (Default)
From: [personal profile] lxe
О!
А это с какой версии OSX?

Date: 2023-09-08 10:15 (UTC)
lxe: (Default)
From: [personal profile] lxe
Посмотрел. 11.3.
From: [personal profile] h1uke
"мак развился в удобныйный и надежный инструмент. альтернативы ему не будет в ближайшие годы"

в двух словах, если можно, почему альтернативы не будет?

Спрашиваю потому, что как раз сейчас подбираю себе железо, с которым и завершу свою профессиональную карьеру.
До сих пор бегал от любой продукции "Яббл", как чорт от ладана. For a reason, BTW ..

Что теперь изменилось? Что там такого особенного, кроме удачного CPU, роскошного экрана, и красивой клавиатуры ?

Спасибо.
From: [personal profile] dijifi
Одна проблема — дорого, но с возрастом на это перестаешь обращать внимание.
lxe: (Default)
From: [personal profile] lxe
А это все разве не должно подтягиваться зависимостями проекта, а не дистрибутива?

Date: 2023-09-08 07:54 (UTC)
kondybas: (Default)
From: [personal profile] kondybas
А снапшотить виртуальный диск оно не умеет?

Date: 2023-09-08 10:01 (UTC)
kondybas: (Default)
From: [personal profile] kondybas
Очень жаль. Штука крайне полезная при всякого рода отладке. А уж как оно полезно при апдейтах-апгрейдах - просто слов нет.

Date: 2023-09-08 13:35 (UTC)
dmarck: (Default)
From: [personal profile] dmarck
а встроенные средства не работают?

https://eclecticlight.co/2021/11/13/understanding-snapshot-data-in-disk-utility/

Date: 2023-09-08 10:45 (UTC)
tobotras: (Default)
From: [personal profile] tobotras
Я вот ещё попробовал OrbStack и пищу от восторга.

Date: 2023-09-09 05:52 (UTC)
tobotras: (Default)
From: [personal profile] tobotras
Это такой простой интерфейс к виртуальной машине.
➜  ~ uname -a
Darwin MacBook-Pro-2.local 23.0.0 Darwin Kernel Version 23.0.0: Tue Aug 22 02:13:07 PDT 2023; root:xnu-10002.1.11~16/RELEASE_ARM64_T8103 arm64
➜  ~ orb
boris@ubuntu:/Users/boristobotras$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 23.04
Release:	23.04
Codename:	lunar

Date: 2023-09-08 14:54 (UTC)
From: [personal profile] ivanrubilo
А я что-то от лени в докере всё делаю.
Удобно и мотивирует не копить хлам.

Date: 2023-09-10 18:45 (UTC)
fenikso: (Default)
From: [personal profile] fenikso
Неожиданно вовремя и актуально :) Спасибо!