devops
May 22, 2022

Обзор FreeDOS в 2022 году

Решил посмотреть что такое FreeDOS, поскольку в последний раз видел его больше 10 лет назад, но снова возник праздный интерес к проекту после прочтения этой статьи.

Что ты вообще такое

FreeDOS - свободная интерпретация MS-DOS, разработка которой началась ещё в 1994 году и ведётся до сих пор. Эту систему некоторые вендоры устанавливают в качестве заглушки на свои ноутбуки чтобы обойти бюрократические требования юристов. Собственно и всё. Ну, по крайней мере достойного применения в продуктовых решениях я до сих пор не встречал. Разве что эту ОС можно использовать для запуска и отладки Legacy-софта. Однако же вокруг проекта есть стабильное комьюнити, постоянно что-то в нём допиливающее и развивающее. Значит там весело. Значит нам туда дорога.

Установка

Для изучения FreeDOS нам понадобятся два диска - LiveCD для установки базовой системы и BonusCD для дальнейшей установки программ. Скачаем архивы с ними и сразу распакуем.

Действие происходит в конце мая 2022 года - последняя стабильная версия FreeDOS 1.3

В VirtualBox создадим виртуальную машину с 32 Мб памяти и 500 Мб жёстким диском:

Настройка виртуальной машины в VirtualBox

После загрузки с LiveCD, производим установку системы на диск:

  1. Выбираем пункт Install to harddisk
  2. Указываем язык инсталлятора
  3. Размечаем диск
  4. Перезагружаемся
  5. Снова выбираем пункт Install to harddisk
  6. Форматируем диск
  7. Выбираем раскладку клавиатуры
  8. Выбираем тип установки
  9. Перезагружаемся
  10. Выбираем пункт Boot from system harddisk

Всё, у нас есть виртуальная машина с FreeDOS.

Установка FreeDOS

Сразу после установки

Командная строка

Поскольку каноничный DOS - это голая консоль, в первую очередь надо изучить базовый набор команд. Самый верный способ узнать их - написать команду HELP и почитать всеобъемлющий мануал:

FreeDOS help system

Если читать мануал лениво, то есть неплохая шпаргалка. Ну а если и на это не хватает мотивации, то пока достаточно выучить две команды - CD для перехода по каталогам и DIR для листинга содержимого директории.

Установка программ

Комьюнити FreeDOS создало и портировало много программ под свою ОС, среди которых - пакетный менеджер FDIMPLES. С его помощью мы установим программы с бонусного диска. Сначала в Virtualbox подключаем BonusCD, после чего запускаем FDIMPLES.

Интерфейс fdimples

Файловый менеджер

Я не могу представить DOS без синего двухпанельного файлового менеджера NC (VC, DN и т.п.). И не только я.

DN

DOS Navigator 2 - тот самый каноничный двухпанельный файловый менеджер времён MS-DOS.

DOS Navigator 2

DZ

Альтернативный файловый менеджер - Doszip Commander. Запустить его можно командой DZ

Doszip Commander

Конфигурация системы

Когда понадобится сконфигурировать систему, сделать это можно будет путём внесения правок в файле FDCONFIG.SYS. Вот тут про это очень хорошо написано. Я лишь приведу пример автостарта DZ при загрузке ОС.

fdconfig.sys

Если мы посмотрим на содержимое файла FDCONFIG.SYS, то увидим, что командная строка (SHELL, SHELLHIGH) запускается длинной конструкцией, в конце которой файл C:\FDAUTO.BAT То есть мы не просто запускаем COMMAND.COM, но и передаём ему кучу параметров, чтобы сделать работу с системой более комфортной. Посмотрим на FDAUTO.BAT. Здесь мы видим много строк, которые устанавливают переменные окружения, подключают диски и так далее. Допишем в конец файла строчку с командой запуска Doszip

fdauto.bat

Теперь можно перезагрузиться и убедиться, что Doszip запускается автоматически.

Сеть

К великому счастью FreeDOS в VirtualBox автоматически настроил сеть и нам не придётся тратить времени на её настройку с помощью FDNET

Конфигурация сети, полученная FDNET

Очень интересно как FreeDOS способен справляться с типичными сетевыми задачами.

MTCP

В системе есть набор утилит MTCP, позволяющих диагностировать сеть

Утилиты MTCP

Сделаем ping ya.ru

PING

Проверим доступность порта HTTP с помощью команды telnet ya.ru 80

TELNET

Убедимся, что DNS корректно резолвится командой dnstest -name ya.ru

DNSTEST

Если посмотреть внимательнее на набор утилит, то встретим там тестер скорости, HTTP-сервер и так далее. То есть сеть нам покорится в любом случае.

SSH-клиент

Не знаю как в MS-DOS, но нативный ssh-клиент для Windows появился относительно недавно, поэтому хочется иметь его и под FreeDOS. И он тут есть, называется SSH2DOS. Его нужно доустановить через пакетный менеджер. После этого можно подключиться куда-нибудь. Я подключаюсь на один из своих тестовых роутеров командой ssh2dos username 10.0.0.1

SSH2DOS

Другое

Так же в системе доступны утилиты wget, curl, rsync, ethtools и другие полезные вещи, покрывающие потребности сетевого инженера 🙃

Интернет

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

Dillo

Наверное самый похожий на современные браузеры, однако уже морально устаревший - у меня так и не получилось загрузить ни одной https-страницы.

Dillo

Lynx

Текстовый браузер. Версия его довольно древняя, из-за чего есть проблемы с использованием HTTPS. Так же нет поддержки кириллицы

LYNX

Links

Самый работающий браузер, успешно справляющийся с кириллицей и HTTPS.

Links

Не густо. Точнее - совсем плохо. Отсутствие хорошего браузера с поддержкой графики уменьшает привлекательность системы.

Офис

Как таковых текстовых процессоров во FreeDOS нет, однако можно использовать проприетарный софт, который был когда-то доступен под MS-DOS. Вот здесь - отличная статья про офисные приложения.

Blocek

Простой блокнот, в котором можно изменить шрифт и цвета листа и текста.

Blocek

FLWriter

Это приложение придётся скачать отдельно, однако оно стоит того - функционал очень напоминает привычный офисный пакет.

FLWriter

Разработка

Поскольку время во FreeDOS остановилось, поддержки современных языков тут нет. Думаю те, кто в своё время писал код на ASM, BASIC или Pascal, уронят скупую слезу. Так же есть поддержка компиляторов С/С++, Perl и Lua. Что же касается IDE, то, увы, их придётся искать за пределами стандартного репозитория. Однако здесь есть Vim, а где он есть IDE не нужны.

Vim

Мультимедиа

Под MS-DOS было написано много софта для работы с графикой или звуком, однако на бонусном диске, кроме конвертеров, ничего нет. Увы.

Игры

С играми во FreeDOS всё отлично - они есть и в них можно играть

FreeDOOM
EmPong

Графические интерфейсы

openGEM

Графический интерфейс в духе 80-х. К сожалению в его работе возникают ошибки, из-за чего полноценно пользоваться им невозможно.

OpenGEM

oZone

Интерфейс в духе первых версий Gnome. Однако с графикой в системе что-то не так, поэтому ощутить его мощь в полной мере не удалось.

oZone

Seal

Интерфейс в духе Windows 2000 и MacOS 8. Самый стабильный из представленных.

Seal

Полезное извне

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

  1. Раздел ссылок с сайта FreeDOS.
  2. Самый, на мой взгляд, полезный ресурс - подборка софта, работающего под FreeDOS.
  3. Архив игр на old-games.ru.

Выводы

Всё таки сейчас FreeDOS, не смотря на активную разработку, нельзя назвать современной операционной системой. По крайней мере без нормального браузера. В остальном же это годная ОС под специфичные задачи - для прошивки оборудования, запуска Legacy-софта и вызова приступов ностальгии.