Знакомство с Cooperative Linux::Журнал СА 10.2004
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6229
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6935
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4221
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3010
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3808
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3825
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6319
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3172
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3462
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7279
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10647
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12368
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14000
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9126
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7079
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5389
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4617
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3428
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3158
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3402
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3027
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Знакомство с Cooperative Linux

Архив номеров / 2004 / Выпуск №10 (23) / Знакомство с Cooperative Linux

Рубрика: Администрирование /  Продукты и решения

МИХАИЛ ПЛАТОВ

Знакомство с Cooperative Linux

25-27 января 2004 года новостные ленты большинства информационных изданий, так или иначе посвященных компьютерной тематике, пестрили такими сообщениями: «Linux теперь можно запускать в Windows», «Linux и Windows без перезагрузок», «Революционное изобретение 21-летнего гения» и т. д. Мир узнал о новом проекте – Cooperative Linux (сокращенно – coLinux). В анонсах сообщалось о том, что теперь появился еще один способ «подружить» две самые популярные операционные системы – Linux и Windows. Для достижения поставленной цели разработчики использовали довольно интересное решение – запуск Linux-ядра как отдельного процесса Windows.

Исторический экскурс

В качестве иллюстрации работы системы показывались скриншоты японской версии (спасибо японским спонсорам) широко известного дистрибутива Knoppix:

Рисунок 1

Однако радость от этого во многом знаменательного события несколько омрачалась тем, что попробовать coLinux в деле реально смогли немногие – проект был доступен только в виде исходного кода, собрать который было отнюдь не просто. Впрочем, такая ситуация не могла длиться вечно, и вскоре появилась первая бинарная версия coLinux. У кого-то она запустилась, у кого-то нет, но работа продолжалась и проект развивался. Постепенно coLinux освободился от связей с Microsoft DDK и cygwin, избавился от многих ошибок, обзавелся новой функциональностью (http://www.colinux.org/?section=status). Последняя доступная на момент написания статьи stable-версия coLinux – 0.6.1, именно о ней и пойдет речь в данной статье. Но прежде чем приступить к рассмотрению самого coLinux, несколько слов о том, что это такое и для чего это нужно.

Зачем нужен coLinux

Условно можно выделить несколько групп пользователей, для которых coLinux представляет практический интерес. В первую очередь это разработчики, принимающие участие в создании кроссплатформенных приложений, системные администраторы, интересующиеся возможностями Linux-систем, преподаватели учебных заведений, и, конечно, простые пользователи, желающие познакомиться с Linux поближе.

Другими словами, coLinux в первую очередь интересен тем людям, которые в своей повседневной работе одновременно используют две операционные системы – Linux и Windows. Минуточку, но ведь эта проблема не нова! Ведь есть уже vmWare, VirtualPC, bochs, xen, wine, cygwin и другие проекты, решающие проблему организации одновременной работы в нескольких ОС. Чем же примечателен coLinux? Что выделяет его среди конкурентов? Для того чтобы ответить на эти вопросы, давайте более пристально посмотрим на то, как сейчас решается проблема организации работы в нескольких ОС:

  • Виртуальные машины. Типичные представители – vmWare, VirtualPC, bochs, xen. В этом случае вторая ОС, называемая гостевой, запускается в так называемой виртуальной машине. У этой машины есть свое «виртуальное» оборудование, BIOS и, конечно, своя операционная система. Отличительной особенностью является то, что операционная система и ее программы практически и не догадываются о том, что они работают в виртуальной машине. Для них все происходит так же, как и при работе на обычном компьютере. Преимущества этого подхода очевидны: подавляющее большинство программ без проблем будут работать в виртуальной машине без каких-либо изменений в их исходном коде. Платой же за такую «универсальность» является скорость, которая, как не трудно догадаться, будет ниже, чем при работе этой же системы на реальном оборудовании.
  • Эмуляция на уровне API (wine, cygwin, mingw). Идея этого подхода состоит в том, чтобы запустить уже существующее Linux/Windows-приложение, эмулируя API «чужеродной» ОС. Такой подход позволяет добиться большей производительности (по сравнению с виртуальной машиной), однако никто не сможет дать гарантий относительно того, как будет (если вообще будет) работать ваше любимое приложение в wine или cygwin.

Теперь осталось определить, к чему же относится coLinux, для этого давайте более пристально посмотрим на то, как он устроен.

CoLinux, взгляд изнутри

CoLinux представляет из себя набор нескольких модулей, работающих на разных уровнях операционных систем Windows и Linux. Условно в составе coLinux можно выделить следующие компоненты: драйвер ОС Windows, отвечающий за предоставление ядру Linux доступа к процессору и памяти, несколько модифицированное ядро ОС Linux (для того чтобы работать с Windows-драйверами coLinux), драйверы Linux и Windows, отвечающие за организацию взаимодействия Linux с «внешним миром» (Ethernet, console), драйверы блочных устройств для отображения устройств Windows на блочные устройства coLinux.

За непосредственный запуск coLinux отвечает специальная программа – coLinux-daemon. Используя Windows-драйверы, coLinux-daemon формирует окружение, в котором начинает выполняться ядро ОС Linux. Фактически coLinux-daemon является аналогом lilo и grub, выступая в coLinux в качестве загрузчика ядра.

Рисунок 2

Давайте более подробно остановимся на задачах, решаемых основными компонентами coLinux:

  • Демон coLinux. Один из ключевых компонентов системы. Фактически это загрузчик, который, объединяя все остальные компоненты coLinux, создает окружение, в котором исполняется ядро Linux.
  • Драйвер блочных устройств. Главной задачей этого драйвера является предоставление доступа к устройствам, имеющимся в ОС Windows, как к блочным. В coLinux этот драйвер используется для задания отображения устройств или файлов Windows на блочные устройства coLinux, которые в дальнейшем могут быть смонтированы при помощи стандартной утилиты mount. На данный момент coLinux поддерживает определение отображений для 32 устройств. Отдельно отметим тот факт, что отображать можно не только отдельные файлы, содержащие образы linux-файловых систем, но и реальные разделы жестких дисков. Это позволяет использовать coLinux для запуска в Windows уже существующих инсталляций Linux-систем.
  • Ethernet-драйверы. Как не трудно догадаться из названия, эти драйверы используются для организации взаимодействия нашей Linux-системы с внешним миром. Так, с coLinux можно использовать либо виртуальный TAP-драйвер, либо библиотеку WinPCap.
  • Драйверы клавиатуры и консоли используются для организации взаимодействия с Linux в привычном для многих пользователей режиме – через консоль.

Итак, судя по приведенной выше классификации, coLinux скорее относится к виртуальным машинам, чем к API-эмуляторам. Ведь фактически он создает некую виртуальную машину.

Кроме того, у coLinux есть и определенные черты, выгодно выделяющие его среди возможных конкурентов. Так, он не эмулирует виртуальную машину в обычном для нас понимании. Он не эмулирует процессор, BIOS, память и другие устройства.

При помощи специальных драйверов, работающих на нулевом кольце защиты ОС Windows (ring 0), coLinux дает возможность ядру Linux работать с имеющимся в Windows оборудованием. Теоретически такой подход должен обеспечить большее по сравнению с обычными виртуальными машинами быстродействие. Платой же за это потенциальное увеличение скорости является отказ от универсальности. Чтобы linux-ядро стало coLinux-совместимым, к нему применяется специальный патч, позволяющий работать ядру в окружении, создаваемом демоном coLinux (работа с Windows-оборудованием, управление памятью выделяемой демону и т. д.). Таким образом, выполнение в виртуальной машине coLinux чего-либо отличного от ядра Linux становится либо затруднительным (для ОС с открытым исходным кодом), либо вообще невозможным (для ОС с закрытым исходным кодом).

Установка и запуск

Установка coLinux очень проста. Все, что нам нужно, это загрузить с сайта http://www.colinux.org инсталлятор coLinux (coLinux-0.6.1.exe) и запустить его.

В процессе установки выберем все возможные компоненты:

Рисунок 3

В качестве пути установки выберем «C:coLinux»:

Рисунок 4

В принципе здесь можно выбрать любой каталог, однако тогда нужно будет учесть это при редактировании конфигурационного файла.

Далее инсталлятор предложит нам скачать библиотеку WinPCap, необходимую для организации работы coLinux непосредственно с сетевой картой компьютера (bridged-режим).

В следующем диалоге инсталлятора мы можем автоматически скачать образ root-файловой системы (Gentoo, Debian или Fedora Core 1 (скачивается вручную c сайта coLinux)). Образы отличаются размером и, соответственно, количеством уже установленных пакетов. В принципе здесь можно выбрать образ на основе любого из вышеперечисленных дистрибутивов или использовать раздел от уже установленной ОС Linux, однако для простоты и конкретности изложения будем полагать, что в процессе установки было принято решение в пользу образа Gentoo-deluxe.

Рисунок 5

После нажатия кнопки «Install» на вашем компьютере будут установлены все необходимые драйверы (все, кроме WinPCap, который нужно устанавливать «вручную») и ядро. Кроме того, в папку установки инсталлятором будет загружен образ выбранной root-файловой системы.

После окончания установки в папке c:coLinux появится несколько файлов. Нам в первую очередь понадобятся следующие:

  • Gentoo-i586-ext3-2g-deluxe.bz2
  • Default.coLinux.xml

Первый файл представляет собой сжатый образ root-файловой системы. Для его распаковки можно воспользоваться любым архиватором, понимающим формат bz2, например, 7zip (http://www.7zip.org). Для простоты распакуем файл в c:coLinuxGentoo-i586-ext3-2g-deluxe.

Второй файл является не чем иным, как конфигурационным файлом coLinux. Синтаксис его достаточно прост. В стандартном для XML формате в нем определяются следующие настройки:

  • Отображение фалов (или разделов) Windows на блочные устройства coLinux.
  • Путь к файлу ядра Linux.
  • Параметры, передаваемые ядру.
  • Количество ОЗУ, выделяемого coLinux.
  • Настройки сетевого интерфейса.

Чтобы не «портить» первоначальный файл, скопируем его с именем gentoo.xml и внесем в него некоторые изменения. Для начала укажем местоположение root-файловой системы:

 <block_device index="0" path="\DosDevices\c:\coLinux\gentoo-i586-ext3-2g-deluxe" enabled="true" />

Далее подправим настройки сетевого интерфейса. Для определенности будем считать, что мы используем вариант с TAP. Тогда строка конфигурации будет иметь следующий вид:

 <network index="0" type="tap">

Кроме того, для нормальной работы нам, скорее всего, понадобится swap-раздел. По умолчанию он не создается инсталлятором, поэтому его придется скачать, распаковать и подключить вручную. Для этого с сайта http://gniarf.nerim.net/colinux/swap загрузим сжатый образ swap-файла нужного размера, распакуем его в c:coLinux swap_256Mb и добавим в файл конфигурации следующую строчку:

 <block_device index="1" path="\DosDevices\c:\coLinux\swap_256Mb"

Итак, с настройкой демона coLinux мы закончили, и теперь можно смело перейти к настройке сетевой части в Windows.

После установки coLinux в сетевых подключениях у нас появился еще один сетевой адаптер:

Рисунок 6

Именно через него у нас и будет работать Linux.

Для доступа к Интернету воспользуемся стандартным (начиная с Windows 2000) механизмом Internet Connection Sharing (ICS). (Дополнительную информацию об ICS можно найти в справке Windows.)

Активизируется он до неприличия просто – открываем свойства первого сетевого подключения по сети и ставим «галочки» в разделе «общий доступ подключения к Интернету»:

Рисунок 7

Теперь самое время перейти к запуску системы. Создадим и запустим cmd-файл со следующим содержимым:

colinux-daemon.exe -t nt -c gentoo.xml

Рисунок 8

Входим в систему как root (без пароля) и первое, что делаем... правильно, меняем пароль с помощью программы passwd. По умолчанию Gentoo-образ использует DHCP для конфигурации сетевого интерфейса. Так как для организации соединения мы используем ISC, включающий в себя DHCP-сервер, то сразу же после загрузки coLinux у нашей linux-машины уже будет настроен IP-адрес, шлюз по умолчанию и адрес DNS-сервера. Однако если вам вдруг понадобится поменять эти настройки, то в Gentoo это делается путем редактирования следующих конфигурационных файлов: /etc/conf.d/net и /etc/resolv.conf.

Итак, двигаемся дальше. Проверяем файл /etc/fstab. Root-файловая система в нем прописана правильно (указывает на /dev/cobd0), а вот swap-файл у нас, скорее всего, будет не подключен. Исправим это с помощью пока единственного доступного нам в данный момент редактора nano:

# nano /etc/fstab

Добавим в fstab следующую строку:

/dev/cobd1 swap swap defaults 0 0

Проинициализируем swap-файл:

# mkswap /dev/cobd1

и, наконец, включим его:

# swapon –a

Если все было сделано правильно, то после команды # swapon –s на экране мы увидим следующее:

# swapon –s

Filename     Type       Size   Used  Priority

/dev/cobd1 partition 262136   0         -1

Установка и обновление программ

Итак, теперь у нас есть установленная и минимально настроенная система. Тем не менее, поработав в ней некоторое время, начинаешь понимать, что программ, имеющихся в стандартном образе явно не хватает. Так, даже в самом большом доступном для скачивания образе файловой системы – Gentoo-deluxe – после установки нет таких программ, как vi, mc, nslookup, telnet, links, tracert и многих других. Кроме того, лично мне также захотелось поставить sshd, samba и apache и нескольких других пакетов, необходимых для моей работы. Благо мучиться долго не пришлось, т.к. для установки и удаления программ в Gentoo Linux есть Portage – мощная система управления пакетами. Фактически она является своеобразной копией системы «портов», уже давно существующей во FreeBSD, однако в Gentoo «порты» FreeBSD называются ebuild’s. Суть их от этого, правда, не меняется. Так же, как и во FreeBSD, они содержат информацию, необходимую для сборки каждого пакета из исходных кодов. Установка программ с использованием Portage производится почти автоматически. Достаточно выполнить одну команду, и нужный пакет будет скачан, скомпилирован и установлен на вашем компьютере. Для иллюстрации работы Portage рассмотрим процесс установки пакета mc (Midnight Commander).

Первое, что нам нужно сделать для после установки Gentoo, – это синхронизировать локальный репозиторий Portage с репозиторием, хранимым на сервере. Для этого выполним команду #emerge sync. После ее запуска скрипт emerge загрузит в /usr/portage список всех доступных на данный момент ebuild-скриптов. Теперь можно приступить к установке любого из пакетов, имеющегося в Portage, в том числе и mc. Для этого достаточно выполнить команду:

#emerge mc

Система Portage сама загрузит и соберет все необходимые файлы с автоматическим удовлетворением всех зависимостей от других пакетов:

Рисунок 9

После завершения установки мы увидим следующее:

>>> app-misc/mc-4.6.0-r8 merged.

>>> Recording app-misc/mc in "world" favorites file...

Пакет был успешно установлен, запись об этом была добавлена в /var/cache/edb/world.

Подключение дополнительных устройств

Время от времени у меня возникала необходимость работы с различными устройствами, с которыми я привык работать в Windows. И если с некоторыми устройствами (звуковая плата, видеокарта) работать из coLinux на данный момент нельзя, то с другими (дисковыми) очень даже можно. Для организации доступа к дисковым устройствам в coLinux используется драйвер блочных устройств. Для этого windows-устройство, которое необходимо подключить в coLinux, сначала в xml-файле отображается на одно из блочных устройств (cobd), а затем монтируется из Linux при помощи утилиты mount. Следует отметить, что при таком подключении используются не образы файловых систем (как это было для root-файловой системы и swap-файла), а реальные разделы устройств. Для получения списка всех разделов, имеющихся в Windows, а также правильных путей к ним можно воспользоваться консольной утилитой dmdiag.exe, входящей в состав Windows Resource Kit. Запустим эту утилиту. Для удобства чтения перенаправим ее вывод в файл:

Dmdiag.exe >>disk.out

В результате в текущем каталоге появится текстовый файл disk.out, содержащий полное описание всех устройств хранения, имеющихся на данный момент в распоряжении ОС Windows. С точки зрения применимости к coLinux нас прежде всего интересуют секции «Drive letter to device name» и «DeviceHarddisk». Первая секция описывает отображения физических устройств на буквы ОС Windows. Из этой секции мы можем узнать, что буква A: у нас на самом деле является устройством DeviceFloppy0:

A: DeviceFloppy0

То есть дописав в наш xml-файл следующую строку:

 <block_device index="4" path="\Device\Floppy0" enabled="true" />

мы отобразим дисковод 3.5” на блочное устройство coLinux cobd4.

Если же мы хотим отобразить раздел жесткого диска, то на помощь нам придет секция DeviceHarddisk. Так, следующая строка отобразит третий раздел второго жесткого диска на cobd5:

 <block_device index="5" path="\Device\Harddisk1\Partition2" enabled="true" />

Для USB-диска строка конфигурации может быть такой:

 <block_device index="6" path="\Device\Harddisk3\DP(1)0-0+a" enabled="true" />

Итак, после запуска coLinux и выполнения команды:

# mount /dev/cobd4 /mnt/floppy

мы увидим содержимое дискеты в /mnt/floppy. При монтировании разделов напрямую нужно иметь в виду, что из linux раздел будет подключаться таким, какой он есть. Поэтому ядро должно поддерживать ту файловую систему, которая имеется на подключаемом разделе (UDF, FAT, NTFS и т. д.). Кроме того, пока раздел будет смонтирован (или открыт) в одной системе, в другой он будет недоступен.

Запуск в качестве службы

Кому-то может показаться неудобным, что перед работой с coLinux нужно предварительно вручную запускать cmd-файл. Особенно это неприятно в тех случаях, когда в coLinux выполняются какие-либо сетевые сервисы (apache, samba или ftp). В таком случае удобно настроить запуск coLinux как одной из служб Windows. После должной настройки, coLinux будет автоматически запускаться во время старта Windows.

Для регистрации coLinux как службы Windows необходимо выполнить следующую команду:

colinux-daemon –c <путь к xml-файлу>--install-service <имя службы>

После выполнения этой команды в системе появится служба coLinux с указанным именем.

Для удаления службы достаточно выполнить команду:

colinux-daemon --remove-service <имя службы>

Необходимо иметь в виду, что служба устанавливается с типом запуска «Вручную», так что, если вам необходимо, чтобы coLinux работал всегда, измените тип запуска службы на «Автоматически».

Кроме того, существует удобная утилита для работы с уже установленной службой coLinux – coLinux Manager. Скачать ее можно отсюда: http://www.biermana.org/index.php?p=54.

Утилита добавляет в панель задач значок coLinux:

Рисунок 10

С ее помощью можно быстро запускать и останавливать службу coLinux, открывать консоль, а также получать информацию о количестве используемых coLinux системных ресурсов.

Выводы

Конечно, в целом появление такого продукта, как coLinux, не может не радовать. Ведь с его использованием можно достаточно просто, быстро и бесплатно получить нормально работающую Linux-систему, сохранив при этом возможность работы с привычными Windows-программами. Однако наряду с многочисленными плюсами (бесплатность, работа напрямую с устройствами Windows, высокая совместимость с приложениями и т. д.) есть и некоторые минусы. Так, за все время работы, около двух месяцев, Windows пару раз порадовала «синим экраном» (чего не наблюдалось в течение как минимум года до установки coLinux). Кроме того, огорчила производительность сети (субъективно складывается впечатление, что работает она достаточно медленно), а также проблемы работы с некоторыми сетевыми приложениями (NFS-сервер).

Если вы захотите запустить в coLinux какое-либо X-приложение, то вам придется дополнительно установить X-сервер на Windows-машину (Cygwin-X, Mi-X, Exceed и др.). Также при 100% загрузке процессора наблюдается ощутимое замедление работы во всех виртуальных консолях coLinux. Возникает субъективное ощущение, что многозадачность в coLinux работает по меньшей мере странно. К тому же если у вас вдруг возникнет желание запустить несколько копий coLinux на одной машине, то у вас, скорее всего, ничего не получится – более чем в одном экземпляре на данный момент coLinux работать не может. Также не стоит забывать о том, что coLinux не является эмулятором виртуальной машины, в том же смысле что и vmware. Так, используя доступную на данный момент версию, нельзя запустить еще одну копию windows, Netware или FreeBSD. Только Linux только в Windows и не более чем в одном экземпляре! Однако если все вышеперечисленные «минусы» не являются для вас критичными, то можете смело использовать coLinux. В конце концов, этот достаточно молодой продукт показал очень неплохие результаты как в производительности, так и в совместимости при запуске Linux-приложений. Кроме того, не следует забывать, что coLinux является совершенно бесплатным.

Приложение

Способы организации взаимодействия (NAT vs Bridged)

Итак, для Ethernet-связи с внешним миром в coLinux могут использоваться два драйвера TAP и WinPCap. На основе этих драйверов можно по-разному организовать взаимодействие Linux- и Windows-систем:

  • NAT (Network Address Translation). Механизм сетевого преобразования адресов. При использовании этого механизма внутренние компьютеры подключаются к Интернету через так называемый NAT-сервер, который перехватывает все обращения со стороны внутренних машин и обращается к интернет-ресурсам от своего имени. Получив результаты запроса, он возвращает их тому клиенту, который отправлял запрос. Реализация NAT-сервера в Windows XP называется ICS. ICS представляет собой примитивный (читай «ненастраиваемый») DHCP-сервер, распределяющий между клиентами IP-адреса из подсети 192.168.0.х/24. Машина, на которой настроен ICS, выступает для остальных в качестве шлюза.
  • Bridged. При использовании этого метода «вторая» ОС (в нашем случае – linux) получает доступ к внешнему соединению, непосредственно используя реальный сетевой интерфейс компьютера. В нашем случае для этого используется специальный драйвер – WinPCap.

Схематично взаимодействие в режиме NAT с использованием ICS можно представить так:

Рисунок 11

При этом большая часть действий по настройке сети производится автоматически. Единственное, что нам нужно сделать, это включить ICS в настройках сети и прописать режим tap в конфигурационном файле coLinux. Все остальное за нас сделает ICS.

В bridged-варианте вместо TAP-драйвера используется библиотека WinPCap, позволяющая непосредственно работать с сетевым адаптером. Схема взаимодействия имеет вид:

Рисунок 12

При использовании этого способа никакая дополнительная конфигурация со стороны ОС Windows не требуется, достаточно просто установить драйвер WinpCap. Со стороны coLinux все стандартно – нужно задать IP-адрес (маршрутизируемый), шлюз по умолчанию и адрес DNS-сервера. Кроме того, в разделе конфигурационного xml-файла необходимо указать следующее:

 <network index="0" type="bridged" name="Realtek"/>

Здесь, в поле name, указывается подстрока из названия сетевого адаптера. Новые настройки сети будут применены после перезапуска coLinux.

При выборе того или иного способа взаимодействия необходимо учитывать следующий момент: при работе с сетевым интерфейсом напрямую (без ICS), «гостевой ОС» понадобится дополнительный маршрутизируемый IP-адрес. Ведь фактически мы имеем схему, при которой на одной машине используется несколько различных IP-адресов. В случае же использования ICS нашей машине для связи с внешним миром достаточно одного маршрутизируемого IP-адреса, уже имеющегося у компьютера. «Гостевая ОС» автоматически попадает в сеть из private subspace, а взаимодействие организуется с помощью средств ICS.

Основные команды системы Portage

emerge <имя пакета>

Устанавливает пакет с указанным именем

emerge sync

Обновление дерева Portage

emerge –s <строка символов>

Отображает информацию о всех пакетах, в названиях которых встречается указанная строка

emerge –s ^<строка символов>

Отображает информацию о всех пакетах, названия которых начинаются с указанной строки

emerge –unmerge <имя пакета>

Удаляет пакет с указанным именем

emerge --resume

Продолжает прерванную установку последнего пакета

etc-update

Обновляет конфигурационные файлы

emerge --update system

Обновляет все системные пакеты

emerge --update world

Обновляет все пакеты, перечисленные в файле /var/cache/edb/world

Более подробную информацию по работе с системой portage можно найти по адресу: http://www.gentoo.org/doc/ru/portage-manual.xml.


Комментарии
 
  28.01.2010 - 06:46 |  Кирилл

не моглибы вы написать подробнее как настраивается сеть в coLinux.
У меня по умолчанию всё настраивается, сеть создаёт 10.0.2.0/24
я хочу сменить его на что-нибудь вроде 192.168.3.0/24, изменил /etc/conf.d/net так:
# Colinux SLiRP
config_eth0=( "192.168.3.2/24")
routes_eth0=( "192.168.3.0/24 via 192.168.3.1")
# dns_servers_eth0=( "192.168.3.3" )
но почемуто не пингует, как думаете в чом проблема?

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru