Содержание
Запускаем Vagrant на MacOS Apple M1/M2 / Хабр
Очень часто в разработке возникает необходимость поднять локальное окружение для отладки каких-либо рабочих моментов. В своей работе я постоянно пользуюсь Vagrant для тестирования инфраструктурного кода, например ansible-ролей. Vagrant остаётся одной из самых популярных утилит для подобных задач, имеет гибкий синтаксис и поддержку базовых алгоритмических структур – можно поднимать N и K машин в цикле, используя заранее вводимые переменные, а потом еще и ansible-inventory генерировать на выходе, разбивая машины по группам.
Рисунок 1. Конфигурация Vagrant для цикличного создания виртуальных машин
Долгое время я оставался пользователем MacBook на процессоре Intel, но больше так продолжаться не могло – пришлось сменить компьютер, хотя я и знал о некоторых особенностях работы М1 с виртуальными машинами.
В этой статье я расскажу, как настроить и запустить Vagrant на процессорах Apple M1/M2 и вернуться в привычный рабочий режим.
Рабочая инсталляция
Рисунок 2. Рабочая инсталляция Vagrant на Apple M1/M2
Rosetta 2: позволяет компьютерам Mac с процессорами Apple использовать приложения, созданные для компьютеров Mac с процессорами Intel.
Vagrant (2.3.0+): программное обеспечение для создания и конфигурирования виртуальной среды разработки. Является обёрткой для программного обеспечения виртуализации, например VirtualBox, и средств управления конфигурациями, таких как Chef, Salt и Puppet.
Vagrant-vmware-desktop (3. 0.1+): Плагин, который позволяет вагранту контролировать VMware-based машины, обеспечивая более высокую стабильность и производительность, чем ПО от VMware.
Vagrant vmware utility (1.0.21+): Сервис предоставляющий vagrant-vmware-desktop e доступ к различным функциям VMware. Так же используется для выполнения операций, требующих привилегированного доступа на хосте, сетевых операций и верификации машин.
Гипервизор (VMware Fusion Public Tech Preview 22h3): Гипервизор виртуальных машин
Установка
1. Rosetta
Первым делом, нужно установить Rosetta 2, для этого выполним следующую команду:
/usr/sbin/softwareupdate --install-rosetta --agree-to-license
2. Vagrant
Далее, необходимо установить сам Vagrant. Это можно сделать скачав его с официального сайта https://www.vagrantup.com/downloads – выбрав MacOS и установив dmg, либо через brew, выполнив команду:
brew install vagrant
Проверить, что Vagrant работает можно также из консоли:
vagrant -v ✔ vagrant global-status
Рисунок 3. Примерный вывод только что установленного Vagrant
3. Гипервизор
Тут начинаются первые приколы, но обо всём по порядку. Просто так взять и скачать с сайта VMWare – мы не можем. Но можем посмотреть актуальную версию. Переходим на сайт https://customerconnect.vmware.com/downloads/get-download?downloadGroup=FUS-PUBTP-22h3, там находим и записываем цифры:
Рисунок 4. Запоминаем актуальную версию VMware Fusion Technology Preview II 22h3
После этого, можем скачать данный файл по ссылке, заменив версию на актуальную. Например, можно использовать команду:
wget https://download3.vmware.com/software/FUS-PUBTP-22h3/VMware-Fusion-e.x.p-#{version}_universal.dmg
В качестве альтернативы, можно поставить через brew:
brew install --cask vmware-fusion
Но это еще не всё. Дело в том, что «Tech preview» устанавливается по собственному пути (/Applications/VMWare Fusion Tech Preview.app
), а провайдеры вагранта будут искать VMWare по стандартному (/Applications/VMWare Fusion. app
). Чтобы исправить это недоразумение, воспользуемся командой:
ln -s /Applications/VMWare\ Fusion\ Tech\ Preview.app /Applications/VMWare\ Fusion.app
4. Vagrant vmware utility
Страница, посвященная данной утилите: https://developer.hashicorp.com/vagrant/docs/providers/vmware/vagrant-vmware-utility, но можно просто перейти по следующей ссылке, скачать и установить последнюю версию https://developer.hashicorp.com/vagrant/downloads/vmware. В качестве альтернативы, можно снова воспользоваться brew:
brew install vagrant-vmware-utility
После установки рекомендую проверить работоспособность утилиты, кстати, таким же образом её можно дебажить чтобы понять, что не работает (я так и узнал про несоответствие путей установки):
sudo /opt/vagrant-vmware-desktop/bin/vagrant-vmware-utility api -debug
В выводе может получиться ошибка, что порт 9922 уже занят. Такое случается, если утилита уже включилась и работает. Её можно выключить и подебажить.
Проверить заняты ли порты:
sudo lsof -i -P | grep LISTEN | grep 'vagrant-v'
Рисунок 5. Вывод консоли, если vagrant vmware utility занимает порт
Выгрузить утилиту:
sudo launchctl unload -w /Library/LaunchDaemons/com.vagrant.vagrant-vmware-utility.plist
Загрузить утилиту обратно:
sudo launchctl load -w /Library/LaunchDaemons/com.vagrant.vagrant-vmware-utility.plist
Также, проверить работоспособность утилиты можно командой:
sudo launchctl list | grep vagrant
Рисунок 6. Вывод консоли, если vagrant vmware utility успешно запущена
5. Vagrant VMWare Plugin
Для установки плагина просто выполняем команду:
vagrant plugin install vagrant-vmware-desktop
На этом инсталляция завершена, пора попробовать запустить виртуальную машину.
Запуск виртуальной машины
Далее, самое сложное 🙂 В целом, всё вышеперечисленное может пройти без ошибок, но машина всё равно не запустится. Я перепробовал множество вариантов, комбинаций и настроек vagrantfile и предоставлю вам решение, которое заработало у меня и моих студентов.
Мне удалось выявить три главных проблемных места при запуске виртуальной машины:
Бокс (образ виртуальной машины) для процессоров ARM
Готовые образы отличаются провайдерами, под которые они заточены, процессорами, и содержимым. Есть популярные образы, которые у меня не заработали, есть образы с 100 загрузок, которые показали себя успешно.
Я остановился на следующих: spox/ubuntu-arm и bytesguy/ubuntu-server-20.04-arm64GUI
По причинам, которые я пока не смог выяснить (подскажите в комментариях!) – виртуальная машина не стартует, если GUI выключен (а он выключен по-умолчанию). В виду этой особенности, приходится добавлять параметрvmware. gui = true
в конфигурации VagrantfileСеть
Когда ваша машина уже практически работает, вагрант может предательски замереть на шаге==> default: Waiting for the VM to receive an address...
Решение было найдено – указатьvmware.vmx["ethernet0.virtualdev"]
= «vmxnet3» в конфигурации Vagrantfile
Создаем директорию для конфигурации нашей будущей машины и Vagrantfile в ней. Итоговый Vagrantfile получается следующим:
Vagrant.configure("2") do |config| config.vm.box = "spox/ubuntu-arm" config.vm.box_version = "1.0.0" config.vm.provider :vmware_desktop do |vmware| vmware.gui = true vmware.cpus = 2 vmware.vmx["ethernet0.virtualdev"] = "vmxnet3" vmware.ssh_info_public = true vmware.linked_clone = false end end
Выполняем запуск машины обычной командой vagrant up
:
Рисунок 7. Успешный запуск виртуальной машины
Подключаемся к свежесозданной машине через vagrant ssh
:
Рисунок 8. Успешное подключение по SSH
На этом всё, надеюсь моё руководство помогло вам сэкономить нервы и время. Желаю вам приятного пользования ноутбуком и до новых встреч 🙂 Ну а если вы увлекаетесь DevOps и системным администрированием – жду вас у себя в ламповом сообществе в телеграмм: https://t.me/deusops
Полезные источники
https://www.vagrantup.com/intro
https://github.com/hashicorp/vagrant-vmware-desktop
https://www.vagrantup.com/docs/providers/vmware/installation
https://gist.github.com/sbailliez/f22db6434ac84eccb6d3c8833c85ad92
https://github.com/hashicorp/vagrant/issues/12195
https://github.com/hashicorp/vagrant/issues/12050
https://www.youtube.com/watch?v=UZXFMCfXqh8
https://www.vagrantup.com/docs/providers/vmware/configuration
Ежедневный настольный календарь Puns of Fun на 2023 год | Издательство ТФ | Календари + Планировщики
Перейти к основному содержанию
Пожалуйста, включите JavaScript в вашем браузере для лучшего использования сайта!
Описание
Доставка
Выбери свой планировщик!
Если вы любите шутки про пап, то этот календарь для вас! Этот ежедневный настольный календарь на 2023 год с новым каламбуром каждый день (с учетом выходных) поставляется с раскладывающимся мольбертом, чтобы сидеть на вашем столе. Он имеет размеры 5,25 x 5,25 дюйма и содержит более 300 веселых каламбуров с соответствующими иллюстрациями, а также страницу с заметками на обратной стороне. Календарь поставляется в завернутой обложке.
Мы обрабатываем заказы ежедневно с понедельника по пятницу и отправляем в том порядке, в котором получить их. Все заказы, размещенные в субботу и воскресенье, будут обработаны на следующий рабочий день. Заказы отправляются из столичного региона Индианаполиса через UPS, FedEx или USPS со стандартной скоростью доставки.
Вам будет отправлен номер для отслеживания по электронной почте/мессенджеру/смс (независимо от того, что вы выбрали в качестве предпочтительного метода при оформлении заказа). Проверьте папку со спамом!
Если в вашем заказе указано, что он отправлен через AUS POST, используйте номер для отслеживания на сайте FedEx.com. Пожалуйста, будьте терпеливы, между сканированиями может быть задержка, то есть может появиться ваша посылка не перемещается. Это. 🙂 Спасибо! Даты доставки, указанные перевозчиками, являются приблизительными и не гарантируются. Мы не возвращаем деньги за задержанные поставки, так как после того, как они покинут наше здание, мы не можем их контролировать.
Если вы хотите отменить заказ, пожалуйста, свяжитесь с нами НЕМЕДЛЕННО, отмена заказа должна быть сделана в течение 2 часов с момента покупки, в противном случае мы не можем гарантировать, что ваш заказ будет отменен. Стоимость доставки не возвращается, и мы не можем возместить стоимость обратной доставки. Если вы действительно хотите вернуть новый/неиспользованный товар, его необходимо вернуть в течение 30 дней с момента покупки. Мы не принимаем возврат бракованного товара. Мы заменим поврежденные детали. Если вашего товара больше нет в наличии, мы вернем деньги.
В случае ошибки (неверная дата, пропуски, опечатки) в вашем календаре, хотя мы ценим обратную связь, мы не предоставляем замену тому, что является простой человеческой ошибкой — хотите верьте, хотите нет, НАСТОЯЩИЕ люди делают нашу продукцию . Эти проблемы, вероятно, не делают продукт непригодным для использования, а, скорее, полезный момент для всех нас, чтобы замедлить темп, перевести дух и понять, что ошибки (к сожалению) иногда случаются.
СТОИМОСТЬ ДОСТАВКИ:
США (смежный)
$ 0,00 — 29,99 долл. США — $ 5.
КАНАДА
Фиксированная ставка 20,00 долларов США — независимо от размера заказа, доставка UPS или FedEx
МЕЖДУНАРОДНЫЙ
Международный Покупатели: Вы можете заказать через наш магазин EBAY!
Заставка Desktop Fun для Windows
3 звезды, 4 голоса просматривать его через три бинокулярных линзы или медленно раскрывать его со случайно выбранной стороны экрана. Эффект выбирается случайным образом при запуске заставки. Доступно несколько настроек, но все они на японском языке.
Бесплатно
0. 04 МБ для Windows 313
Оценить 5 звезд4 звезды3 звезды2 звезды1 звезда
Скачать
СкриншотыФайлыАнтивирусПомощь
Доска объявлений
У вас есть вопросы об этой заставке? Разместите его на нашей доске объявлений »
Антивирусный отчет для Desktop Fun
Наши редакторы проверили все файлы и признали их безопасными, но они также проверяются автоматически с помощью различных антивирусных сканеров. Мы рады поделиться результатами.
Virus scanner | desktopfun.zip | ||
---|---|---|---|
AVG | |||
Avast | |||
Avira | |||
BitDefender | |||
ClamAV | |||
ESET- NOD32 | |||
F-Secure | |||
Kaspersky | |||
McAfee | Microsoft0091 | ||
Panda | |||
Symantec | |||
TrendMicro | |||
Last scanned | 1 week ago |
We have 1 file for «Desktop Fun»
- desktopfun . zip (Windows)
Отчет о файле #1 | |
---|---|
Имя файла | desktopfun.zip |
Microsoft Windows | |
File size | 40.22 kB (41,185 bytes) |
File type | ZIP archive |
Anti-virus | |
Detection ratio | 0/13 (0%) Посмотреть отчет |
Популярность | |
Всего загрузок | 313 |
File verification | |
MD5 | 79bf730e6778ef96269a821fd7fc9bad |
SHA1 | 2ef1ec95c2a8886b88bd6d3835691c84aa06ea52 |
SHA256 | c50ff0902b3d9f5fa1ff837fc0f8a2f684a6bbeb37a6b38979df5792e84ece12 |
User reviews (0)
No reviews have been написано еще для этой заставки.