`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Возьми себе немного... Unix

0 
 

Unix (Linux, Solaris etc.) -- это модно, интересно, круто в конце концов. Но вместе с тем и непросто. Совершенно другая ОС, незнакомая идеология, непривычные инструменты. А ведь ее нужно сначала установить, настроить, разобраться с неожиданными нюансами и лишь после (!) приступить к изучению. Неужели нет более легкого способа?
В последнее время становится все более заметным "перекрестное опыление" Windows и Unix (в широком смысле). Правда, процесс этот в достаточной мере односторонний: под Unix/Linux работают эмуляторы Windows, позволяющие запускать достаточно сложные приложения вплоть до 3D-игр, а некоторые дистрибутивы пытаются даже копировать "look-and-feel" операционных систем Microsoft. Windows также постепенно перенимает кое-какие лучшие черты Unix, однако большинство пользователей воспринимают это как должное, даже не замечая конвергенции. Чтобы по-настоящему приобщиться к Unix, ее все же нужно увидеть воочию, что, однако, сопряжено с определенными трудностями.

Возьми себе немного... Unix
Только не подумайте, что это коллаж
И дело вовсе не в том, что работать в Unix (и даже установить и настроить эту ОС) сложнее, чем в Windows, просто системы с двойной загрузкой сами по себе далеко не всегда удобны: совместимость конторских и других приложений все еще оставляет желать лучшего, а регулярно перезагружать ПК при каждой необходимости перейти "от слов к делу" довольно утомительно. Есть, конечно, эмуляторы виртуальных компьютеров вроде VMware, однако использование таких продуктов требует дополнительных материальных затрат (как на само ПО, так и на аппаратную часть компьютера).


А зачем?

Возьми себе немного... Unix
Наконец-то -- LyX на Windows-машине
На первый взгляд вопрос кажется риторическим и вполне банальным -- ведь "если звезды зажигают, значит, это кому-нибудь нужно". Но действительно, зачем Unix на Windows-системе? Если для кросс-разработки, то вполне возможно, что именно VMware вопреки всем отговоркам и окажется оптимальным выбором. Однако встречаются и более прозаичные цели: желание изучить "малой кровью" командные оболочки и прочие средства Unix, а главное -- саму идеологию этой ОС; необходимость администрирования смешанных сетей и стремление облегчить себе жизнь использованием общих скриптов и утилит; намерение использовать конкретное ПО, работающее только на платформе Unix (бывает еще такое).

Собственно, именно последний мотив и послужил толчком к "микрооткрытию" и написанию данной статьи. Еще во времена оны автор с завистью смотрел в сторону "юниксоидов" -- им доступна LyX, свободная почти-WYSIWYG оболочка (front-end) к TeX, обладающая к тому же многими свойствами обычного текстового процессора. Как ни странно, для платформы Windows подобных разработок нет по сей день, Scientific Word/Workplace не в счет: во-первых, это коммерческое ПО, а во-вторых, вполне самодостаточное -- хоть и построенное на основе TeX, но использующее собственные надстройки, стандартными отнюдь не являющиеся (это уже потом, в третьей, кажется, версии появилась возможность экспорта в специальный формат portable TeX).

Естественно, подобные мысли приходили в голову далеко не мне одному, поэтому попытки портировать LyX под Windows предпринимались -- с переменным успехом -- давно. Главной же проблемой была необходимость использования внешнего ПО X Server, которое хоть и имелось "в ассортименте", но являлось коммерческим, вполне соизмеримым (в лучшем случае) по цене с Scientific Word -- овчинка явно не стоила выделки. И только сравнительно недавно все эти вопросы благополучно разрешились. А главным "виновником торжества", безусловно, стоит признать...


Cygwin

Cygwin -- это проект по переносу на платформу Windows популярных инструментов GNU, в первую очередь -- средств разработки: gcc, gas, gdb и пр. Начинала его компания Cygnus (давшая первую часть названию), затем знамя подхватила Red Hat. Примечателен этот проект тем, что разработчики избрали далеко не лобовой путь -- вместо переписывания каждой программы по отдельности они создали некую программную прослойку (набор библиотек), реализующую стандартные системные функции Unix. Под этим подразумевается поддержка вызовов ANSI С и POSIX (полный список можно найти в разделе FAQ на сайте проекта).

Возьми себе немного... Unix
При всей своей простоте Setup избавляет от множества проблем
После того как данная поддержка достигла определенного критического уровня, о Cygwin можно смело говорить как о новой (пусть и гибридной или симбиотической, впрочем, простейшая прослойка POSIX имеется и в Windows NT) "программной платформе". Учитывая популярность того же gcc, несложно предположить, что практически любое приложение, реализованное в рамках GNU и GPL, переносится в Cygwin/Windows относительно "малой кровью".

Начинался Cygwin с небольших консольных GNU-утилит, компиляторов, командных оболочек, однако сегодня вместе с ними в стандартной поставке имеются и серверные продукты, к примеру PostgreSQL, Apache, squid и пр. (впрочем, некоторые из них перенесены и непосредственно под Windows).

Установив пакет, вы можете практически забыть о COMMAND.COM и CMD -- их с успехом заменит оболочка bash, которая к привычным консольным командам Windows добавит все богатство инструментов Unix. А знакомство с текстовыми Web-броузерами lynx и links позволит почувствовать себя настоящим (почти) гуру.

Впрочем, проект Cygwin далеко не нов, и многие уже давно приняли его в свой арсенал или хотя бы на заметку. Мое же внимание привлек Cygwin/XFree86 -- проект в проекте, посвященный, как нетрудно догадаться из названия, переносу на платформу Cygwin популярнейшего (хотя бы в силу открытости и бесплатности) продукта XFree86. Уже портированы (и скомпилированы средствами Cygwin) X Server, распространенные Х-клиенты, необходимые библиотеки и кое-какие пользовательские программы, в число которых попали даже отдельные игры.

Это -- действительно принципиальный момент, поскольку теперь под Cygwin смогут работать не только классические консольные утилиты, но и современные графические приложения. Примеры? Как насчет KDE (kde-cygwin.sourceforge.net)? Да, передовая графическая оболочка, особенно популярная в мире Linux, уже функционирует в среде Cygwin/XFree86, хотя и с многочисленными огрехами и оговорками -- сами разработчики характеризуют состояние проекта как "beta quality" (во всяком случае, после завершения работы обычно приходится вручную вычищать из памяти "завалявшиеся" там модули -- как обычные win32-программы). Тем не менее при желании любой пользователь Windows сможет оценить дизайн KDE, качество работы Konqueror и некоторых других приложений.

Ну и, конечно же, LyX, из-за которой, собственно, и разгорелся весь сыр-бор. Программа замечательно работает в среде Cygwin/XFree86 и дает сполна почувствовать преимущества симбиотического подхода Cygwin. Скажем, стандартно распространяемый в рамках проекта teTeX все еще находится в бета-стадии, поэтому можно (и лучше) воспользоваться полноценным Windows-пакетом MiKTeX. А Perl, необходимый для преобразования LaTeX-файлов во внутренний формат LyX, годится и из Cygwin. Для пущей важности имеется даже специальная утилита, интегрирующая буферы обмена Windows и X Server. Правда, над поддержкой кириллицы и корректным преобразованием кодировок придется покорпеть отдельно, но это, по большому счету, вторичный вопрос.


Насколько это сложно

Человеку, совсем далекому от мира Unix, все вышесказанное может показаться "филькиной грамотой": незнакомые термины, утилиты... К счастью, все организовано таким образом, чтобы не вызвать проблем даже у не слишком подготовленного пользователя. Процессом установки управляет специальная программа Setup, предварительно загружающая перечень официальных "зеркал" и список доступных пакетов, а также отслеживающая (практически безошибочно) взаимосвязи между ними. С ее же помощью можно инсталлировать и дополнительные пакеты вроде LyX или KDE, достаточно лишь указать корректный адрес. Соответственно, в дальнейшем таким же образом можно удалить лишние модули, обновить пакеты и пр.

Наверняка эта методика многим покажется знакомой -- так же актуализируются почти все современные дистрибутивы Linux и устанавливаются броузеры и некоторое другое ПО. В любом случае неофиты вполне могут положиться на автоматическую процедуру, подгружая дополнительные компоненты по мере необходимости. Следует также обращать внимание на размеры пакетов, поскольку суммарный объем всех описанных дистрибутивов составляет почти 200 MB -- чем не полновесная ОС!


И в результате...

Все же нужно четко понимать, что настоящую Unix таким образом получить нельзя. Например, вам не удастся сполна вкусить все прелести самостоятельного конфигурирования X Server -- необходимую для этого информацию система возьмет непосредственно у Windows, да и соответствующих утилит в составе нет. И в этом кроются как плюсы, так и минусы. С одной стороны, процесс установки и первичного знакомства проходит совершенно без проблем и лишних трудозатрат, с другой -- взявшись затем за полноценную Unix, вы наверняка столкнетесь с неведомыми доселе сложностями. Впрочем, для тех задач, которые упоминались в начале статьи, такой подход вполне оправдан.

Кстати, Cygwin -- не единственный пример концепции "Unix в Windows". Так, похожий проект -- U/WIN-- больше ориентирован именно на программистов (gcc и прочие GNU-инструменты также портированы). Но вот собственного X Server в нем нет, так что я -- за Cygwin. Однозначно.
0 
 

Напечатать Отправить другу

Читайте также

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT