Сигвин
![]() | Эта статья содержит контент, написанный как реклама . ( январь 2024 г. ) |
![]() | |
![]() Запуск Cygwin, включая Cygwin/X , под Windows XP | |
Оригинальный автор(ы) | Стив Чемберлен, Cygnus Solutions |
---|---|
Разработчик(и) | Cygnus Solutions , Red Hat , волонтеры проекта Cygwin |
Первоначальный выпуск | 18 октября 1995 г |
Стабильная версия | 3.5.3 [1] ![]() |
Репозиторий | |
Написано в | С / С++ |
Операционная система | Microsoft Windows |
Тип | Стандартные утилиты POSIX , стандартная библиотека POSIX , стандартная библиотека C , уровень совместимости |
Лицензия | GPLv3 , LGPLv3 [2] |
Веб-сайт | цигвин ![]() |
Cygwin ( / ˈ s ɪ ɡ w ɪ n / SIG -win ) [3] — это с открытым исходным кодом бесплатная Unix-подобная среда и интерфейсом командной строки для Microsoft Windows . Проект также предоставляет репозиторий программного обеспечения, содержащий множество с открытым исходным кодом пакетов . Cygwin позволяет исходный код компилировать и запускать для Unix-подобных операционных систем и запускать его в Windows. Cygwin обеспечивает встроенную интеграцию приложений Windows. [4]
Эмулятор терминала Mintty — это интерфейс командной строки по умолчанию, предназначенный для взаимодействия со средой. [5] Структура каталога установки Cygwin имитирует корневую файловую систему Unix-подобных систем с такими каталогами, как /bin, /home, /etc, /usr и /var.
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». [10]
История
[ редактировать ]Этот раздел нуждается в дополнительных цитатах для проверки . ( январь 2024 г. ) |
Cygwin начался в 1995 году как проект Стива Чемберлена, инженера Cygnus , который заметил, что Windows NT и 95 использовали COFF в качестве формата объектного файла , и что GNU уже включал поддержку x86 и COFF, а также библиотеку C newlib . Он думал, что можно будет переориентировать GCC и создать кросс-компилятор, генерирующий исполняемые файлы, которые можно будет запускать в Windows. Позже был разработан прототип. Чемберлен запустил компилятор в системе Windows, чтобы эмулировать Unix и позволить GNU configure запустить сценарий оболочки .
Изначально Cygwin назывался gnuwin32 . [примечание 1] Когда Microsoft зарегистрировала товарный знак Win32, от «32» отказались и превратили его в Cygwin .
В 1999 году Cygnus предложила Cygwin 1.0 в качестве коммерческого продукта. [11] Последующие версии не выпускались, вместо этого они полагались на продолжающиеся выпуски с открытым исходным кодом.
Джеффри Ноер был руководителем проекта с 1996 по 1999 год. [12] [13] Кристофер Фэйлор руководил компанией с 1999 по 2004 год; он покинул Red Hat и стал соруководителем вместе с Коринной Виншен. [14] [15] Коринна Виншен возглавляла проект с середины 2014 года по настоящее время (по состоянию на 30 марта 2023 года). [16]
С 23 июня 2016 года библиотека Cygwin версии 2.5.2 лицензировалась по лицензии GNU Lesser General Public License (LGPL) версии 3. [17]
Описание
[ редактировать ]Cygwin предоставляется в двух версиях: полной 64-битной версии и урезанной 32-битной версии, окончательная версия которой была выпущена в 2022 году. [18] Cygwin состоит из библиотеки, которая реализует POSIX системных вызовов API с точки зрения системных вызовов Windows, чтобы обеспечить запуск большого количества прикладных программ, эквивалентных программам в системах Unix , и цепочки инструментов разработки GNU (включая GCC и GDB ). Программисты портировали X Window System , K Desktop Environment 3 , GNOME , [19] Апач и ТеХ . Cygwin позволяет устанавливать inetd , syslogd , sshd , Apache и другие демоны в качестве стандартных служб Windows . Программы Cygwin имеют полный доступ к Windows API и другим библиотекам Windows.
Программы Cygwin устанавливаются путем запуска «установки» Cygwin. [20] программа, которая скачивает их из репозиториев в Интернете.
Библиотека Cygwin API лицензируется по лицензии GNU Lesser General Public License версии 3 (или более поздней), за исключением того, что разрешается связываться с любым бесплатным программным обеспечением с открытым исходным кодом , лицензия которого соответствует определению открытого исходного кода . [21]
Cygwin состоит из двух частей:
- Библиотека динамической компоновки в форме стандартной библиотеки C , которая действует как уровень совместимости для POSIX API и
- Коллекция программных инструментов в стиле Unix и приложений, которые выглядят и работают . [4]
Cygwin поддерживает символические ссылки POSIX , представляя их в виде текстовых файлов с установленным системным атрибутом. Cygwin 1.5 представлял их как Windows Explorer ярлыки , но это было изменено из соображений производительности и корректности POSIX. Cygwin также распознает точки соединения NTFS и символические ссылки и обрабатывает их как символические ссылки POSIX, но не создает их. POSIX API для обработки списков управления доступом (ACL). Поддерживается [22]
Технические детали
[ редактировать ]Версия Unix, специфичная для Cygwin. mount
Команда позволяет монтировать пути Windows как «файловые системы» в файловом пространстве Unix. Начальные точки монтирования можно настроить в /etc/fstab
, формат которого очень похож на формат систем Unix, за исключением того, что вместо устройств отображаются пути Windows. Файловые системы могут быть смонтированы в двоичном режиме (по умолчанию) или в текстовом режиме, который обеспечивает автоматическое преобразование между окончаниями LF и CRLF (что влияет только на программы, открывающие файлы без явного указания текстового или двоичного режима).
В Cygwin 1.7 появилась комплексная поддержка локалей POSIX , а UTF-8 кодировка Unicode стала кодировкой по умолчанию.
Системный вызов fork для дублирования процесса полностью реализован, но стратегию оптимизации копирования при записи использовать невозможно. [23] [24] [25]
Cygwin DLL содержит драйвер консоли, который эмулирует терминал в стиле Unix в консоли Windows . Пользовательский интерфейс Cygwin по умолчанию — это оболочка bash , работающая в консоли Cygwin. DLL также реализует псевдотерминальные устройства (pty). Cygwin поставляется с рядом эмуляторов терминала основанных на них , включая mintty , rxvt /urxvt и xterm . Версия GCC, поставляемая с Cygwin, имеет различные расширения для создания библиотек Windows DLL, например, для указания того, является ли программа программой оконного или консольного режима. Поддержка компиляции программ, которым не требуется уровень совместимости POSIX, предоставляемый Cygwin DLL, раньше была включена в GCC по умолчанию, но с 2014 г. [update], он предоставляется кросс-компиляторами, предоставленными проектом MinGW-w64 .
Пакеты программного обеспечения
[ редактировать ]Базовый пакет Cygwin занимает около 100 МБ. [26] содержащий оболочки bash (интерактивный пользователь) и Dash (установка), а также основные утилиты для работы с файлами и текстом. Дополнительные пакеты доступны в качестве дополнительных установок из программы установки Cygwin и менеджера пакетов («setup-x86_64.exe» – 64 бит). [27] Проект Cygwin Ports предоставил [ когда? ] дополнительные пакеты, которых не было в самом дистрибутиве Cygwin. Примеры включали GNOME , K Desktop Environment 3 , базу данных MySQL и язык сценариев PHP . Большинство портов были приняты сопровождающими-добровольцами как пакеты Cygwin, и порты Cygwin больше не поддерживаются. Cygwin поставляется с GTK+ и Qt .
Проект Cygwin/X позволяет графическим программам Unix отображать свои пользовательские интерфейсы на рабочем столе Windows как для локальных, так и для удаленных программ.
См. также
[ редактировать ]- Подсистема Windows для Linux — уровень совместимости для запуска двоичных исполняемых файлов Linux в Windows.
Примечания
[ редактировать ]- ^ Не путать с текущим проектом GnuWin32 .
Ссылки
[ редактировать ]- ^ «цигвин 3.5.3-1» . 3 апреля 2024 г. . Проверено 18 апреля 2024 г.
- ^ «Условия лицензирования Cygwin» . Архивировано из оригинала 28 июля 2012 года . Проверено 15 декабря 2022 г.
- ^ Холл, Ларри (14 сентября 2004 г.). «Re: Как ты это произносишь?» . Cygwin (список рассылки). Архивировано из оригинала 30 августа 2011 года . Проверено 10 октября 2007 г.
- ^ Jump up to: а б «Часто задаваемые вопросы о Cygwin» . cygwin.com . Архивировано из оригинала 7 мая 2021 года . Проверено 7 января 2021 г.
- ^ «Сигвин» . www.cygwin.com . Архивировано из оригинала 21 ноября 2015 года . Проверено 21 ноября 2015 г.
- ^ «Библиотека Cygwin теперь доступна по лицензии GNU Lesser General Public License» . Красная шляпа . Архивировано из оригинала 24 июня 2016 года . Проверено 23 июня 2016 г.
- ^ «Краткая история проекта Cygwin» . Сигвин . 2 февраля 2018 г. Архивировано из оригинала 8 января 2020 г. Проверено 10 января 2020 г.
- ^ «Cygwin32: бесплатный уровень портирования Win32 для приложений UNIX» . УСЕНИКС . 3 августа 1998 г. Архивировано из оригинала 11 января 2020 г. Проверено 10 января 2020 г.
- ^ «(Решено) Подсистема Linux против Cygwin против MobaXterm» . Технический справочный форум от How-To Geek . 24 января 2017 года. Архивировано из оригинала 20 февраля 2023 года . Проверено 15 марта 2019 г.
- ^ «Сигвин» . www.cygwin.com . Проверено 11 марта 2024 г.
- ^ «Cygwin объединяет приложения для Unix и Windows» . Гугл Книги . 15 ноября 1999 года. Архивировано из оригинала 20 февраля 2023 года . Проверено 13 января 2020 г.
- ^ Делори, диджей (17 февраля 1999 г.). «к вашему сведению: кто что делает» . Cygwin (список рассылки). Архивировано из оригинала 14 февраля 2004 года . Проверено 13 января 2020 г.
- ^ Ноер, Джеффри (19 февраля 1999 г.). «Частичное прощание...» Cygwin (список рассылки). Архивировано из оригинала 2 февраля 2004 года . Проверено 13 января 2020 г.
- ^ Фэйлор, Кристофер (31 марта 2004 г.). «Смена работы» . Cygwin (список рассылки). Архивировано из оригинала 6 сентября 2015 года . Проверено 13 января 2020 г.
- ^ Фэйлор, Кристофер (31 июля 2014 г.). «Кристофер Фэйлор – Выход из проекта» . Cygwin (список рассылки). Архивировано из оригинала 17 декабря 2014 года . Проверено 2 мая 2015 г.
- ^ «Знаменитости Cygwin» . cygwin.com . Архивировано из оригинала 26 марта 2024 года . Проверено 30 марта 2023 г.
- ^ «Библиотека Cygwin теперь доступна по лицензии GNU Lesser General Public License» . www.redhat.com . Архивировано из оригинала 16 июня 2021 года . Проверено 27 мая 2021 г.
- ^ Терни, Джон (25 ноября 2022 г.). «Окончание срока службы Cygwin x86» . Проверено 14 сентября 2023 г.
- ^ «Порты Сигвина» . Архивировано из оригинала 11 мая 2015 года . Проверено 2 мая 2015 г.
- ^ Делори, диджей (17 апреля 2000 г.). «Новый выпуск Cygwin Net» . Cygwin (список рассылки). Архивировано из оригинала 20 декабря 2014 года . Проверено 10 января 2020 г.
- ^ «Каковы условия лицензирования?» . Сигвин . Архивировано из оригинала 28 июля 2012 года.
- ^ Виншен, Коринна (16 января 2016 г.). «Обновлено: Cygwin 2.4.0-1» . Объявления Cygwin (список рассылки). Архивировано из оригинала 11 января 2020 года . Проверено 11 января 2020 г.
- ^ «Часто задаваемые вопросы по Cygwin: как реализован fork()?» . cygwin.com . Архивировано из оригинала 20 октября 2010 года . Проверено 10 октября 2010 г.
- ^ «Основные возможности Cygwin: создание процессов» . Архивировано из оригинала 30 декабря 2014 года . Проверено 24 декабря 2014 г.
- ^ Блейк, Эрик (15 января 2009 г.). «Bash не запускает приложения напрямую» . Cygwin (список рассылки). Архивировано из оригинала 13 июня 2011 года . Проверено 10 октября 2010 г.
- ^ «Установка и обновление пакетов Cygwin» . Сигвин . Архивировано из оригинала 10 января 2020 года . Проверено 11 января 2020 г.
- ^ «Список пакетов Cygwin» . Сигвин . Архивировано из оригинала 5 февраля 2016 года . Проверено 11 января 2020 г.
Внешние ссылки
[ редактировать ]
- программное обеспечение 1995 года
- Слои совместимости
- Инструменты программирования
- Бесплатные компиляторы и интерпретаторы
- Бесплатное программное обеспечение для эмуляции
- Бесплатное программное обеспечение, написанное на C.
- Бесплатное программное обеспечение, написанное на C++.
- Программное обеспечение Red Hat
- Системное администрирование
- Эмуляторы Unix
- Бесплатное программное обеспечение только для Windows