Привет, Хабр!

Не секрет, что MacOS хоть и достаточно удобная операционная система, но звезд с неба не хватает, если речь заходит о работе с отечественным ПО.

На самом деле все упирается в архитектуру: нативная установка x86 операционных систем на ARM Mac невозможна, а эмуляция ПО таких архитектур требует определенной экспертизы и довольно много времени, чтобы все не только запустилось, но и корректно заработало.

Если вы используете Mac как основной компьютер и заинтересованы в переходе на отечественные IT-решения или администрируете их, вы зашли по адресу.

Я опишу один из способов, как запустить и изучить Astra Linux SE 1.8 на ARM Mac. В результате ОС будет работать полностью автономно и на вашем компьютере.
Пройдем весь путь развертывания ОС, начиная с конфигурации шаблонов виртуальных машин в режиме эмуляции x86, и заканчивая настройкой проброса общей директории между гостевой ОС и MacOS.

Для запуска x86 ОС на Mac я выбрал UTM — бесплатное ПО для виртуализации и эмуляции. В отличие от более популярного, но платного Parallels Desktop, UTM лучше поддерживает эмуляцию x86 для практически любых ОС, в том числе Astra Linux. Он прост в использовании и имеет широкие возможности по настройке конфигурации виртуальных машин.

Отдельно хочу отметить, что для Mac существует ряд альтернатив, которые я собрал для сравнения в таблицу:

Название

Преимущества

Недостатки

Особенности

UTM

Поддерживает множество настроек для кастомизации аппаратной части виртуальных машин.

Не поддерживает 3D-ускорение.

Основан на QEMU, что позволяет эмулировать различные процессоры, включая старые архитектуры. Может запускать Astra Linux, Windows, MacOS и другие ОС, такие как Mac OS 9 и Sun Solaris 9.

Parallels Desktop

Поддерживает тесную интеграцию с ARM Windows вплоть до работы сканера отпечатка пальца в гостевой ОС. Предлагает виртуальную копию CPU и другого оборудования вашего Mac.

Платная лицензия, на ARM Mac ограниченная поддержка x86 (только с Ubuntu).

Предлагает виртуальную копию CPU и другого оборудования вашего Mac.

tart.run

Не требует установки на локальный компьютер. Подходит для пользователей, которым нужна гибкость и мобильность. Не требует установки на локальный компьютер.

Зависимость от интернет-соединения. Платная лицензия с различными тарифными планами.

Позволяет запускать Windows и другие ОС удаленно через облачный сервис.

VMware Player

Имеет мощные функции для управления виртуальными машинами.

Бесплатная версия для личного использования с ограничениями, платные версии для бизнеса.

Ориентирован больше на профессиональных пользователей.

VirtualBox

Бесплатный и открытый исходный код. Легковесный и простой в использовании.

Ограниченная поддержка 3D-графики, Ограниченные возможности для кастомизации.

Часто используется в образовательных и личных целях.

VMware Fusion

Поддерживает как виртуализацию, так и эмуляцию.

Бесплатная версия для личного использования с ограничениями, платные версии для бизнеса.

Имеет мощные функции и интеграцию с экосистемой VMware.

Подготовка к установке

Руководство, описанное далее в этой статье, будет применимо к любому Mac на базе чипов Apple Silicon.

Некоторые параметры, такие как CPU, RAM для виртуальных машин, я выбрал с учетом характеристик конкретно моего компьютера и их стоит корректировать в зависимости от конфигурации вашего.

Название модели

MacBook Pro

Чип

Apple M3 Max

Общее количество ядер

14 (10 производительности и 4 эффективности)

Память

36 ГБ

Установка и настройка UTM

Загружаем установочный пакет UTM с официального сайта.
На момент написания статьи последняя версия имеет номер 4.6.4.
Теперь создаем новую виртуальную машину, куда будет впоследствии установлена ОС Astra Linux SE 1.8.
Для этого нажимаем Cmd+N
В следующем окне нажимаем "Эмулировать":

Далее выбираем "Linux":

Тип загрузочного образа оставляем без изменений (не выбрано), а в разделе выбора ISO-образа выбираем загруженный образ Astra Linux 1.8:

Этап по настройке оборудования оставляем без изменений - это ключевой момент конфигурирования, поэтому его выполним позже целиком:

Размер дискового хранилища можно оставить по умолчанию - 64 ГБ, этого более чем достаточно для наших целей:

Каталог общего доступа пока не настраиваем:

Проверяем правильность настройки, придумываем имя создаваемой ВМ и нажимаем "Сохранить":

Теперь выполняем целиком тонкую настройку ВМ: нажимаем на созданную ВМ ПКМ и выбираем "Изменить":

Начинаем настройку сразу с раздела "Система".

Отдельно отмечу два параметра: "Принудительно включить многоядерность" и "Кэш JIT".
Для первого обязательно нужно установить чекбокс, иначе ВМ в такой конфигурации будет работать очень медленно.
Второй параметр с кэшем не стоит оставлять незаполненным, в противном случае это существенно скажется на производительности ВМ:

Чтобы с легкостью пробрасывать общие директории в гостевую ВМ, переходим в раздел "Общий доступ", меняем значения параметра "Режим совместного доступа к каталогам" на "SPICE WebDAV" и выбираем путь к каталогу, который мы будем использовать в качестве общего. Я выбрал директорию с дистрибутивами, в которой лежат два образа: Astra Linux и Termidesk. После установки ОС мы продолжим настройку проброса каталогов уже в гостевой ОС и завершим настройку общего доступа:

Последнее, что нужно сделать — в разделе "Дисплей" для параметра "Эмулируемая видеокарта" установить значение "virtio-vga". Опыт показал, что это лучший выбор как по стабильности системы, так и по адекватности работе ресайзинга окна с гостевой ВМ:

На этом настройка шаблона ВМ завершена.

Установка Astra Linux SE 1.8 в UTM

Теперь запускаем созданную ВМ, видим приветственный экран и начало загрузки окружения Astra Linux:

Так выглядит загрузка ЦП на этапе работы инсталлятора при выделенных 8 ядрах ЦПУ для данной ВМ:

После загрузки Live образа ОС сразу переходим к установке, выбираем базовый уровень защищенности и принимаем лицензию:

На этапе "Компоненты установки" полезно сразу добавить компонент "Средства удаленного подключения SSH":

Затем называем и защищаем паролем учетную запись администратора:

Осталось дождаться завершения установки ОС:

Нагрузка хоста на протяжении всей установки сохранялась стабильно на таком уровне:

При такой нагрузке я могу полноценно продолжать работу в MacOS, не ощущая дефицита производительности.После завершения установки выключаем ВМ, открываем настройки и очищаем путь до инсталлятора ОС:

Запускаем ВМ, выполняем вход в систему:

На рабочем столе нажимаем сочетание клавиш Option + T (Аналог Alt + T для гостевой ОС) и получаем терминал:

Стоит заметить, что буфер обмена между MacOS и Astra Linux будет работать без дополнительных манипуляций, поэтому вставлять текст, скопированный на хосте, можно сразу в терминал гостей ВМ командой Ctrl + Shift + V.
Затем открываем файл sources.list удобным редактором, например Vim:

sudo vim /etc/apt/sources.list

В нем нужно раскомментировать все репозитории, в результате файл должен иметь следующий вид:

Обновляем пакеты:

sudo apt update
sudo apt dist-upgrade -y

После этого завершаем настройку общего доступа к каталогам:

sudo apt install spice-vdagent spice-webdavd davfs2

Во время установки пакетов появится окно настройки davfs2, где нужно обязательно разрешить монитирование ресурсов непривилегированным пользователям:

Затем выключаем ВМ:

sudo shutdown now

и проверяем, что в параметрах ВМ раздела Общий доступ настройка "Режим совместного доступа к каталогам" не слетела и по-прежнему "SPICE WebDAV":

Запускаем ВМ и в терминале проверяем доступность общей директории:

curl http://127.0.0.1:9843/

В консоли должно быть указано содержимое общего каталога:

Мы видим, что два образа диска, которые я поместил в папку с дистрибутивами, успешно отображаются.
Теперь монтируем общий каталог в систему:

sudo mkdir /mnt/shared
sudo mount -t davfs -o noexec http://127.0.0.1:9843/ /mnt/shared/

В терминале появится предложение ввести имя пользователя и пароль для аутентификации. Оставляем оба этих параметра пустыми:

sudo bash -c 'cat >> /etc/davfs2/secrets << EOF
/mnt/shared anyuser anypass
EOF'

Настраиваем fstab для автоматического монтирования при запуске:

sudo bash -c 'cat >> /etc/fstab << EOF
http://127.0.0.1:9843/ /mnt/shared davfs _netdev,user 0 0
EOF'

Перезапускаем ВМ:

sudo shutdown -r now

И видим, что автоматическое монтирование выполняется и после перезапуска:

На этом базовая подготовка завершена. Система установлена, настроена и обновлена.Очень удобно и просто можно создавать клоны операционной системы для разного рода экспериментов: для этого в главном окне UTM кликаем ПКМ по нашей конфигурации и выбираем "Клонировать":

Оптимизация и дополнительные настройки

Несмотря на то что при использовании такой инсталляции ей было выделено больше половины ресурсов железа хоста, я не ощутил дефицита производительности в MacOS: здесь важно не переусердствовать и обращать внимание на количество ядер "производительности", потому что, как показывает опыт, жертва ядер "эффективности" заметного прироста для гостевой ВМ не даст, но окажет негативное влияние на стабильность работы хоста. 
Описанное в статье руководство открывает действительно большие возможности для экспериментов: российские операционные системы на сегодняшний день мало изучены на подобных стендах.

Обобщая рекомендации по CPU: при проведении экспериментов точно не стоит выделять гостевой ВМ больше 80% от ресурсов вашего хоста, иначе это приведет к общей деградации производительности.
Впрочем, простор для творчества остается очень широким.

Для мониторинга нагрузки я использовал встроенные инструменты MacOS - Мониторинг системы.

В случае, если вы планируете работать с ВМ через терминал Mac по SSH, я рекомендую в параметрах ВМ удалить устройство Дисплей. В результате ВМ будет запускаться так, как будто вы не используете видеоустройство, но доступность по SSH при этом сохранится.

Заключение

Инсталляция, которую мы получили, позволяет проверять почти любой сценарий использования ОС Astra Linux, в том числе в качестве платформы для развертывания прикладного ПО.

Конечно, эмуляция x86 архитектуры значительно уступает по производительности нативному режиму работы. Но цель этой статьи заключается в том, чтобы дать возможность (даже в такой специфической для x86 среде) изучить и попробовать полноценное работающее решение локально на своем компьютере и с минимальными затратами по ресурсам.

Ресурсы и документация

Ссылки для загрузки/запроса дистрибутивов:

Комментарии (22)


  1. shtirlitz1945
    17.02.2025 10:31

    Не секрет, что MacOS хоть и достаточно удобная операционная система, но звезд с неба не хватает, если речь заходит о работе с отечественным ПО.

    В этой фразе прекрасно всё.


    1. Shaman_RSHU
      17.02.2025 10:31

      Простите, не удержался /:
      Россияне НЕ ХОТЯТ возвращаться на Windows — большинство сотрудников крупных российских компаний (60%) поддерживают (https://tass.ru/ekonomika/23168713) отказ от зарубежного ПО.
      Россияне НЕ ХОТЯТ возвращаться на Windows — большинство сотрудников крупных российских компаний (60%) поддерживают (https://tass.ru/ekonomika/23168713) отказ от зарубежного ПО.


  1. unreal_undead2
    17.02.2025 10:31

    Я опишу один из способов, как запустить и изучить Astra Linux SE 1.8 ARM на Mac

    ...

    Конечно, эмуляция x86 архитектуры значительно уступает по производительности нативному режиму работы.

    Так всё таки билд под какую архитектуру ставили?


    1. UVEON Автор
      17.02.2025 10:31

      Благодарим за внимательность, исправили. Речь идет о ARM Mac, ставили на данную архитектуру.


      1. unreal_undead2
        17.02.2025 10:31

        Но вроде билд под ARM у Астры есть, почему не его взяли?


        1. Jesusatana
          17.02.2025 10:31

          Как минимум из за того, что билды на арм у астры, под определенные камни. Если бы у ARM был единый стандарт, то AL ARM завелась бы как и на rpi5b, и на Байкал М и на Apple M Silicon.


          1. unreal_undead2
            17.02.2025 10:31

            Ну так весь fun в написании нужного BSP, такую статью я бы почитал )


  1. saag
    17.02.2025 10:31

    Я восхищен господами патриотами:-)


    1. Slparma
      17.02.2025 10:31

      Эта статья какой то кринж лютый


  1. alexandertortsev
    17.02.2025 10:31

    Для чего нужно данное глюченое подобие на божественном Макбуке? Макось прекрасна, а линукс ущербен по своей сути.


    1. unreal_undead2
      17.02.2025 10:31

      См. Q4/Q5 в FAQ


  1. eStellar
    17.02.2025 10:31

    macbook : astra certified... огласите список ПО которое предполагается запускать на такой Астре? Просто любопытно даже.


  1. trojan218
    17.02.2025 10:31

    Слишком много букв для виртуалки......................


  1. Kozoft
    17.02.2025 10:31

    Ммм, а чтобы самому пощупать астру, нужно вот это вот куда-то про себя слить? Прелесть какая. Актуального дистрибутива есть в доступе?



    1. Slparma
      17.02.2025 10:31

      Есть в доступе, но сам знаешь на каких сайтах. И чел тебе это не надо. Просто погугли что такое астра и поставь дебиан если нужен линукс.


    1. tion
      17.02.2025 10:31

      Вот тут беру образ виртуалки. Для пощупать годится конечно https://registry.astralinux.ru


  1. Johan_Palych
    17.02.2025 10:31

    Для информации:
    November 11, 2024 VMware Fusion and Workstation are Now Free for All Users
    https://blogs.vmware.com/cloud-foundation/2024/11/11/vmware-fusion-and-workstation-are-now-free-for-all-users/
    12.11.2024 09:07 VMware Workstation и VMware Fusion стали бесплатными для коммерческого использования
    https://www.opennet.ru/opennews/art.shtml?num=62221
    VMware Fusion и Workstation стали бесплатны для всех пользователей
    https://habr.com/ru/news/857792/

    VMware Fusion for Apple Silicon utilizes a powerful technology called "Translation Layer" to bridge the gap between x86 and ARM architectures.

    А если на iOS поставить?(шутка юмора)
    https://docs.getutm.app/installation/ios/
    https://github.com/utmapp/UTM/releases/tag/v4.6.4
    Почитать доки:
    Fly-astra-update и astra-update - инструменты для установки обновлений
    https://wiki.astralinux.ru/pages/viewpage.action?pageId=71833307


  1. Ghost_Butt
    17.02.2025 10:31

    Люди, у меня важный вопрос, но он не по теме статьи. Что можно написать на языке программирования javascript? Я просто новичек


  1. Slparma
    17.02.2025 10:31

    Аххааххахх я просто ржу немогу, чуть чай не выплинул, люди в коментах умерли от кринжа. Никто астру не будет ставить не куда кроме рабочих компов и то только по требованию о КИИ. Если нужен линукс есть дебиан. И что в астре отечественного решительно не понятно


  1. sirmax123
    17.02.2025 10:31

    Можете исправить заголовок что бы было понятно что речь о виртуалке (для тех кто не знает все возможные системы виртуализации под МАК)

    А то я уж подумал что смогли нативно поставить с помощью какой-то утилиты, но нет - как обычно унылая виртуалка


  1. AndyBrg
    17.02.2025 10:31

    Круто, чтобы скачать линукс необходимо предоставить кучу личных данных которых хватит переоформить квартиру))) Дикость!


    1. Shaman_RSHU
      17.02.2025 10:31

      Скачать мало. Не зря в заключении к статье по документации по указана ссылка на UTM. А вот по Astra Linux только ресурсы :)

      Документации по сертифицированной версии и отличиям от debian нет в открытом доступе

      И так у них было всегда