Windows 7 Ultimate по сравнению с Cygwin: соответствие POSIX и целесообразно ли устанавливать систему GNU непосредственно на Win 7 Ultimate без Cygwin

Каковы преимущества или недостатки использования утилит GNU/Linux в Windows 7 через Cygwin по сравнению с использованием поддержки Windows 7 Ultimate SUA (подсистема для приложений на основе UNIX) (ранее известной как Interix). По-видимому, реализация SUA в Windows 7 полностью совместима с POSIX.

Что я хотел бы знать, это:

  1. Насколько хорошо POSIX-совместимая среда и утилиты Unix предоставляются с Windows 7 Ultimate?

  2. Могу ли я запускать исполняемые файлы Unix/Linux (например, файлы ELF) в Windows 7 Ultimate, не перекомпилируя их для Windows 7?

  3. Я читал, что некоторые системы, такие как Debian, были портированы на такую ​​Windows 7 Ultimate SUA. Где я могу скачать такие дистрибутивы.

На моем ноутбуке в настоящее время я запускаю Windows внутри VirtualBox, часто через файлы конфигурации Vagrant, учитывая, что мне не нужно использовать свой ноутбук в качестве сервера, и учитывая, что некоторые приложения работают только на Windows, и загрузка Linux таким образом, кажется, это более удобно, чем установка Linux на отдельный раздел и двойная загрузка в эти дни. Однако, если бы я мог даже запустить весь дистрибутив Linux должным образом с собственной поддержкой ядра Windows, а не через поддержку пользовательского пространства, предоставляемую Cygwin, это было бы предпочтительнее (не нужно даже ждать загрузки Linux внутри VirtualBox).

Благодарю.

1 ответ

Решение

Я все еще нахожу ваш вопрос запутанным, но по тому, как он задан, я вижу, что вы пытаетесь перейти с системы Linux на Windows и хотите сохранить функциональность, подобную Linux/UNIX.

Ну, вот что такое Cygwin:

  • Набор инструментов, которые обеспечивают Linux-среду для Windows.
  • DLL (cygwin1.dll), которая действует как уровень API Linux, обеспечивая существенную функциональность API Linux.

... а что нет

  • Способ запуска собственных приложений Linux в Windows. Вы должны пересобрать приложение из исходного кода, если хотите, чтобы оно работало в Windows.
  • Способ волшебным образом сделать собственные приложения Windows осведомленными о функциональных возможностях UNIX®, таких как сигналы, ptys и т. Д. Опять же, вам нужно создавать свои приложения из исходного кода, если вы хотите воспользоваться преимуществами функциональности Cygwin.

Преимущества и недостатки использования Cygwin зависят от того, с каким продуктом или использованием вы пытаетесь сравнить. Из описания, так как Cygwin по сути является набором инструментов, вы получаете преимущества, связанные со встроенными инструментами в Cygwin. Основным недостатком, если его можно так назвать, является то, что диск становится немного более полным, поскольку вы установили набор инструментов.

Хотя я никогда широко не использовал Cygwin, так как он ничего не удаляет, cmd а также bash содержащиеся в Cygwin должны работать отдельно. Таким образом, вы можете использовать bash рядом cmd, хотя вы должны придерживаться одной командной строки.

Практически невозможно (если не учитывать виртуализацию) установить ОС поверх другой, не делая первую бесполезной. Таким образом, ни одна из систем GNU, в смысле операционных систем, не была создана, чтобы работать вместе с другой ОС. Это говорит о том, что Cygwin подходит близко, поскольку он доказывает, что вы в среде Windows, большинство инструментов, которые Unix может предложить.

(Кстати, я все еще думаю, что ваш вопрос сбивает с толку, особенно в части POSIX. Windows (не NTFS) и некоторые версии Linux не полностью совместимы с POSIX, и поскольку вы не указали, какие именно функции POSIX вам нужны использовать, я в тупике в этом плане)

Другие вопросы по тегам