Lima запускает виртуальные машины Linux на macOS с автоматическим общим доступом, переадресацией портов и средой выполнения контейнеров containerd.
Lima можно рассматривать как своего родна неофициальную подсистему macOS для Linux или containerd для Mac.
$ uname -a Darwin macbook.local 20.4.0 Darwin Kernel Version 20.4.0: Thu Apr 22 21:46:47 PDT 2021; root:xnu-7195.101.2~1/RELEASE_X86_64 x86_64 $ lima uname -a Linux lima-default 5.11.0-16-generic #17-Ubuntu SMP Wed Apr 14 20:12:43 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux $ LIMA_INSTANCE=arm lima uname -a Linux lima-arm 5.11.0-16-generic #17-Ubuntu SMP Wed Apr 14 20:10:16 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
$ echo "files under /Users on macOS filesystem are readable from Linux" > some-file $ lima cat some-file files under /Users on macOS filesystem are readable from Linux $ lima sh -c 'echo "/tmp/lima is writable from both macOS and Linux" > /tmp/lima/another-file' $ cat /tmp/lima/another-file /tmp/lima is writable from both macOS and Linux"
Запуск контейнеров containerd (вместе с контейнерами Docker)
$ lima nerdctl run -d --name nginx -p 127.0.0.1:8080:80 nginx:alpine
http://127.0.0.1:8080 доступен как из macOS, так и из Linux.
Примечание: привилегированные порты (0-1023) не могут быть перенаправлены.
Используйте containerd и nerdctl (containerd ctl).
(brew install qemu);
--accel=hvf
: cat >entitlements.xml <<EOF <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>com.apple.security.hypervisor</key> <true/> </dict> </plist> EOF codesign -s - --entitlements entitlements.xml --force /usr/local/bin/qemu-system-x86_64
--accel=hvf
. Доступна здесь. Примечание: Lima не тестируется на ARM Mac.
Загрузите архив с бинарными файлами и распакуйте его в директории /usr/local
.
Для установки исходников запустите make && make install
.
default
. Lima автоматически открывает редактор (vi)
для просмотра и изменения конфигурации. Подождите, пока на главном терминале не появится надпись READY
;limactl shell <INSTANCE> <COMMAND>
чтобы запустить <COMMAND> на Linux. Для экземпляра default
эта команда может быть сокращена просто до lima <COMMAND>
. Команда lima
также принимает имя экземпляра как переменную среды $LIMA_INSTANCE
;limactl ls
, чтобы отобразить экземпляры;limactl delete <INSTANCE>
, чтобы удалить экземпляр;source <(limactl completion bash)
в ~/.bash_profile
. Примечание: обязательно сделайте резервную копию ваших данных перед запуском Lima, потому что в ней могут содержаться ошибки, приводящие к потере данных. Особенно уязвимы следующие типы данных:
/tmp/lima
), вероятно, после гибернации хост-машины (например, после закрытия и повторного открытия крышки ноутбука);Смотреть здесь.
Текущая спецификация:
~
(только для чтения), /tmp/lima
(для записи);Как это работает
ssh -L
, автоматическое отслеживание /proc/net/tcp
в гостевой системе.Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…