Укрощение @Интернет@

       

Как из Windows сделать UNIX


"Настоящий мужчина должен поставить UNIX!" – правда, не совсем понятно зачем, но должен. А покажите мне человека, у которого не установлен UNIX? Windows NT поддерживает стандарт UNIX – POSIX и формально могла бы быть отнесена в разряд многочисленных клонов UNIX, если бы дядя-Билл стремился получить этот гордый титул. Ежу понятно, сколько Windows 9x не корми, а у Windows NT все равно толще, но и в девяносто пятых от UNIX определенно что-то есть.

Понятное дело, в любом из нас больше крови сэра Баскервиля, чем в Windows – оригинального кода UNIX, и любой фанатик этой самой UNIX презрительно спросит, а можно ли на Windows запускать UNIX-приложения? Нет? Нет, вот и славненько! Кто UNIX не поставил, тот не мужчина, а, с позволения сказать, ламер позорный.

Легко сказать "поставь UNIX"! То есть, поставить-то его, конечно, дело не хитрое, много по этому делу бумаги исписано, – с помощью пива и чьей-то мамы, погрузить UNIX на свой компьютер дело одного часа.

Но вот что с этим зверем делать? Антрацитово-черный экран и мерцающий курсор, очевидно ждущий команды. Но какой команды? Тут бы не дурно в Интернет зайти, туторал почитать, ан-нет – треска хвостом вперед, это только в Windows все делается шелком мыши, а в UNIX без гуру и ящика пива с этой проблемой не справиться.

Вот было бы хорошо запустить UNIX в окне Windows! А почему бы и нет? Забавно, но это действительно можно, причем не какой-нибудь эмулятор UNIX типа тренажера для начинающих, а самый что не на есть полноценный UNIX, на котором хоть Apache сервер гоняй!

Вообще-то если честно, Windows очень трудно "приручить" с исполняемыми файлами UNIX – ну анатомия у нее не та. Если кому такой фокус и удастся, все будет жутко тормозить и часто падать. Но не беда – ведь UNIX-программисты никогда не зажимают исходники, остается только перекомпилировать и все. Ха! Тоже мне сказали "и все". Да любой Windows компилятор скорее подавится, чем проглотит такой исходник! А если и проглотит, – работать все равно ничего не будет.


Разработать такой компилятор, который бы работал в Windows и пережевывал бы исходные тексты от UNIX, впервые решился Дэвид Корн – и, представьте себе, разработал! Компания AT&T (в которой он работает) пробовала наложить на это дело лапу, но Дэвид, как настоящий программист, отстоял за собой право распространять продукт бесплатно.

Зайдем на его домашнюю страничку (http://www.research.att.com/sw/tools/uwin), кликнем по ссылке Down Load – и, ответив на множество пикантных вопросов (о поле, возрасте и месте проживания) попадем, наконец, на список предлагаемых файлов, которых так много, что немудрено и растеряться. Если вы не разработчик и не собираетесь программировать под UNIX (а если вы программируете под UNIX, с чего бы это Windows оказалась на вашем компьютере?), вам достаточно скачать лишь один из них – "uwin_base.win32.i386.exe" – восемь с хвостиком мегабайт и заплатку, исправляющую многие ошибки – "uwin_base_update2_1.win32.i386.exe" – чуть больше двух мегабайт. Также нелишне разжиться хотя бы одной интерактивной оболочкой. Недурно зарекомендовал себя Mortal Commander – клон Norton Commander, написанный специально для UNIX. Без него пришлось бы общаться одной командной строкой, и постоянно помнить множество мудреных команд. Скачать его можно со следующего ftp-сервера - ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/uwin/ports/mc-4.1.35-uwin2.0.tar.gz. Несмотря на "закрученное" расширение с архивом вполне успешно справляется обыкновенный WinZip32.

Установка UWIN, а именно так называется творение Дэвида Корна, никаких проблем не вызывает. Не нужно специальным образом конфигурировать соединение с Интернет или возиться с драйверами принтера или монитора – UWIN с умом использует ресурсы Windows и не потребует дополнительной настройки. Можно даже поставить X-Windows и тогда редкий поклонник UNIX разберется в какой операционке вы работаете.

Разве это не круто? Попробуйте-ка, предложите, лучший способ обучению работы с UNIX! А какой простор открывается для всевозможных атак! Ведь большинство экслоитов, то есть, говоря научным языком, программных реализаций атак, а по-простому всяких там нюков, работают исключительно в среде UNIX и наотрез отказываются дружить с Windows. Так вот, UWIN – лучший способ это сделать!



Правда, вот в чем незадача – все новые нюки лежат на rootshell-е в виде файлов с расширением "c", то есть, пока их не откомпилируешь, о запуске нечего и думать!. А компилятор где? Вновь лезем на сайт Дэвида Корна и скачиваем файлик "uwin_development.win32.i386.exe" – чуть меньше четырех мегабайт. Правда, это не весь компилятор, а только набор заготовок, помогающий Windows-компиляторам преодолеть паралогическую невосприимчивость к UNIX. Выходит, надо вставать, надевать сапоги и чесать на Митино (или как там у вас это называется?) и докупать диск с любым Windows-компилятором. Можно, например, Visual Studio от Microsoft или Turbo C от Borland, а можно и то и другое сразу – на всякий случай, как говорят.

Хорошо, а как компилировать-то? Дэвид не очень-то подробно это описывает, да вдобавок на английском языке, попробуй тут, разберись после пятого пива! Тээкс, сперва надо запустить "cc" (для Microsoft Visual Studio) или "bc" (для Borland Turbo C), следом за ним указав имя файла, например, так: "cc land.c", где land.c – имя файла, который надо откомпилировать. Если все пройдет успешно, и не будет никаких ругательств на недостающие include-файлы, образуется "land.o", – объективный файл. Он еще не готов для запуска – прежде его необходимо слинковать. Для этого существует утилита "ncc". Запускаем ее "ncc land.o" и... получаем ругательство, дескать, того тут нет, этого тут нет, и вообще еррор такой-то и ничего линковать не буду. Значит, линкер не может найти библиотеки, – открываем каталог "lib" и попробуем подключить их самостоятельно, указав после имени файла – "ncc land.c ast.lib posix.lib". Сработало? Неужели и на этот раз нет?! Тогда, вместе с нюком должен поставляться make-файл, так и называющийся "make" или "makefile" – обработаем его утилитой "nmake", ("nmake makefle") и уж на этот раз наверняка все получится – но, к сожалению, не все нюки распространяются с make-файлом.



Полученный файл не обязательно запускать из среды UWIN, он ничуть не хуже будет работать, "Проводника" Windows или, скажем, FAR-навигатора. Но если попытаться одолжить его приятелю, то у него ничего не получится, – программа поругается и потребует наличие двух файлов – astxx.dll (где xx – номер версии UWIN) и posix.dll – оба они находятся в каталоге "WINDOWS\SYSTEM".

Разумеется, UWIN не единственное творение в своем роде. В сети можно найти просто прорву аналогичных примочек. Ну, например, большую популярность завоевал известный CYGWIN (http://www.cygnus.com/misc/gnu-win32/). Он полностью бесплатен, распространяется вкупе с исходниками, но… требует глубоких знаний UNIX и умения программировать. Одна только установка чего стоит – на ftp-архиве лежит множество всякой всячины, и приходится самому разбираться что нужно, а что нет. В минимальную поставку CYGWIN входит лишь обертка UNIX, и ни чего больше. Ладно, качаем несколько сотен мег софта на свой винчестер, – там разберемся, что для чего предназначено. Таки ведь нет, – не все так просто запускается! Приходится запасаться пивом и садиться изучать исходники, исправляя ошибки, по халатности оставленные авторами,– зачем все эти заморочки, когда можно юзать готовый UWIN?

А потом – вместе в UWIN распространяется и компактный DNS-сервер. Зачем он нам? Конечно, если подключиться к дорогому, шустрому провайдеру – то ни зачем. А вот вся халява связана с большими тормозами. Как повысить скорость соединения, не платя лишнего? Очень просто – обзавестить собственным DNS. Порой это увеличивает скорость лазанья по web-страничкам на 20%-50% - и главное, совершенно бесплатно. Правда, комфортная работа потребует, по крайней мере, тридцати двух метром мозгов на вашей машине, – но если у вас меньше – как вы вообще умудряйтесь существовать в таких условиях?

Итак, UWIN дает возможность изучать UNIX, не отказываясь от мира WINDOWS, запускать многочисленные атакующие программы, не работающие с обычной Windows, установить собственный DNS сервер, повысив скорость соединения с Интернет, наконец, просто ощутить себя настоящим мужчиной, не понаслышке знакомым с UNIX.

А теперь выбирайте устанавливать UWIN на свой компьютер или нет.


Содержание раздела