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.
Что я хотел бы знать, это:
Насколько хорошо POSIX-совместимая среда и утилиты Unix предоставляются с Windows 7 Ultimate?
Могу ли я запускать исполняемые файлы Unix/Linux (например, файлы ELF) в Windows 7 Ultimate, не перекомпилируя их для Windows 7?
Я читал, что некоторые системы, такие как 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 вам нужны использовать, я в тупике в этом плане)