Данная статья предназначается для двух
типов людей: для тех, кто не разбирается в
Linux, но не может поставить его на своем компе
(причины разные бывают), либо для тех, кто
мало шарит в пингвинах 🙂 и не прочь
познакомиться с ними на "нейтральной"
территории, то бишь на Win98/NT.
На xakep.ru уже описывали Cygwin как самый лучший
эмулятор Linux под вынь, но не было сказано
ничего про установку, настройку и баги Cygwin.
Тут я расскажу об этом 🙂 На самом деле, если
вдуматься, то Cygwin - это вовсе и не эмулятор, а
просто дистрибутив Linux, написанный под Win32 😉
Хватит рассусоливать... Идем на http://www.cygwin.com,
берем оттудова прогу-инсталлялку setup.exe. Ей
мы будем тянуть уже прекомпиленные
бинарники (в exe-расширении), припоминаешь rpm?
😉 с сайта разработчика, либо с зеркала.
РЕКОМЕНДУЮ этой прогой только скачивать
эти файлы - ставить будем вручную, т.к. если
ставишь при помощи setup.exe, не работает gcc - фиг
знает, почему... Может, разработчики уже учли
этот баг, но мне пока об этом не известно...
Итак, качаем все главные бинарники (исходники
можно не качать), и несколько
дополнительных - кто ж откажется от wget, lynx,
BitchX, Python 🙂 А вот Perl можно не качать... У меня
был ActivePerl - продвинутый Perl-эмулятор. Скачать
можно с http://www.acriveperl.com.
Глюков не наблюдал 🙂 (я расскажу, как я
внедрил его в cygwin).
Настройка
Я приучил эмулятор к авторизации по DES-шифрованию,
но не мог создать много групп... Поэтому
создаем (если нет) папку "c:\cygwin\etc" и в
ней файл "passwd". В нем:
root:DMNKyNJswdvq2:500:0:root:/root:/bin/bash
И в файле "group" в той же папке "etc":
root:x:0:root
Если ты хочешь закодировать твой пароль, а
не "password", как я сделал в моем примере,
пиши Perl-скрипт
#!/usr/bin/perl
chomp ($pass=<STDIN>);
print $crypt ("SA",$pass);
Где, SA - салта, по которой будет криптоваться
пароль... можно ее сделать рандомной, но в
этой статье это будет оффтопиком.
Теперь редактируем файл "c:\cygwin\cygnus.bat" -
в нем меняем PATH, просто изменив путь к
эмулятору и путь к файлу login.exe. Запустим
файл.
Авторизуемся: в моем примере "root":"password".
Вот мы и попали в сам эмулятор. Мне не
понравилось приглашение ввода. Изменим его
- переменную PS1. Открываем (создаем) файл "c:\cygwin\etc\profile"
и пишем туда:
# /etc/profile
PROFILE_LOADED=1
PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/usr/local/sbin:$PATH"
unset DOSDRIVE
unset DOSDIR
unset TMPDIR
unset TMP
export HOSTNAME=test
PS1="[\u@$HOSTNAME \W]# "
LOGNAME=$USER
export PATH PS1 USER LOGNAME
Вот... Затем перелогинимся, и все будет на
месте и красиво 🙂 Приглашение будет: [root@test
root]# - стандартое, линуховое 🙂
Все, первичная инсталляция закончена.
Переходим к установке сервисов 🙂
В стандартную поставку входит туева хуча
сервисов. Запускать их нужно таким образом:
/usr/sbin/inetd -R /usr/sbin/in.ftpd (пример для ftpd).
SSHD лучше поставить самому - встало на ура и
рулюсь я из SecureCRT, законнекченной на 127.0.0.1 -
совсем другой вид 🙂
Что касается работы с TCP/IP, недостатков я не
заметил 🙂 Все коннектится и работает как
надо...
А теперь несколько советов:
1) Доступ ко ВСЕМ дискам открыт. Так что будь
осторожен. К примеру, диск d: находится тут -
"/cygdrive/d".
2) Что касается Perl, создай симлинк на файл
Perl.exe, к примеру, так "ln -s /cygdrive/c/perl/bin/perl.exe
/usr/bin/perl"
3) Если у тебя по какой-то причине не
устанавливается линуховое приложение -
просто поправь Си-код. Быть может,
увенчается успехом.. (именно так я скомпилил
micq).
4) Следи за обновлениями Cygwin на сайте http://www.cygwin.com
- бинарники часто обновляются.
Вопросы? Пишите мне на E-Mail - постараюсь
помочь...