Вопрос по linux – Разница между GNUWin32 и cygwin
Я не могу понять разницу между этими двумя понятиями.
Похоже что один (GNUWin32
) это слой поверх окон (например,MSYS
) и
Другой (Cygwin) это что-то еще (?)
Что это значит? Когда бы я использовал один поверх другого? Они оба подходят для одного и того же?
Я хочу использовать его в основном для git, но хочу оставить свои возможности открытыми для обучения и выполнения всех задач * nixy.
Есть ли другой инструмент для этого? Будетmsysgit
быть лучше подходит для этого?
Существуют ли какие-либо ресурсы, которые исчерпывающе изучают различия всех этих * nix-платформ?
Cygwin это библиотека, которая стремится сделать программы UNIX способными компилироваться и запускаться в системах Windows с минимальными изменениями или без них, а также полный набор пакетированных инструментов и приложений UNIX, скомпилированных с этой библиотекой. Это почти полная оболочка для Windows. Он включает в себя X-сервер и огромное количество программ, которые вы можете найти в дистрибутиве Linux. Он отлично подходит для людей, которые хотят изучать или использовать командную строку UNIX в Windows.
MSYS в основном это порт инструментов UNIX, необходимых для создания пакетов в стиле GNU (сconfigure
и т.д.) в системах Windows сMinGW компилятор. Он использует вариант библиотеки Cygwin, модифицированный, чтобы пожертвовать некоторой совместимостью для эффективности, и более дружественный к Windows.
GnuWin32 это просто порт некоторых инструментов GNU для Windows. Как и MSYS, он используетmsvcrt.dll
, а также дополнительная библиотека для обеспечения некоторых функций совместимости с UNIX. По-видимому, его основная цель - позволить программам Windows и командным файлам напрямую использовать некоторые программы и библиотеки GNU.
По большей части они все предоставляют программы UNIX для Windows, но есть много тонких отличий, в том числе:
Intent. Cygwin is for people who want to use UNIX on their Windows OS. MSYS is for people who want to build Windows programs using the GNU/UNIX build tools. GnuWin32 is a port of individual GNU programs and libraries to Windows. Text files, particularly line endings. Cygwin lets you use CR/LF or LF. MSYS expects LF line endings. GnuWin32 programs expect CR/LF line endings. Supplied programs. In particular, Cygwin has a lot more packages, and GnuWin32 doesn't provide any shells.Что касается Git, он доступен с Cygwin - эту версию можно использовать в каталоге Windows (доступный в/cygdrive
). Также, как уже упоминалось, естьmsysgit.