stringtranslate.com

Сигвин

Cygwin ( / ˈ s ɪ ɡ w ɪ n / SIG -win ) [3] — это Unix-подобная среда и интерфейс командной строки для Microsoft Windows .

Эмулятор терминала Mintty — это интерфейс командной строки по умолчанию, предназначенный для взаимодействия со средой. [4] Структура каталогов установки Cygwin имитирует корневую файловую систему Unix-подобных систем с такими каталогами, как /bin, /home, /etc, /usr и /var.

Помимо предоставления множества утилит Unix и внешнего вида Unix, Cygwin позволяет компилировать и запускать исходный код , разработанный для Unix-подобных операционных систем, и запускать его в Windows с минимальными изменениями.

Cygwin обеспечивает встроенную интеграцию приложений Windows. Таким образом, можно запускать приложения Windows из среды Cygwin, а также использовать инструменты и приложения Cygwin в рабочем контексте Windows. [5]

Cygwin состоит из двух частей:

  1. библиотека динамической компоновки (DLL) в форме стандартной библиотеки C , которая действует как уровень совместимости для POSIX API.
  2. обширная коллекция программных инструментов и приложений, которые выглядят и работают в стиле Unix . [5]

Cygwin — бесплатное программное обеспечение с открытым исходным кодом , выпущенное под лицензией GNU Lesser General Public License версии 3. [6] Первоначально оно было разработано компанией Cygnus Solutions , [7] [8] которая позже была приобретена Red Hat (теперь часть IBM ). , чтобы портировать набор инструментов Linux на Win32, включая GNU Compiler Suite . Вместо того, чтобы переписывать инструменты для использования среды выполнения Win32 , Cygwin реализовал POSIX-совместимую среду в форме библиотеки динамической компоновки (DLL). [9]

Девиз бренда: «Почувствуйте ощущение Linux – в Windows». [ нужна цитата ]

История

Cygwin зародился в 1995 году как проект Стива Чемберлена, инженера Cygnus , который заметил, что Windows NT и 95 использовали COFF в качестве формата объектного файла , и что GNU уже включал поддержку x86 и COFF, а также библиотеку C newlib . Он думал, что можно будет переориентировать GCC и создать кросс-компилятор , генерирующий исполняемые файлы, которые можно будет запускать в Windows. Это оказалось практичным, и был разработан прототип. [ нужна цитата ]

Затем Чемберлен загрузил компилятор в системе Windows, достаточно эмулируя Unix, чтобы позволить запустить сценарий оболочки GNU configure . Требовался интерпретатор команд, совместимый с оболочкой Bourne, такой как bash, и, в свою очередь, эмуляция системных вызовов fork и стандартный ввод / вывод . Windows включает в себя аналогичную функциональность, поэтому библиотеке Cygwin просто необходимо предоставить POSIX -совместимый интерфейс прикладного программирования (API), а также правильно транслировать вызовы и управлять частными версиями данных, такими как файловые дескрипторы . [ нужна цитата ]

Первоначально Cygwin назывался gnuwin32 (не путать с текущим проектом GnuWin32 ). Название было изменено на Cygwin32, чтобы подчеркнуть роль Лебедя в его создании. Когда Microsoft зарегистрировала торговую марку Win32 , цифра 32 была исключена и стала просто Cygwin. [ нужна цитата ]

К 1996 году к нему присоединились другие инженеры, сосредоточившиеся на том, чтобы сделать Cygwin полезным для размещения встроенных инструментов Cygnus в системах Windows (предыдущая стратегия заключалась в использовании DJGPP ). Это было особенно привлекательно, поскольку можно было выполнить трехэтапную кросс-компиляцию , например, используя здоровенную рабочую станцию ​​Sun Microsystems для создания, скажем, кросс-компилятора Windows-x- MIPS , который был быстрее, чем использование ПК в время. В 1999 году Cygnus предложила Cygwin 1.0 в качестве коммерческого продукта. [10] Последующие версии не выпускались, вместо этого использовались продолжающиеся выпуски с открытым исходным кодом. [ нужна цитата ]

Джеффри Ноер был руководителем проекта с 1996 по 1999 год. [11] [12] Кристофер Фэйлор руководил проектом с 1999 по 2004 год, когда он покинул Red Hat, и стал соруководителем с Коринной Виншен [13] , пока Фэйлор не отказался от активного участия в проекте. середина 2014 года. [14] Коринна Виншен возглавляла проект с середины 2014 года по настоящее время (по состоянию на 30 марта 2023 года). [15]

С 23 июня 2016 г. библиотека Cygwin версии 2.5.2 лицензировалась по лицензии GNU Lesser General Public License (LGPL) версии 3. [16]

Описание

Среда Cygwin предоставляется в двух версиях; полная 64-битная версия и урезанная 32-битная версия, окончательная версия которой была выпущена в 2022 году. [17] Cygwin состоит из библиотеки, которая реализует API системных вызовов POSIX с точки зрения системных вызовов Windows, чтобы обеспечить возможность запуска большого количества прикладных программ, эквивалентных программам в системах Unix , и набор инструментов разработки GNU (включая GCC и GDB ), позволяющий разрабатывать программное обеспечение. Программисты перенесли на Cygwin множество программ и пакетов для Unix, GNU, BSD и Linux , включая X Window System , K Desktop Environment 3 , GNOME , [18] Apache и TeX . Cygwin позволяет устанавливать inetd , syslogd , sshd , Apache и другие демоны в качестве стандартных служб Windows , позволяя системам Microsoft Windows эмулировать серверы Unix и Linux.

Программы Cygwin устанавливаются путем запуска программы установки Cygwin [19] , которая загружает необходимые файлы программ и пакетов функций из репозиториев в Интернете. Программа установки может устанавливать, обновлять и удалять программы и пакеты их исходного кода. Полная установка займет более 90 ГБ [20] места на жестком диске, но для полезных конфигураций может потребоваться всего 1 или 2 ГБ.

Попытки согласовать концепции, которые различаются между системами Unix и Windows, включают:

Версия gcc , поставляемая с Cygwin, имеет различные расширения для создания библиотек Windows DLL, указания того, является ли программа программой оконного или консольного режима, добавления ресурсов и т. д. Поддержка компиляции программ, не требующих уровня совместимости POSIX, предоставляемого Cygwin. Раньше DLL включалась в стандартную версию gcc, но с 2014 года она предоставляется кросс-компиляторами, предоставленными проектом MinGW-w64 .

Cygwin используется для переноса многих популярных программ на платформу Windows. [ необходима ссылка ] Он используется для компиляции Sun Java , LibreOffice , Apache OpenOffice и программного обеспечения веб-сервера, такого как Lighttpd и Hiawatha . [25]

Библиотека Cygwin API лицензируется по лицензии GNU Lesser General Public License версии 3 (или более поздней), за исключением того, что разрешается связываться с любым бесплатным программным обеспечением с открытым исходным кодом, чья лицензия соответствует определению открытого исходного кода [26] (менее строгому, чем свободная лицензия). Определение программного обеспечения).

Возможности программного обеспечения

Набор базовых пакетов Cygwin довольно мал (около 100 МБ [27] ) и содержит немногим больше, чем оболочки bash (интерактивный пользователь) и Dash (установка), а также основные утилиты для работы с файлами и текстом, ожидаемые от командной строки Unix. Дополнительные пакеты доступны в качестве дополнительных установок из программы установки Cygwin и диспетчера пакетов («setup-x86_64.exe» — 64-битная версия). К ним относятся (из более чем 12 000 других [28] ):

Проект Cygwin /X представляет собой реализацию системы X Window , которая позволяет графическим программам Unix отображать свои пользовательские интерфейсы на рабочем столе Windows. Это можно использовать как с локальными, так и с удаленными программами. Cygwin/X поддерживает более 500 пакетов, включая основные оконные менеджеры X, среды рабочего стола и приложения, например:

В дополнение к низкоуровневым библиотекам Xlib / XCB для разработки X-приложений Cygwin поставляется с различными высокоуровневыми и кроссплатформенными средами графического интерфейса , включая GTK+ и Qt .

Проект Cygwin Ports предоставил [ когда? ] множество дополнительных пакетов, которых не было в самом дистрибутиве Cygwin. Примеры включали GNOME и K Desktop Environment 3 , а также базу данных MySQL и язык сценариев PHP . Большинство портов были приняты сопровождающими-добровольцами как пакеты Cygwin, и порты Cygwin больше не поддерживаются.

Смотрите также

Рекомендации

  1. Коринна Виншен (1 февраля 2024 г.). «cygwin 3.5.0-1» . Проверено 9 февраля 2024 г.
  2. ^ «Условия лицензирования Cygwin» . Архивировано из оригинала 28 июля 2012 г. Проверено 15 декабря 2022 г.
  3. ^ Холл, Ларри (14 сентября 2004 г.). «Re: Как вы это произносите?». Cygwin (список рассылки). Архивировано из оригинала 30 августа 2011 г. Проверено 10 октября 2007 г.
  4. ^ "Сигвин". www.cygwin.com . Архивировано из оригинала 21 ноября 2015 г. Проверено 21 ноября 2015 г.
  5. ^ ab «Часто задаваемые вопросы о Cygwin». cygwin.com . Архивировано из оригинала 07 мая 2021 г. Проверено 7 января 2021 г.
  6. ^ «Библиотека Cygwin теперь доступна по лицензии GNU Lesser General Public License» . Красная Шапка . Архивировано из оригинала 24 июня 2016 г. Проверено 23 июня 2016 г.
  7. ^ «Краткая история проекта Cygwin». Сигвин . 2018-02-02. Архивировано из оригинала 08 января 2020 г. Проверено 10 января 2020 г.
  8. ^ «Cygwin32: бесплатный уровень портирования Win32 для приложений UNIX®» . УСЕНИКС . 3 августа 1998 г. Архивировано из оригинала 11 января 2020 г. Проверено 10 января 2020 г.
  9. ^ «(Решено) Подсистема Linux против Cygwin против MobaXterm» . Технический справочный форум от How-To Geek . 24 января 2017 г. Архивировано из оригинала 20 февраля 2023 г. Проверено 15 марта 2019 г.
  10. ^ «Cygwin объединяет приложения для Unix и Windows» . Гугл Книги . 15 ноября 1999 г. Архивировано из оригинала 20 февраля 2023 г. Проверено 13 января 2020 г.
  11. ^ Делори, ди-джей (17 февраля 1999 г.). «к вашему сведению: кто что делает». Cygwin (список рассылки). Архивировано из оригинала 14 февраля 2004 г. Проверено 13 января 2020 г.
  12. ^ Ноер, Джеффри (19 февраля 1999 г.). «Частичное прощание...» Cygwin (список рассылки). Архивировано из оригинала 2 февраля 2004 г. Проверено 13 января 2020 г.
  13. ^ Фэйлор, Кристофер (31 марта 2004 г.). «Смена работы». Cygwin (список рассылки). Архивировано из оригинала 6 сентября 2015 г. Проверено 13 января 2020 г.
  14. ^ Фэйлор, Кристофер (31 июля 2014 г.). «Кристофер Фэйлор – Выход из проекта». Cygwin (список рассылки). Архивировано из оригинала 17 декабря 2014 г. Проверено 2 мая 2015 г.
  15. ^ "Известные люди Cygwin" . cygwin.com . Проверено 30 марта 2023 г.
  16. ^ «Библиотека Cygwin теперь доступна по лицензии GNU Lesser General Public License» . www.redhat.com . Архивировано из оригинала 16 июня 2021 г. Проверено 27 мая 2021 г.
  17. Терни, Джон (25 ноября 2022 г.). «Окончание срока службы Cygwin x86» . Проверено 14 сентября 2023 г.
  18. ^ "Порты Cygwin". Архивировано из оригинала 11 мая 2015 года . Проверено 2 мая 2015 г.
  19. ^ Делори, ди-джей (17 апреля 2000 г.). «Новый релиз Cygwin Net». Cygwin (список рассылки). Архивировано из оригинала 20 декабря 2014 г. Проверено 10 января 2020 г.
  20. ^ «Каков текущий размер полной установки Cygwin?». Переполнение стека . 28 мая 2018 г. Архивировано из оригинала 24 января 2021 г. Проверено 11 января 2020 г.
  21. ^ Виншен, Коринна (16 января 2016 г.). «Обновлено: Cygwin 2.4.0-1». Объявления Cygwin (список рассылки). Архивировано из оригинала 11 января 2020 г. Проверено 11 января 2020 г.
  22. ^ «Часто задаваемые вопросы о Cygwin: как реализован fork()?». Архивировано из оригинала 20 октября 2010 года . Проверено 10 октября 2010 г.
  23. ^ «Основные возможности Cygwin: создание процессов» . Архивировано из оригинала 30 декабря 2014 года . Проверено 24 декабря 2014 г.
  24. Блейк, Эрик (15 января 2009 г.). «Bash не запускает приложения напрямую». Cygwin (список рассылки). Архивировано из оригинала 13 июня 2011 года . Проверено 10 октября 2010 г.
  25. ^ Лейсинк, Хьюго. «Веб-сервер Гайаваты». www.hiawatha-webserver.org . Архивировано из оригинала 24 января 2021 г. Проверено 7 января 2021 г.
  26. ^ «Каковы условия лицензирования?» Сигвин . Архивировано из оригинала 28 июля 2012 г.
  27. ^ «Установка и обновление пакетов Cygwin». Сигвин . Архивировано из оригинала 10 января 2020 г. Проверено 11 января 2020 г.
  28. ^ «Список пакетов Cygwin» . Сигвин . Архивировано из оригинала 05 февраля 2016 г. Проверено 11 января 2020 г.

Внешние ссылки