Я использовал только Windows SFU на Windows 2008, но я полагаю, что это основано на Interix. Я иногда играл с cygwin, но не так много, поэтому, пожалуйста, поправьте меня, если я скажу что-то явно не так.
- Unix-подобное чувство: Interix побеждает в этом. Окружающая среда чувствует себя гораздо более "полной". Я не уверен, как это выразить. Interix работает вместе с подсистемой win32, где Cygwin работает поверх нее. Таким образом, Interix является «первоклассным гражданином» в мире ядра Windows. Вещи, как
ps
и df
работают хорошо.
- Производительность: не проводя каких-либо серьезных тестов производительности, я думаю, что Interix тоже победит. Опять же, он работает на более низком уровне. Вы не просто запускаете приложения Win32 с подключенной DLL-библиотекой совместимости POSIX.
- Пакеты / случайное программное обеспечение: Cygwin выигрывает этот по двум причинам. Во-первых, Cygwin гораздо лучше известен. Многие Unixy-программы будут поддерживать его причуды. Вы также можете установить вещи очень легко с помощью графического установщика. Interix (я считаю) не имеет ничего подобного этому. Конечно, вы можете что-то скачать, скомпилировать это с помощью gcc (который, я думаю, вы можете получить предварительно собранным) и молиться, чтобы это работало, но это немного похоже на перенос программного обеспечения на любой другой случайный вариант Unix (например, Solaris или AIX) - некоторые все будет работать, другие будут пытаться откусить вам ногу и убить ваших детей.
- Интеграция с приложениями и инструментами Windows: если честно, то и то, и другое отстой. Если у вас есть, скажем, сервер Apache, работающий внутри Cygwin или Interix, то, конечно, он сможет обмениваться данными через TCP с программами Win32, но это далеко не так. Внутри Interix, я полагаю, вы можете убивать программы Win32 и перечислять их с помощью ps, но не уверен, что вы можете сделать это с помощью cygwin. С обоими вы можете использовать диспетчер задач Windows, чтобы убивать вещи.
- Интеграция с виртуальными машинами: рассмотрим пример совместного использования домашнего каталога, тогда да. Вы можете использовать samba для этого, и я считаю, что NFS работает на Interix и для чего-то более необычного. Вы не найдете ни приятного графического интерфейса, ни чего-нибудь, что сделало бы работу за вас. И Cygwin, и Interix позволяют вам получить доступ к вашим обычным файловым системам.
- Размер пользовательской базы: Cygwin выигрывает здесь, я бы сказал. Было очень трудно найти то, что было протестировано и разработано для работы на Interix, где большинство открытых программ, похоже, поддерживают cygwin в качестве платформы для компиляции.
Если у вас есть копия ОС Windows, которая будет поддерживать Interix (как вы сказали, выпуск Enterprise, выпуск Ultimate или выпуск Server), это не повредит. Это очень полная атмосфера чувств. Cygwin, как вы сказали, работает на всем, его лучше знают и лучше поддерживают, но он мне кажется немного грязным. Некоторые люди используют его регулярно, хотя.
/ * мета-заметка - я ненавижу, что комментарии такие короткие * /
Я бы в основном согласился с ответом Эндрюса с парой комментариев. Я заменил многие системы Unix с SUA / SFU (нет, они не одинаковы, но близко) под окнами.
источник
Не могу прокомментировать ответ JimB, поэтому рассмотрим его здесь, в частности, вопрос об интеграции Windows. Cygwin, основанный на Win32 вместо того, чтобы работать в собственной подсистеме, хотя и медленнее, обеспечивает гораздо большую интеграцию с Windows. Он даже позволяет использовать API Windows и UNIX в одной и той же программе, что позволяет использовать такие вещи, как сервер Cygwin X или терминал mintty.
'Ps' в Cygwin перечисляет процессы Windows, если вы укажете опцию -W, и kill -f уничтожит их. Программы Windows можно вызывать из Cygwin и подключать вместе с программами Cygwin, используя все обычные механизмы, такие как каналы. (Я не знаю, возможно ли это в Interix.)
Поддерживаются пути в стиле Windows, как с прямой, так и с обратной косой чертой. Cygwin 1.7 сделал UTF-8 набором символов по умолчанию, а имена файлов Windows UTF-16 автоматически переводятся, поэтому имена файлов на любом языке правильно отображаются в Cygwin. Я не знаю, что здесь делает Interix, но не смог найти никаких доказательств того, что он поддерживает Unicode.
Другие функции интеграции включают утилиту cygstart для открытия файла, как если бы вы дважды щелкнули по нему в Проводнике, и устройство / dev / clipboard для доступа к буферу обмена Windows.
источник
Позвольте мне поделиться своим опытом установки Interix для Windows 7.
Наше путешествие начинается с неясной страницы для Windows Server 2008.
Здесь вы обнаружите, что он больше даже не называется Interix, а подсистемой для приложений на основе Unix или SUA . Далее вы заметите только из комментария пользователя, что SUA доступен только для Windows 7 Ultimate или Enterprise. Это нигде не упоминается в статье. После установки «подсистемы» вы поймете, что в вашем меню «Пуск» не более 2 ярлыков.
Теперь вы попадаете в настоящее зло. Нажмите на ярлык для загрузки, и вы попадете на страницу загрузки.
Здесь у нас есть 3 доступных файла для скачивания. Эти файлы имеют размер более 400 МБ, и на момент написания этой статьи более 4 лет . Кроме того, у нас нет вариантов загрузки пользовательских пакетов, определенных частей и так далее. Затем вы поймете, что эта ссылка на самом деле предназначена для Vista, а не для Windows 7, и вам придется поискать в интернете страницу Windows 7 . В этот момент я сдался.
Cygwin
Перейти на cygwin.com . Загрузите cygwin.com/setup-x86.exe . Этот файл 714 КБ . Запустите базовую установку, и вы увидите, что это займет около 2 минут .
После этого вы можете использовать установщик для многих других пакетов по своему усмотрению. Мораль этой истории заключается в том, что Cygwin заботится о пользователе .
источник
UNIX-подобное «чувство» довольно субъективно. Мой голос идет за CygWin, поскольку он имеет сервер CygWin / X Xwindows со всеми необходимыми функциями. SFU получил базовые инструменты X11, но было слишком мало и слишком поздно. Многие (включая меня) познакомились с CygWin из-за необходимости иметь сервер X11. С точки зрения полноты, CygWin также лучше позиционируется, поскольку он с открытым исходным кодом, и на него портировано много лицензионного программного обеспечения GNU или GPL. Я видел несколько коммерческих продуктов для CygWin, хотя видел только один продукт, требующий UNIX Services для Windows NT, и ни одного с тех пор. YMMV.
Наличие пакетаэто явный выигрыш для CygWin, на который влияют несколько факторов: - более низкая стоимость входа: «любая Windows» с CygWin по сравнению с серверной лицензией для SFU / SUA. Некоторая функциональность доступна для настольных версий Windows, но более дорогих вариантов и без серверных компонентов; - открытый исходный код или закрытый исходный код и, что более важно, открытая документация. В прошлом даже список команд и предоставленных API-интерфейсов был доступен только подписчикам MSDN, и на сайте Microsoft было мало информации. Напротив, набор инструментов GNU был хорошо документирован и доступен как онлайн, так и в виде справочных страниц; - изменения именования и реализации сбивают с толку. В ранних версиях использовался инструментарий MKS, который позже был заброшен.
С точки зрения производительности можно утверждать, что Interix ближе к ядру и, следовательно, имеет более короткий путь выполнения кода. На самом деле вопрос в том, насколько это важно? Для большинства программ разница составляет несколько процентов и незначительна. Конечно, можно привести искусственный пример с тяжелым вводом / выводом. Я бы предпочел размещать такие загрузки на собственном UNIX, так как это будет быстрее, чем на родных дополнениях Windows и UNIX поверх Windows. Многие перешли с Windows на UNIX с увеличением нагрузки, в то время как я не знаю ни одного примера преобразования из CygWin в Interix (или наоборот). Требуется совместимость с UNIX, а не производительность UNIX, поэтому я поставил это в конец списка.
источник