ГЛАВА 30. LINUX RED HAT 7.1 И DOS/WINDOWS

1. Глава 30. Linux Red Hat 7.1 и DOS/Windows

 

Глава 30 . Linux Red Hat 7.1 и DOS/Windows

  • Выполнение приложений DOS в Linux
  • VMware
  • Почему не Wine?

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

В действительности, Linux может выполнять большинство приложений DOS и многие приложения Windows, и в будущем предполагается еще большая совместимость с Windows. Существует два коммерческих продукта, позволяющих реализовать такие предположения: VMware и Win4Lin. Оба они дают возможность запускать Microsoft Windows в Linux. Возможности Win4Lin ограничены Microsoft Windows 95/98, но VMware способен выполнять все версии Microsoft Windows в Linux. Для VMware существует программный продукт, позволяющий также запускать все версии Linux в Microsoft Windows NT/2000. В этой главе мы рассмотрим базовую инсталляцию VMware Workstation для Linux.

Сегодня Linux поддерживает DOS, а ряд популярных приложений DOS может выполняться под Linux с минимальными усилиями.

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

 

2. Выполнение приложений DOS в Linux

 

Выполнение приложений DOS в Linux

Поддержка приложений DOS в Linux наиболее существенна и включена в большинство дистрибутивов Linux.

В среде DOSEmu можно инсталлировать и выполнять DOS, (в том числе и последние версии, например DOS 6.2, и даже версии, поставляемые в составе Windows 95/98), а также запускать большинство приложений DOS. Конечно, существуют ограничения, влияющие на графику и операции со шрифтами, но в целом DOS и ее приложения работают хорошо.

Среда DOS может выполняться внутри отдельного окна X Windows, тогда приложение DOS будет, по сути, одной из программ Linux.

Основные возможности DOSEmu следующие:

  • запуск приложения DOS несколькими пользователями одновременно;
  • монтирование каталогов Unix на специальный символ диска в среде DOS;
  • печать на принтер Unix.

3. Установка DOSEmu

 

Установка DOSEmu

Поскольку DOSEmu не является частью стандартного дистрибутива Red Hat Linux 7.1, вам придется его загрузить. На момент написания книги последней версией дистрибутива была версия 1.0.1, доступная как в виде сжатого архива (tar. gz), так и в RPM-формате на домашней странице DOSEmu по адресу http: / /www. dosemu. org/stable.

Если вы работаете с Red Hat Linux 7.1 (или любым дистрибутивом, использующим RPM-пакеты), загрузите и установите DOSEmu. Например, загрузив его в каталог / trap, вы можете установить эмулятор из режима корневого пользователя с помощью команды:

rpm -i /tmp/dosemu-1.0.1-1.1386.rpm

 

4. Конфигурирование DOSEmu

 

Конфигурирование DOSEmu

Существует ряд конфигураций, используемых для выполнения DOSEmu в Linux. Перечислим их.

  • Загрузка DOS с дискеты.
  • Загрузка DOS с образа диска.
  • Загрузка DOS из отдельного раздела.

Чтобы упростить задачу и пояснить работу программного обеспечения, в главе рассмотрена только загрузка DOS с образа диска. Более сложные конфигурации, включая загрузку с других носителей, хорошо описаны в документации, которая после установки DOSEmu находится в каталоге /usr/doc/dosemu/.

Примечание

Подробная информация и документация для DOSEmu находится в http: / /www. dosemu. org. Полезные сведения включены в файлы HOWTO на сайте http://www.dosemu.org/docs/ HOWTO/. С этого сайта можно загрузить последнюю версию DOSEmu с полными инструкциями по инсталляции!

Чтобы запустить DOS, необходимо иметь файл конфигурации /etc/dosemu.conf. Это очень сложный файл, который имеет обширную документацию.

Пакет DOSEmu облегчает эту задачу, поскольку имеется предварительно сконфигурированный файл образа диска и файл dosemu. conf для загрузки с образа диска. Сам образ диска находится в /var/lib/dosemu/hdimage. Он содержит бесплатный вариант DOS FreeDOS и множество полезных команд и утилит, среди которых fdisk, format, unix2dos и Iredir (утилита переадресации каталогов Linux в символы дисков DOS).

Чтобы пояснить, что понимается- под конфигурированием среды DOSEmu, приведем содержимое включенного по умолчанию в Red Hat Linux 7.1 файла dosemu. conf:

$_term_char_set = " # Глобальная кодовая страница и выбор

t *

К счастью, в глубоком реконфигурировании нет необходимости. Работая с текущей версией DOSEmu (I.O.I), вы должны будете установить образ диска и загрузочный каталог и затем скопировать ряд стандартных загрузочных MS-DOS файлов в этот каталог.

Для установки образа диска (hdimage. first) и загрузочного каталога (/var/ lib/dosemu/ bootdir. first) можно воспользоваться следующими командами, расположенными в каталоге

$ /var/lib/dosemu/setup-hdimage

$ /var/lib/dosemu/setup-bootdir

К сожалению, FreeDOS не поддерживает управление Linux-файлами и каталогами из эмулятора DOS. Для реализации такого управления вам потребуются три базовых файла конфигурации DOS. Например, если вы располагаете любым загрузочным диском MS-DOS или PC-DOS, скопируйте файлы COMMAND.COM, IO.SYS и MSDOS.SYS в созданный каталог /var/lib/dosemu /bootdir.first.

Допустим, что эти файлы расположены на несмонтированном гибком диске, который находится в накопителе /dev/ f d0 (аналог DOS-устройства А:). Поскольку Linux учитывает регистр, необходимо использовать следующие команды, чтобы заменить FreeDOS-версии этих файлов:

$ mcopy a:io.sys /var/lib/dosemu/bootdir.first/io.sys

$ mcopy a:command.com /var/lib/doseim/bootdir.first/cofflmand.com

Примечание

Упомянутые системные файлы можно скопировать с любой системной дискеты MS-DOS версии 4.0.1 или более свежей. Этот метод применим даже для некоторых других версий DOS, равно как и для загрузочных дисков Windows 95/98.

В завершение создайте или отредактируйте конфигурационный файл . dosemurc в своем каталоге. В этом файле должна быть одна строка, указывающая системе Linux расположение соответствующих конфигурационных файлов DOS:

$_hdiraage = "bootdir.first"

Запуск DOS

Простейший способ запуска DOSEmu состоит в использовании команды dos в консоли или окне xterm. По команде

$ dos

загружается и запускается DOSEmu с устройства начальной загрузки, определенного в /etc/dpsemu. conf. По умолчанию в Red Hat Linux 7.1 это означает загрузку с указанного файла образа диска.

Вопреки выданному сообщению, запущен эмулятор версии 1.0.1. После запуска DOS можно использовать стандартные команды и синтаксис DOS для запуска программ с дискет или запуска приложений, находящихся в переадресованных каталогах.

Загрузка DOS в отдельном окне X

DOS можно запускать как в текущем окне, так и в своем собственном окне при выполнении X Windows. Для запуска DOS в собственном окне X Windows используется команда

$ xdos

Фактически, эта команда является ссылкой на основной двоичный файл dos. Выполнение программы через ссылку xdos имеет тот же эффект, что и команда

$ dos -X

Выполнение DOS в ее собственном Х-окне

Полезные команды DOSEmu

Образ диска, распространяемый с DOSEmu, содержит несколько полезных команд и утилит (некоторые из них приведены в табл. 30.1). Эти и многие другие команды находятся в каталогах с: \bin и с: \dosemu. Для этого запустите DOSEmu, используя образ диска, заданный по умолчанию.

Табл. 30.1. Некоторые команды DOSEmu

Команда

Описание

eject . com

emumouse . com

exitemu . com

lredir.com

unix . com

Выдвигает дисковод CD-ROM

Настраивает драйвер мыши DOSEmu

Выход из DOSEmu

Переадресует каталог Unix в символ диска DOS

Выполняет команду Linux из DOSEmu

 

5. Монтирование каталогов с lredir

 

Монтирование каталогов с lredir

Чтобы DOSEmu была полезной, она должна работать не только с образами дисков или дискетами. Необходим доступ к частям файлового дерева Linux, как к дискам DOS. Эта возможность позволит среде DOS осуществлять доступ к данным и приложениям, сохраненным в любом существующем разделе DOS, Linux или жестком диске системы.

Работа с DOSEmu начинается еще до ее загрузки: необходимо убедиться, что разделы, к которым будет осуществляться доступ, монтированы в структуру каталога Linux. Например, если имеется раздел DOS, можно монтировать его в /dos.

После того, как организован доступ к нужным каталогам и разделам, запустите среду DOS командой .

$ dos

или *

$ xdos

После запуска DOS используется команда Iredir для переадресации каталогов Linux в символы дисков DOS. Синтаксис команды Iredir следующий:

$ Iredir символ диска: \fs/каталог linuх

Команда Iredir делает нужный каталог Linux доступным в DOS с использованием указанною символа диска. Например, чтобы сделать раздел DOS, монтированный в Linux как /dos, доступным в среде DOSEmu как диск D:, используйте команду

$ Iredir D: linux\fs/dos

Примечание

При работе с образом диска, заданным по умолчанию в Red Hat, команда Iredir находится в каталоге с: \dosemu. Если этот каталог в пути отсутствует, то следует использовать полный путь для команды (с: \dosemu\lredir) или сделать с: \dosemu текущим каталогом.

Другим полезным приложением команды Iredir является поддержка доступа пользователей к их домашним каталогам на указанном символе диска DOS. Для этого используется следующая вариация команды Iredir:

$ Iredir E: linux\fs\${HOME}

В этой команде информация о домашнем каталоге пользователя извлекается из переменной НОМЕ среды Linux, в которой Red Hat сохраняет домашний каталог текущего пользователя.

Если начальная загрузка происходит с образа диска, но всю загрузку желательно выполнить с использованием файла conf ig. sys, находящегося в другом месте (например, в монтированном разделе DOS), то выполняется два действия.

  1. Следует отредактировать файл conf ig. sys на начальном образе диска (в приведенном ниже примере он расположен в каталоге /var/lib/dosemu/bootdir. first), который используется для загрузки средой DOSEmu. Первая строка файла (предполагаем, что раздел DOS монтирован под Linux в / dos) должна быть следующей. install=c:\dosemu\lredir.exe с: linux\fs/dos
  2. Следует убедиться, что файлы conf ig. sys на образе диска и в разделе DOS идентичны. Т.е. строка из шага 1 должна быть включена в файл conf ig. sys раздела DOS.

Перед выполнением остальных команд из conf ig. sys и autoexec. bat образ диска будет размонтирован, а раздел DOS - перенаправлен на С: в среду DOS.

 

6. VMware

 

VMware

VMware (www. vmware. com) - технология виртуальных машин. Речь идет о создании виртуального компьютера, использующего все существующие ресурсы данного персонального компьютера. Выполнение виртуального компьютера обеспечивается в отдельном окне, в котором можно инсталлировать любую операционную систему, обычно выполняющуюся на аппаратном обеспечении персонального компьютера.

Версия VMware Workstation, доступная на момент написания книги, поддерживает DOS, Windows 3.1, Windows 95/98, Windows NT/2000 и популярные Unix-дистрибутивы для персональных компьютеров, например FreeBSD и Linux. Ведутся работы над обеспечением поддержки Windows ХР. Поскольку речь идет об установке и выполнении реальной операционной системы, в рамках которой доступна вся аппаратура PC ("виртуальная машина"), то вопросы совместимости практически никогда не возникают. Таким образом, в Linux реализуется способ запуска различных операционных систем для разработки, тестирования и достижения совместимости. Можно одновременно запускать множество экземпляров VMware, каждый из которых выполняет свою операционную систему.

Конечно, необходимо мощное аппаратное обеспечение. Чтобы получить приемлемую эффективность, нужен быстрый процессор Pentium II или Pentium III и большой объем памяти, поскольку Linux и любая клиентская операционная система, выполняющаяся с VMware, будут совместно использовать доступную память. Объем 96 Мбайт представляет собой минимум, необходимый для работы VMware под Linux, любые расширения оперативной памяти (даже до 256 Мбайт и более) пойдут только на пользу.

 

7. Получение VMware

 

Получение VMware

VMware отнрсится к категории коммерческого программного обеспечения и не подчиняется лицензии GNU General Public License. Но вы можете попробовать стандартную версию VMware в течение 30 дней без нарушения лицензионного соглашения. Загрузить VMware можно с корпоративного сайта http: / /www. vmware. com.

На момент написания книги были доступны две версии VMware. VMware Workstation позволяет запускать любую из перечисленных выше операционных систем на виртуальной машине. VMware Express позволяет запускать только Windows 95/98 под Linux. В зависимости от выбранной вами версии VMware для настольного компьютера, лицензия для коммерческого использования обойдется вам от 59 $ до 329 $. В этой главе мы рассматриваем загрузку и установку версии VMware Workstation 2.0.4 (build 1142) для Linux. Для других версий VMware процедура может несколько отличаться.

 

8. Установка VMware

 

Установка VMware

Можно загрузить VMware в формате tar. gz или RPM-формате. Для всех версий VMware, доступных на момент написания книги, процедура установки выглядела одинаково. Если вы устанавливаете версию VMware, отличную от 2.0.4, используемые команды могут несколько отличаться. Последние указания по этому поводу доступны на сайте http: / /www. vmware. com.

Например, если вы загружаете файл tar. gz в каталог / trap, то необходимо будет развернуть архив, перейти в созданный установочный каталог и запустить сценарий установки в режиме корневого пользователя с помощью следующих команд:

$ tar xzvf VMvmware-2.0.4-1142.tar.gz $ cd vmware-distrib $ ./vniware-install.pl

А если вы загрузили RPM-файл в каталог / trap, то необходимо будет его развернуть, перейти в созданный установочный каталог и запустить сценарий установки в режиме корневого пользователя с помощью следующих команд:

S rpm -i vmware-2.0.3-799.1386.rpm $ /usr/bin/vmware-config.pl

После распаковки базового программного обеспечения из файла tar. gz или RPM-файла, дальнейшая процедура в обоих случаях выглядит одинаково. Как правило, большинство подсказок требуют однозначных ответов^ Но если вы уже установили Samba (см. главу 29), то необходимо ответить "по" на следующий вопрос:

Do you want this script to automatically configure your system to allow

your virtual machines to access the host file system? (Должен ли данный сценарий автоматически сконфигурировать вашу систему, чтобы позволить виртуальным машинам получить доступ к файловой системе хоста?) В противном случае VMware сконфигурирует Samba, причем вовсе не так, как вам нужно.

Примечание

Если вы установили оценочную версию VMware, обратитесь на сайт http: / /www. vmware. com за оценочной лицензией. Следуйте полученным от VMware no e-mail инструкциям установки оценочной лицензии на вашем компьютере.

 

9. Установка операционной системы в VMware

 

Установка операционной системы в VMware

Необходимо запустить VMware в X Window. Откройте интерфейс командной строки, например, терминал GNOME, Konsole в GNOME или KDE. Запустите VMware Workstation с помощью следующей команды:

$ /usr/bin/vmware

Когда VMware запустится, появится меню с тремя базовыми опциями. Простейший способ установки операционной системы в VMware предполагает выбор опции Run The Configuration Wizard (Запустить мастер конфигурирования) и щелчок на ОК.

Рис. 30.1. Запуск VMware Затем VMware предложит вам ряд опций, среди которых можно выбрать следующие.

Operating System (Операционная система): В VMware Workstation можно установить Windows 3.1,95, 98, NT 4.0,2000, Linux или другой известный Unix-клон FreeBSD.

Disk Type Setting (Тип диска): Можно установить новую операционную систему на новый виртуальный диск или существующий физический.

New Virtual Disk (Новый виртуальный диск): Позволяет создать виртуальный диск в файле Linux. Этот файл может быть достаточно большим; максимальный размер по умолчанию составляет 2000МВ.

Existing Physical Disk (Существующий физический диск): Если вы уже установили другую операционную систему на данный компьютер, можете задать доступ к ней через VMware. Ниже мы будем полагать, что создается новый виртуальный диск.

CD-ROM Access (Доступ к CD-ROM): Можно разрешить виртуальной машине доступ к существующему в системе накопителю CD-ROM.

Floppy Access (Доступ к гибким дискам): Можно разрешить виртуальной машине доступ к существующему в системе накопителю гибких дисков.

Networking (Работа с сетью): Предусмотрены две базовых сетевых опции. Если на компьютере установлен работающий сетевой Ethernet-адаптер, можно выбрать опцию Bridged Networking, что обеспечит доступ к локальной сети. Выбор опции Host-only Networking позволит создать двухмашинную сеть, включающую ваш компьютер и операционную систему на виртуальной машине.

После завершения выбора опций, VMware подтвердит сделанные установки. Например, на рис. 30.2 показаны типичные параметры для установки Windows 2000 на Linux-компьютер.

Рис. 30.2. Конфигурирование VMware

Подтвердив выбор, вы фактически завершаете создание виртуальной машины внутри своего компьютера. Щелкнув на кнопке Power On (Включение питания) на пустом экране VMware, вы "включаете" виртуальную машину. Теперь можно приступать к установке программ с гибких дисков или компакт-дисков CD-ROM.

Совет

Поскольку Red Hat Linux 7.1 включает ядро Linux версии 2.4.2, то она не будет работать с VMware версий, предшествующих 2.0.4.

Другой способ запуска Microsoft Windows 95/98 под Linux основан на использовании Win4Lin фирмы NeTraverse, которая доступна на сайте http: / /www. netraverse. com.

 

30.3.gif

Изображение: 

30.4.gif

Изображение: 

10. Почему не Wine?

 

Почему не Wine?

Пакет Wine совершенно отличается от VMware по двум причинам: он не является коммерческим продуктом и его цель - обеспечить в системах Linux полностью бесплатную среду, в которой выполняются приложения Windows.

Последнее особенно важно. Пока разрабатываемые версии Wine ориентированы на инсталляцию некоторых системных файлов Windows, цель проекта - достичь альтернативы: если на системе Linux инсталлирован Wine, то для выполнения Windows-приложений нет необходимости инсталлировать сам Windows.

Как и многие приложения Linux, Wine находится в постоянной разработке и изменении, и рассматривается как предварительная версия программного обеспечения. В документации по Wine указано, что данное программное обеспечение не должно рассматриваться как окончательный готовый код и должно использоваться с осторожностью. Домашняя страница Wine - http : / / www. winehq. com/; новые версии Wine выпускаются часто и с этого сайта всегда можно загрузить последнюю версию пакета.

Компиляция, конфигурирование и инсталляция Wine отражают фазу раннего развития продукта. Но даже в этом случае возможна надежная поддержка приложений Windows, включая Word 6 (25 процентов этой книги были написаны именно так).

 

11. Будущее Wine

 

Будущее Wine

Команда разработчиков Wine имеет грандиозные планы развития проекта. Перечислим некоторые пункты этого плана.

  • Возможность выполнения программ Windows 3.1, 95, 98, NT и 2000 на большинстве платформ Unix для персональных компьютеров, в том числе Linux, FreeBSD, OpenBSD и Solaris.
  • Возможность выполнения приложений Windows без инсталлированной лицензионной версии Windows. Wine планирует разработать полностью альтернативный набор системных библиотек, не содержащих код Microsoft. Можно продолжать использовать оригинальные системные библиотеки Windows (если они имеются), но, когда проект Wine будет завершен, эти библиотеки уже будут не нужны. Для Wine планируется:
  • Частичная поддержка DirectX для игр Windows.
  • Полная поддержка GDI.
  • Поддержка 16-битных драйверов печати Windows.
  • Поддержка механизмов Winsock для работы в сети.
  • Поддержка для сканеров.
  • Ограниченная поддержка Unicode.
  • Поддержка нескольких языков.

Официально Wine - альфа-код разработчиков, не предназначенный для использования сторонними пользователями. Несмотря на это, многие пользователи находят его полезным для выполнения различных приложений Windows в Linux, некоторые версии Wine поддерживают удивительно широкий диапазон приложений Windows.

Множество пользователей проверяли тысячи приложений для Microsoft Windows на Wine, публикуя полученные результаты. Чтобы просмотреть отчет о проверке интересующего вас приложения, обратитесь к поисковой странице Wine-базы данных: http://www.winehq.com/ Apps/query.cgi.

 

12. Успех Wine

 

Успех Wine

Даже несмотря на незавершенность, Wine следует признать успешным проектом. Сторонние разработчики программ используют инструментарий Wine для переноса своих продуктов из Windows в Linux. Другими словами, они применяют Wine, чтобы позволить своим программам работать под Linux, не переписывая код.

Corel - фирма, поддерживающая комплект офисных программ WordPerfect, - начала работать с Wine в 1998 году В этой фирме разработан собственный вариант инструментария Wine для поддержки версий WordPerfect для Linux, начиная с версии 7, включая все последующие вплоть до последней -WordPerfect Office 2000 для Linux. Фирма Corel также перенесла комплект CorelDraw Graphics, используя Wine.

Хотя фирма Corel разработала инструментарий Wine независимо от группы разработчиков проекта Wine, они позже объединили усилия в соответствии с лицензией GNU General Public License.

Фирма Deneba - один из лидеров в области графики и САПР - предприняла усилия по переносу своих высокоэффективных приложений Canvas в среду Linux. Поставленная задача переноса была решена средствами Wine в течение шести месяцев. Фактически, большая часть работы (пре-бета) была завершена с минимальными доработками библиотек Wine за два месяца.

Указанные приложения работают сами по себе. Никакой эмуляции наподобие VMware не нужно. Такой подход составляет основу Wine. Кстати название Wine расшифровывается как Wine Is Not an Emulator (Wine - не эмулятор).

 

13. Что дальше

 

Что дальше

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

Следующая глава посвящена использованию Linux в качестве недорогого маршрутизатора. Как устойчивая сетевая операционная система, Linux идеально подходит для поддержки маршрутизации в небольших сетях, связанных C.Internet через обычный модем или ISDN-соединение, или для связи локальных сетей.

В главе рассмотрен типичный пример для многих малых офисов: связь всей LAN с Internet с использованием коммутируемого соединения, которое обеспечивает лишь один IP-адрес.