Cygwin vs Linux Virtual Machine для разработки? - PullRequest
17 голосов
/ 20 марта 2012

Я работаю в сфере ИТ (в основном это поддержка настольных компьютеров и администрирование сети) в среде Windows, и иногда я программирую.

Пару недель назад я решил, что не могуне так эффективен, как я хочу, без среды Bash для нужд моей командной строки.Это особенно верно, когда я использую Ruby и git.Некоторое время я использовал Msysgit, но мне просто не нравилось, что он не был расширяемым, как Linux.Итак, я установил Cygwin и поиграл с этим пару недель.

Каким бы великолепным ни был Cygwin, похоже, что он предназначен для расширенной командной строки, а его совместимость с Linux - лишь приятный побочный эффект.Особенно это стало очевидным, когда я попытался обновить Ruby до 1.9.3 (это работало, но это было непросто), установить rvm (никогда не работало) и установить RMagick (может работать или не работать, но выглядит как головная боль).

Итак, сейчас я рассматриваю возможность запуска Linux на виртуальной машине.Но я волнуюсь, что это может быть еще одна червячная банка, и я потрачу впустую часы, прежде чем узнаю это.Мне нравится, что Cygwin работает в Windows, и я могу использовать мою IDE, пользовательскую папку и многое другое.Но мне не нравится, что поддержка для него не такая тщательная, как для основного дистрибутива.

</ skippable part>

  1. Кто-нибудь здесь имеет представление об использовании Cygwin vs runningвиртуальная машина Linux?
  2. Есть ли какие-либо советы по настройке среды разработки Linux на виртуальной машине в Windows?

Ответы [ 8 ]

14 голосов
/ 20 марта 2012

Ранее я сталкивался с общими проблемами, и наилучшее решение, исходя из моего опыта, - это всего две рабочие станции:).

Кроме того, Linux лучше всего работает в виртуальной среде.Прежде всего, у вас будут все возможности Linux (кроме 3D-ускорения, но вам это, вероятно, не нужно).У вас будет возможность создавать снимки и возвращаться к ним, когда что-то пойдет не так!Вы можете запустить несколько сред с помощью шаблонов, что очень удобно.

Единственное, о чем я могу думать, это проблемы производительности хост-машины.Если это обычная рабочая станция / ПК, IDE + одна виртуальная машина + браузер со 100 + вкладками просто замедляет работу.

8 голосов
/ 20 марта 2012

1: cygwin хорош для быстрого взлома и для доступа к ресурсам хоста (вы можете запустить IE, например, в скрипте bash).Для чего-то тесно интегрированного и какого-то «настоящего» слова, зайдите в vm.Он будет эмулировать все и отделять разработку от реальной машины, и в некоторых случаях это может быть полезно ... как плюс, он имитирует реальный сервер:)

2: по крайней мере, в virtualbox у вас естьобщие папки, и вы можете поделиться локальной папкой, и увидеть ее в виртуальной машине как локальную папку (локальную или как общую папку Windows .. это на самом деле зависит).Затем вы можете использовать эту «точку входа» для символической ссылки на вещи в виртуальной машине и делать то, что вам нужно, с реальными файлами, находящимися на реальном (хосте) компьютере

2 голосов
/ 04 октября 2016

SSH в коробку linux.Это то, что все делают.Почему это не ответ?

2 голосов
/ 20 марта 2012

Есть кое-что, что я слышал, называется Cooperative Linux.Он работает под управлением Linux вместе с ядром Windows, поэтому вы можете использовать их одновременно.Я никогда не использовал его, но здесь: http://www.colinux.org/

1 голос
/ 24 января 2016

Я думаю, что теперь, когда я получаю плюсы в 2 вариантах, используется Docker , он дает вам простоту Cygwin и функциональность виртуальной машины с лучшей производительностью.

1 голос
/ 20 марта 2012

Linux на виртуальной машине даст вам опыт, который вам нужен больше, чем cygwin или любую ложную оболочку, как мне нравится их называть.

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

Я в работе. У меня есть компьютер с 8 ГБ оперативной памяти, и я запускаю ubuntu 64bit в качестве основной ОС, два сервера Ubuntu (это для двух сред разработки dev) и виртуальную машину Windows 7 и виртуальную машину Win XP.

Я могу одновременно запустить два сервера Ubuntu и одну другую виртуальную машину, ключ здесь больше, если вы хотите иметь возможность работать с виртуальными машинами.

0 голосов
/ 20 марта 2012

Я использую виртуальную машину Linux в среде Windows 7, так как эта виртуальная машина является максимально представительной для конечной производственной среды.Вся установка привязана к Eclipse IDE под MS-Windows 7.Так что это действительно отлично подходит для локального полного тестирования, прежде чем фиксировать или помечать проверенную версию на производственных серверах.

Как вы уже упоминали, для правильной настройки и полной настройки требуется некоторое время.Поэтому, если вам нужны только маленькие хитрости или задачи, вы можете продолжать использовать cygwin.Например, я столкнулся с серьезными проблемами при настройке perl и компиляции mysql в cygwin.Так что это нормально для базового использования, но не для того, чтобы полностью использовать преимущества полноценной среды Linux.

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

0 голосов
/ 20 марта 2012

Если вы собираетесь работать с Ruby, тогда включите и запустите виртуальную машину Ubuntu :) Я не пробовал Ruby и т. Д. В Windows, но я слышал, что это сложно и настроить. Я использую Mac для всех моих разработок на Rails, поэтому я не могу комментировать это на стороне Windows.

Что касается создания виртуальных машин, я предпочитаю VMware Workstation, однако есть бесплатные альтернативы, такие как Virtualbox и VMware Server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...