Cygwin vs Linux Virtual Machine for Development? - программирование
Подтвердить что ты не робот

Cygwin vs Linux Virtual Machine for Development?

< skippable part >

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

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

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

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

</skippable part >

  • Кто-нибудь может понять, как использовать Cygwin для запуска виртуальной машины Linux?
  • Любые советы по настройке среды разработки Linux на виртуальной машине в Windows?
4b9b3361

Ответ 1

Я столкнулся с общими проблемами раньше, и наилучшим решением в соответствии с моим опытом является только 2 рабочих станции:).

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

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

То, что я думаю, теперь получает плюсы двух опций, использует Docker , это дает вам простоту cygwin и функциональность VM с лучшей производительностью.

Ответ 6

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

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

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

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

Ответ 7

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

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

Ответ 8

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

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

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