Свежий номер №18 (395) / Не по прямому назначению
 
Дата публикации: 16.05.2001

Максим Отставнов, maksim@otstavnov.com

 
1
Врезка 1. Cygnus Solutions, GNUPro и Cygwin >>

Программное решение, придуманное для облегчения жизни разработчиков, неожиданно оказалось полезным массовому пользователю, мигрирующему на современные платформы. Освоить оболочку и большинство утилит, используемых с ядрами Linux, BSD и других открытых систем, можно сегодня не выходя из MS Windows.

Команда Cygnus Solutions, ныне влившаяся в ряды разработчиков RedHat Software, Inc., занята обслуживанием потребностей разработчиков, а не конечных пользователей программного обеспечения. Ее основной продукт - свободный комплект разработчика GNUPro, точнее, услуги по поддержке пользующихся им разработчиков (подробнее см. врезку).

Но одно из средств, созданных в ходе разработки GNUPro, - виртуальный экзекутор (исполняющая подсистема) открытой ОС под Microsoft Windows, - обретает все большую популярность и за пределами программистского цеха.

Дело в том, что средствами Cygwin - так называется это чудо - под MS Windows портирован не только комплект инструментального ПО для программистов, но и большое количество утилит и программ общего назначения, и, стремясь предоставить разработчику привычную среду, Cygnus большинство из них включала в очередные релизы поставки. В какой-то момент количество перешло в качество, и сегодня с помощью Cygwin можно использовать практически полный комплект утилит, характерных для открытых систем.

Эта дополнительная возможность быстро нашла соответствующую потребность. Сегодня массовый пользователь с энтузиазмом осваивает открытые системы, и значительное число новичков - мигранты из-под MS Windows. Миграция сама по себе, учитывая груз унаследованных навыков, - непростое дело. Если она управляемая, то есть проводится в офисе с грамотным администратором, предоставляющим настроенную среду и готовым помочь советом, большинство сложностей купируется.

Мигрирующие же дома и в одиночку зачастую оказываются жертвами так называемого First Fortnight Syndrome - несмотря на весь энтузиазм, в течении примерно полумесяца они толком не могут освоить пользовательские действия, поскольку в их распоряжении нет стабильной настроенной системы, а настроить систему они не могут, поскольку не владеют в должной мере ее интерфейсом. Воплями несчастных, попавших в этот заколдованный круг, заполнен не один форум на Linux-сайтах, а ведь Cygwin дает возможность освоить системный интерфейс на пользовательском уровне еще до своей установки.

Кроме утилит пользовательского уровня, здесь же полный GNU-комплект разработчика, включая редактор vim, компилятор gccgcc++ и g77), ассемблер, отладчик (с графической оболочкой), компоновщик и все-все-все [6], а чтобы GNU-средств не показалось мало, еще Perl и Tcl.

Новшество версий 1.x (до этого они нумеровались Bxx) - в аккуратном инсталляторе, позволяющем подгружать (ставить прямо из Сети или копировать на локальный носитель) новейшие или стабильные версии только тех компонентов, которые нужны (включая или исключая, наряду с исполняемыми, и их исходные коды), что весьма нелишне, так как общий «вес» архивов с одними исполняемыми модулями приближается сегодня к 50М, а в развернутом виде - к полутора сотням мегабайт.

Установка тривиальна, и особых комментариев не требует. В ее ходе в выбранном каталоге создается стандартная для *nix иерархия каталогов, в которых размещаются исполняемые файлы, скрипты, файлы настройки, библиотеки и т. д. - см. любую хорошую книжку по Unix или Linux. Сам по себе Cygwin представляет собой несколько динамических библиотек, транслирующих стандартные POSIX-вызовы в вызовы системного интерфейса Win32.

Помимо стандартного набора утилит и стандартной файловой структуры, под Windows NT/00 Cygwin воспроизводит еще и стандартное управление владением файлов и доступом к ним (под 9x/ME все это практически игнорируется, чему ряд программ несказанно удивляется).

Большинство утилит и программ можно использовать непосредственно в среде MS Windows (хотите tar, gzip или wget?), а можно запустить оболочку bash (или tcsh) и оказаться, таким образом, в пользовательской сессии полноценной системы - за штурвалом тренажера, так сказать. Теперь можно взять упомянутую Хорошую Книжку (обзор новой русской литературы по Linux см. в #379, c. 58; см. также «Библиотечку юниксоида» у Максима Мошкова) и начинать изучение оболочки, основных механизмов пользовательского интерфейса (перенаправление ввода/вывода, конвейеры, переменные среды окружения), базовых утилит, управления процессами и прочей «премудрости»… С удивлением обнаруживая, что это занимает не более 15-20 часов учебы, которые обернутся экономией сотен часов и километров нервных волокон при «настоящей» миграции.

Следовые количества дегтя в этой цистерне меда: на сегодня Сygwin в базовой поставке не поддерживает локализацию - не разумеет кодовых таблиц при выводе и не позволяет вводить не-ASCII-символы.

Кроме поставляемых с Cygwin инструментов и утилит, он использован для переноса под MS Windows и другого программного обеспечения, например, GIMP (в статье про GIMP в #383 за этот год (см. сс. 40-41) Windows-порту посвящена отдельная врезка), IMAP tools и, чем особенно гордится команда, двухсотпятидесятитысячестрочного Kerberos 5.

Возможно, массового пользователя больше впечатлит порт графической среды XFree86. C выходом версии 4.0.1 основанный на Cygwin Win32-код без особой помпы вошел в основное дерево разработки, а сама MS Windows - в число поддерживаемых платформ. Но это совсем другая сказка.

Врезка 1. Cygnus Solutions, GNUPro и Cygwin
Врезка 2. Аннотированная Web/библиография

[i39550]


 
1
Врезка 1. Cygnus Solutions, GNUPro и Cygwin >>


Максим Отставнов
maksim@otstavnov.com
 


<< «Мегабитовая бомба» Станислава Лема
Все материалы номера
Мысли среднестатистического читателя >>