Cygwin - это набор инструментов разработан Red Hat для обеспечения аналогичного поведения систем Unix в Microsoft Windows. Его цель - переносить программное обеспечение, работающее в системах POSIX, в Windows с перекомпиляцией из исходных кодов.
Хотя перенесенные программы работают на всех версиях Windows, его поведение лучше в Windows NT, Windows XP и Windows Server 2003.
О Cygwin
Сегодня, пакет поддерживается в основном работниками Red Hat. Обычно распространяется на условиях GPL за исключением того, что он может быть связан с любым типом бесплатного программного обеспечения, лицензия которого соответствует определению бесплатного программного обеспечения.
Также можно приобрести лицензию по цене, чтобы распространять ее по другим типам лицензий.
Система Cygwin состоит из нескольких частей:
• Библиотека динамической компоновки (cygwin1.dll), которая реализует интерфейс прикладного программирования POSIX с использованием собственных вызовов Windows API.
• Цепочка разработки GNU (которая включает среди прочих утилит GCC и GDB) для облегчения основных задач разработки.
• Приложения, эквивалентные наиболее распространенным программам в системах UNIX. У него даже есть X-система (Cygwin / X) с 2001 года.
Кроме того, включена библиотека MinGW, которая работает аналогично собственной библиотеке MSVCRT (которая реализует Windows API). Эта библиотека имеет меньшую нагрузку на память и очень разрешительно лицензирована, но не реализует POSIX API так же полно, как Cygwin.
После двух лет разработки Red Hat выпустила значительную новую версию Cygwin 3.0.0, которая включает DLL для эмуляции базового API Linux в Windows, что позволяет создавать программы для Linux с минимальными изменениями.
Пакет также включает стандартные утилиты Unix, серверные приложения, компиляторы, библиотеки и файлы заголовков, скомпилированные непосредственно для работы в Windows.
Cygwin 3.0.0 Ключевые новые функции
С этим новым выпуском Открыта возможность обработки справочников в среде Windows с учетом регистра символов.
Вызов mkdir теперь автоматически создает каталоги с учетом регистра в дереве каталогов, где установлен Cygwin.
Эта функция доступна только в выпуске Windows 10 1803 с подсистемой WSL. (Подсистема Windows для Linux).
Добавлен новый файл ioctl с именем FS_IOC_GETFLAGS и FS_IOC_SETFLAGS, с помощью которого вы можете устанавливать и сбрасывать атрибуты файлов., управлять разреженными файлами с пустотами внутри, обеспечивать шифрование и сжатие на уровне файловой системы, программно моделировать различие в реестре символов в именах каталогов.
В среде Windows 10 1709+ для NTFS это новая семантика для вызовов POSIX: отключение и переименование: файл теперь удаляется или заменяется другим и не помещается в корзину.
При вызове open (O_TMPFILE) файл немедленно перемещается в корзину, чтобы освободить место в родительском каталоге.
Cygwin PID и Windows PID теперь разделены: Cygwin PID генерируются в соответствии с требованиями POSIX, увеличиваясь с 2 до 65535.
При запуске собственных процессов Windows их PID отражаются в диапазоне значений больше 65535.
Реализация fork () теперь может корректно обрабатывать ситуацию с удалением / заменой исполняемого файла или DLL во время своей работы. (Windows не позволяет удалять использованные исполняемые файлы.
Но fork () реализован с помощью взлома в режиме без копирования при записи, поскольку он не может быть реализован поверх Win32 API).
В дополнение к этому были добавлены новые утилиты chattr и lsattr. для настройки и просмотра атрибутов файлов, манипулирования указанным выше ioctl в командной строке и поддержки специфичного для Linux флага O_PATH в функции open ().
Нравится новая версия Cygwin 3.0?
Чтобы получить эту новую версию, вам просто нужно перейти на ее официальный сайт, и в разделе загрузки вы можете найти ссылку для загрузки. Ссылка такая.
Если у меня установлена предыдущая версия, могу ли я ее обновить?
Где вы ставите дату в своих статьях?