Одна из основных причин, по которой я переключился на Mac, заключалась в том, что я использовал ядро и командную строку, подобные Unix. У меня всегда был локальный сервер Linux для разработки, и возможность внедрить эту функциональность в мой настольный компьютер была отличным преимуществом.
Оказывается, хотя я люблю Mac OS, я не использую его в качестве среды своего сервера разработки — я использую решение, которое сработало бы так же хорошо на компьютере с Windows.
Виртуализация
Если вы еще не сталкивались с этим, программное обеспечение для виртуализации, такое как VMware и Parallels, позволяет вам создавать виртуальные машины на вашем существующем компьютере, на которые вы можете установить практически любую операционную систему, и запускать ее как приложение на вашей существующей ОС. С точки зрения «гостевой ОС», работающей на виртуальной машине, она работает на собственном оборудовании и не имеет доступа к «хост-ОС», кроме как через специально настроенные инструменты общего доступа.
Лукас, наш системный и сетевой администратор, недавно писал об использовании виртуализации для настройки нескольких сред разработки и размещения на запасной машине, что экономит нам много электричества, места в стойке и денег в офисе.
Виртуализация также может быть использована для того, чтобы извлечь максимум пользы из вашего настольного компьютера — простота приятного усовершенствованного графического интерфейса пользователя и доступ к мощной серверно-ориентированной операционной системе.
Mac или Windows — даже Linux
Если вы используете Windows или Linux, VMware является лидером на рынке виртуализации и предоставляет VMware Server бесплатно. Доступна бесплатная бета-версия VMware Fusion для Mac , но окончательная версия не будет бесплатной.
Parallels Desktop в настоящее время является единственным не бета-решением для Mac OS, и у него очень сильные поклонники. Parallels также предлагает программное обеспечение для виртуализации для Windows и Linux.
Программное обеспечение от обоих поставщиков очень похоже по интерфейсу и функциональности — оба легко установить и запустить. Вы создаете новую виртуальную машину, указываете, сколько дискового пространства, ОЗУ и т. Д. Вы хотите выделить, а затем устанавливаете гостевую ОС из файла образа CD, DVD или ISO.
Если вы думаете, что это был бы отличный способ запустить Mac OS на вашем ПК — ну, вы правы. Но, к сожалению, лицензия Mac OS не позволяет этого, и поэтому ни одна из платформ виртуализации не поддерживает это.
Проблема с Mac OS
Запуск пользовательской среды разработки в Mac OS — это хорошо в теории, но она может быть довольно сложной. Компиляция из исходного кода работает нормально в 95% случаев, но остальные 5% могут стоить вам часов, преследуя проблемы с компоновщиком, конфликтами OpenSSL и тому подобное.
Есть менеджеры пакетов, такие как MacPorts и Fink , но они не могут конкурировать со своими конкурентами в Linux. В качестве крайнего примера, «fink install kcachegrind» запустил около 2 дней автоматической загрузки и компиляции KCachegrind и всех его зависимостей — включая весь KDE! Напротив, я запустил приложение в течение нескольких секунд после ввода «aptitude install kcachegrind» в Ubuntu.
Беда с окнами
Хотя cygwin позволит вам запускать многие портированные Unix-подобные приложения под Windows, а многие приложения, такие как Apache, MySQL и PHP, имеют версии для Windows, Windows просто не предлагает стандартную среду и инструменты для запуска серьезной среды разработки для выполнения команды. линия джанки. Становится лучше, но его там нет.
Виртуальный сервер Linux
Я недавно перешел на Ubuntu , после многих лет работы над слегка устаревшим дистрибутивом Slackware Linux. Если вы новичок в Linux, я бы рекомендовал установить Ubuntu Desktop на виртуальную машину для начинающих. Это даст вам хороший интуитивно понятный графический интерфейс, пока вы освоитесь. Я пошел с Ubuntu Server , который не предоставляет графический интерфейс. Я запускаю его в фоновом режиме, получая доступ к нему через SSH, используя iTerm (или PuTTY в Windows), а не более неуклюжее окно VM.
Ubuntu предоставляет огромное количество современного программного обеспечения в своем онлайн-хранилище, которое можно легко установить с помощью графического диспетчера пакетов Synaptic или «aptitude» из командной строки. Например, «sudo aptitude install subversion» отсортирует вас для управления исходным кодом за считанные секунды, а «sudo aptitude install rails» предскажет ваше следующее веб-приложение и напишет его для вас! (извините — я не удержался)
Samba («sudo aptitude install samba»), пожалуй, является наиболее достойным упоминанием из множества доступных полезных приложений. Он обеспечивает общий доступ к файлам, совместимым с Mac OS и Windows, так что вы можете подключиться к вашей виртуальной машине в качестве сетевого диска и редактировать файлы на месте, сохраняя изменения и обновляя браузер. Нет больше передачи по FTP, чтобы увидеть все изменения.
Всего два быстрых предупреждения. Во-первых, существует проблема между Parallels (до текущей сборки 3188) и ядрами Linux, используемыми Ubuntu 7 (кодовое имя Feisty Fawn) и другими недавними дистрибутивами Linux. Хотя есть некоторые обходные пути , я бы пошел с VMware Fusion Beta, если вы хотите запустить последнюю версию Ubuntu на Mac, пока Parallels не выпустит обновление. Во-вторых, запуск виртуальной машины немного увеличит энергопотребление. Несмотря на то, что он работает гораздо эффективнее, чем две физические машины, вы наверняка заметите разницу в времени автономной работы, если у вас есть ноутбук. Однако для приостановки и возобновления работы виртуальной машины Linux с 256 МБ ОЗУ требуется всего несколько секунд, так что это меня не особо беспокоило.