Отправляет email-рассылки с помощью сервиса Sendsay

Linux Gazette на русском

  Все выпуски  

Linux Gazette на русском


Информационный Канал Subscribe.Ru

Здравствуйте!

Вашему вниманию предлагается очередной перевод Александра Куприна. Про маленькие дистрибутивы Linux, которые ставятся (а часто -- и запускаются) с одной дискеты. В статье речь идет о Basic Linux. Я им не пользовался. Но пробовал очень (по описанию) похожий muLinux. Как сейчас помню: сделал дискету и позвал коллегу "зырить", как линукс с дискеты будет ставиться на ноут. Загрузились, появилась программа установки. Прошли мы все экраны, ответили на все вопросы, и тут появляется экран с просьбой нажать ENTER для перезагрузки:( "А-а, а говорили Linux...", -- протянул мой приятель. Я жму энтер и появляется другой экран: "Да вы что, пацаны, шуток не понимаете? Это ж не виндовз!" (это мой вольный перевод сообщений программы-установщика:). Мы так "хохотались". До сих пор и у меня, и у моего коллеги при воспоминании об этом случае настроение улучшается:)

Как всегда, жду вопросов и замечаний по адресу suralis-s@mtu-net.ru. Если не лень, то сразу пишите, можно ли использовать Ваши письма в рассылке.

Сергей Скороходов


Работаем с микродистрибутивами
--или--
Linux у вас в кармане

 
Автор: (C) Larry "Dirt Road" Kollar
Перевод: (C) Александр Куприн


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

Чтобы доказать возможность и практичность применения таких мини-дистрибутивов, я настроил у себя систему на "четвёрке", умещающуюся на двух дискетах и использовал её для написания этой статьи. 1 

Введение

"Всё это" началось, когда мне досталась пара системных блоков и один монитор. Тот, что помощнее (Aptiva), имел "на борту" 133-й Pentium, жёсткий диск на 2Гб, CD-ROM привод и полное отсутствие оперативной памяти. Второй, HP Vectra 486/33N, был оснащён винчестером на 170Мб, Windows 3.1 и 8Мб ОЗУ (CD не было). Оба системника имели мышь, но ни у одного из них не было клавиатуры. Поход в Wal-Mart и расставание с десятком "удобных единиц" подарили мне PS/2-совместимую клавиатуру. Так как эти два компьютера использовали 72-пиновые SIMM'ы, то первое, что я сделал -- поставил память в Aptiv'у и посмотрел, нет ли чего-нибудь интересного на "двухгигабайтнике".

И не напрасно. Я узнал кое-что ценное -- Windows 98 становиться дурно от нехватки оперативной памяти.2  

Так получилось, что под рукой у меня не было дополнительной памяти. Поэтому я вставил SIMM'ы обратно в Vectrа и откопал диск с Red Hat 4.0, я собирался...опс, дистрибутив на компакт-диске, а у Vectra не было CD-привода (и разъёмов для его подключения тоже). Очевидно настало время менять стратегию.

В поисках чудо-дискеты

Газета Linux Daily News -- одна из моих ежедневных остановок в Сети. Если того, что вы ищите нет на LWN, значит там должна быть ссылка на это. Я перешёл на страницу Distributions и стал перемещаться вниз до раздела "Small Disk", содержащего информацию о дистрибутивах, помещавшихся на дискетах.

Моя первая мысль была о всеми любимом однодисковом дистрибутиве-спасателе (rescue distribution, rescue-дистрибутив) tomsrtbt. У меня на работе есть лаптоп под управлением Windows, вечно на вторых ролях после моего Mac G3, но временами этот дистрибутив делает его полезным. К сожалению, tomsrtbt использует не совсем стандартный размер для пакета в 1.7Мб, размещая его на дискете в 1.44Мб, к тому же производственная необходимость заставила сделать "апгрейд" лаптопа, установив на нём Windows 2000. W2K не позволяет провернуть такую махинацию, а доступа к другой версии Windows у меня не было. 3

Возвращаюсь обратно к списку. Прошерстив ещё несколько ресурсов, обнаруживаю, что BasicLinux действительно является не-CD-ориентированым дистрибутивом (как и было объявлено на странице Distribution на LWN). Он идёт в виде отдельно zip-файла размером 2Мб, но в распакованном виде легко помещается на двух дискетах и не требует создания образа дискеты8 (использует для загрузки из-под MS DOS LOADLIN.EXE). Создан на базе Slackware 3.5, использует ядро 2.0.34 и libc5. Полностью помещается на виртуальном диске размером в 4Мб, что позволяет Vectra почувствовать вкус "свободы" (точнее свободного программного обеспечения).

Наверх, наверх, навех...9

Несмотря на различия используемого программного обеспечения, форматов дисков и назначения, все дистрибутивы, ориентированные на загрузку с дискет, имеют общую схему запуска:

  1. Инициализация, или при начальной загрузке (LILO), или после загрузки DOS (LOADLIN).
  2. Загрузчик распаковывает ядро и запускает его.
  3. Ядро создаёт виртуальный диск (RAMdisk) для собственного размещения и использования.
  4. Загрузчик распаковывает пользовательское пространство (userland) и копирует его на виртуальный диск.
  5. Если процесс загрузки протекает нормально, виртуальный диск монтируется к корню файловой системы "/".

Образ диска, содержащий пользовательское пространство (т.е. содержимое файловой системы), полностью помещается на одной дискете, при распаковке занимая более 3Мб. При использовании виртуального диска, даже 486/33 чувствует себя комфортно и показывает чудеса скорости.

Компромиссы

При размещении Linux на двух дискетах, на ум приходит бессмертное наблюдение Heinlein'а "TANSTAAFL'а" (There Ain't No Such Thing As A Free Lunch -- Задаром никого не кормют). При возможности можно использовать дополнительные утилиты и даже X11, но не ожидайте увидеть KDE, Gnome или Mozilla. Фанаты Emacs могут забыть про него (или, по крайней мере, про большую его часть).

Даже основные команды и утилиты, те, которые вы ожидаете увидеть в любой ОС, чьё имя заканчивается на 'X', имеют усечённые варианты. Фактически, большинство из них -- это всего лишь символические ссылки на программу под названием BusyBox. Lineo разработал этот удобный инструмент для встроенных Linux-систем, но он также нашёл применение в дистрибутивах-спасателях и микродистрибутивах. Он включает в себя 54 наиболее важных команды в одном исполняемом файле размером всего в 110Кб. Создайте символическую ссылку (используя ln -s), назвав её cp, и когда вы введёте эту команду, BusyBox будет действовать как команда cp. Когда вы вызываете команду mv, то BusyBox перемещает или переименовывает файлы. Опция --help предоставляет доступ к краткому списку команд, исключая потребность в страницах справочного руководства (man). Смею заметить, что без пакета BusyBox дистрибутивы, помещающиеся на дискетах, пришлось бы создавать с большим количеством компромиссов между размером и функциональностью.

Работаем с BasicLinux

BasicLinux -- компактная, работоспособная сетевая система. Помимо основных возможностей (доступных через BusyBox), он обеспечивает Ethernet и dialup-подключение и может работать как сетевой экран (firewall, брандмауэр) используя ipfwadm. Такие утилиты, как fetchmail и links (не lynx, который однажды "кинул" меня) обеспечивают почтовый сервис и возможность просмотра web-страниц. Чтобы закалённые бойцы Linux чувствовали себя, по возможности, комфортно, в качестве оболочки предлагается bash. По умолчанию inittab создаёт три консоли, этого более чем достаточно для моих целей (иногда я использую две консоли одновременно, одну для непривилегированного доступа, другую -- для суперпользователя).

В отличие от большинства дистрибутивов, BasicLinux предлагает два текстовых редактора, миниатюрный e3 и популярный pico. 4 Воспользовавшись оставшимся свободным местом в загрузочном образе (baslinux.gz) и архиватором пакетов, исторически являющимся частью Slackware, я заменил два предлагаемых редактора на один -- joe. Joe чуть больше, чем pico, но умеет поддерживает возможность эмуляции pico, WordStar и Emacs (но без функциональных гипервозможностей). В результате полученный (и упакованный) образ стал больше, но продолжал помещаться на дискете.

Редактирование образа

Файл readme.txt, идущий вместе с BasicLinux краток, но даёт любому знакомому с консолью достаточно информации о том, как настроить систему или как создать образ загрузочной дискеты.

Как я уже говорил, файлы BasicLinux лежат на диске C: (по крайней мере он так бы назывался, если бы с него была запущена MS DOS). 5 Настройка образа проста:

  1. Используйте gunzip для распаковки образа.
  2. Примонтируйте образ как loopback-устройство.
  3. Внесите необходимые изменения.
  4. Размонтируйте образ.
  5. Упакуйте образ при помощи gzip.

Переход на жёсткий диск

Это не сложно, если вы планируете стереть всё с жёсткого диска и заново его переформатировать (имеется ввиду оба процесса -- разбиение на разделы и форматирование). На Vectra была установлена Windows 3.1 и куча приложений, в которых я не нуждался.

Прежде чем двигаться вперёд, я провёл небольшое исследование и сделал резервную копию каталога с системными файлами MS-DOS на дискете (используя zip-архиватор, который уже был на компьютере). С жёстким диском на 160Мб и ОЗУ на 8Мб, я полагал, что у меня будет достаточно свободного места для создания работоспособной системы.

Google помог мне найти программу для переразбиения существующих разделов на диске -- FIPS (Первая Интерактивная Программа для Переразбиения разделов на диске). Следуя инструкциям, я разместил FIPS на загрузочной дискете и воспользовался ею для уменьшения диска C:. Я хотел уменьшить раздел до 10Мб, но FIPS по какой-то причине выделял на это не менее 16Мб. 11 После удаления всех этих Windows-штучек и проведения дефрагментации диска, я смог уменьшить его до 5Мб. Я не совсем понимаю, как такое получилось. Ну, да ладно.

Теперь я запустил Linux снова и воспользовался утилитой fdisk, идущей в поставке вместе с BasicLinux, для создания раздела свопинга (swap) и решил оставшуюся часть отдать под "/". Запустив mkswap, mke2fs и e2fsck, я подготовил новые разделы к использованию. Под конец я распаковал архив instl2hd.zip и, следуя инструкциям, приложенным к нему, загрузил образ виртуального диска (и кое-какие дополнения от себя) на жёсткий диск. Дальше уже проще -- нужно было отредактировать новые точки монтирования для swap и "/" в /etc/fstab. Ещё одна перезагрузка и я уже загрузился с жёсткого диска. Жизнь прекрасна! Скопировав свою статью на Linux-раздел, я продолжил писать.

Пойманный Сетью

В системе, настроенной исключительно для работы с консолью, используется не более 5Мб оперативной памяти 6 и остаётся свободными ещё около 3Мб, их я решил использовать по своему усмотрению. И я захотел добавить:

  • groff (форматировщик текста)
  • vim (первоклассный текстовый редактор)
  • rogue (замочить пару монстров, пробить ментальный блок)
  • X11 (для предварительного просмотра документов)
  • gcc (на время, чтобы собрать groff и rouge)

К счастью, Vectra шёл с сетевой картой SMB-Ultra. Поиски нужного модуля не заняли много времени, но документация по BasicLinux предложила сперва попробовать загрузить модуль 8390. Т.к. мой Mac G3 работал сетевым экраном с поддержкой NAT (ipchains) для доступа в Сеть через dialup, то для подключения к сети достаточно было перенести Vectr'у в ту же комнату и подключить. После небольшой мозговой атаки и чтения страниц справочного руководства по route, я наконец понял в какой бубен мне нужно постучать, чтобы заставить Skeeter (так я стал называть Vectra) говорить по сети с внешним миром.

Скачивание пакетов X11 напомнило мне, что существуют сети и помедленней, чем мой dialup. Это был один из тех немногих случаев, когда я был рад тому, что у меня нет широкополосного подключения 7, иначе я бы чувствовал себя обманутым. Но, в конечном счёте, я заполучил всё, что мне было нужно на жёсткий диск и приступил к конфигурированию X11. Пошуровав в сети в поисках помощи, я выяснил, что утилита SuperProbe обнаружила, что Vectra имеет встроенное видео и мой монитор поддерживает только режим 640x480. Во второй вечер, я получил работающий GUI и переключился в рекомендуемый для таких случаев icewm. Пейджер от icewm и его небольшой размер заставляют узкий экран выглядеть очень прилично, если не сказать приятно. Но если быть справедливым, то экран rxvt в 35 строк лучше, чем 25 строк текстовой консоли для работы с текстом, так что я доволен.

Напоследок

С работающей сетью и графическим интерфейсом пришло время заканчивать настройку. Сейчас вся система занимает на жёстком диске около 21Мб (113Мб ещё свободно). Прибавьте сюда пакеты компилятора и занимаемый объём увеличивается до 35Мб.

Добавление пакетов, нужных для сборки groff и gawk, плюс сами откомпилированные приложения и вот уже занято более 60Мб. После установки программ и удаления директорий, содержащих исходники я поджал используемое пространство до 57Мб.

И раньше печатая по сети через lpr на совместно используемом принтере, я по-быстрому сделал несколько тестовых документов в groff и отправил их на лазерный USB-принтер, подключенный к G3. На этом этапе, Skeeter уже умел делать всё, что я для него планировал. Мне хотелось бы монитор с большим разрешением, и возможно хорошо было бы собрать из исходников графический веб-браузер Chimera 1.x, но этого не было в списках первой необходимости.

Поиски собственной "экологической ниши"

Уже готовый для того, чтобы служить "пишущей машинкой" (доказательство -- эта статья), Skeeter может подключаться к MUD и использоваться для развлечений (представьте себе трёх человек делящих между собой dialup -- двух использующих telnet, и третьего просто читающего почту через броузер, и никто не жалуется, что связь становится медленной). Rouge очаровал моего сына и его друзей, чем удивил моего друга, который не понимает как может быть интересной игра без графики!

Skeeter может использоваться как удалённый дисковод. У iMac (там теперь стоит MacOS X) его уже нет, точнее то, что осталось, представляет из себя что-то непонятное. Поэтому если нам нужно прочитать или записать данные на дискету, мы обращаемся за помощью к Skeeter'у. В будущем он может стать сервером печати, ему это вполне по силам.

Итак, я считаю, что эксперимент удался. Благодаря инвестициям в десять долларов и напряжённому труду в поте лица своего, я получил ещё один работающий компьютер и приобрёл новые навыки.


Larry Kollar

Работу Larry можно охарактеризовать, как "технический писатель", но в душе он мечтает однажды стать настоящим BOFH 10. На работе он умеет находить время для написания скриптов настройки ведомственных Linux-серверов (конечно же "маков") и отгоняет орды завистливых IT-сотрудников, смотрящих жадными глазами на его G3. Дома, у подножия гор Джорджии, он делает всё, что может для того, чтобы сохранить жену, двух детей и четыре компьютера здоровыми и счастливыми.


Copyright (C) 2002, Larry "Dirt Road" Kollar.
Copying license http://www.linuxgazette.com/copying.html
Published in Issue 77 of Linux Gazette, April 2002

Примечания переводчика

1 На домашней странице дистрибутива BasicLinux дана ссылка на эту статью, как на практическое пособие по его установке и использованию.
2 Спазмы, удушье, а затем полный коллапс. Если интересуют подробности, спросите у нашего редактора.
3 Судя по всему, автор хочет сказать, что создание образа на дискете требует, чтобы вы находились в "реальном" DOS'е, а не DOS-сессии в случае с Windows 95/98. К тому же речь шла о W2K, в которой DOS-режима нет как такового.
4 В оригинале статьи автор ошибся, спутав pine и pico. Первый -- почтовый клиент, второй -- текстовый редактор, который используется в pine.
5 Из-под Linux'а, скорее всего, это будет -- /dev/hda1.
6 В оригинале статьи автор называет первые 5Мб свободным пространством на жёстком диске, а 3Мб остатком свободным в ОЗУ. Скорее всего, он запутался с виртуальными дисками и образами, копируемыми на них.
7 Технология, способная обеспечить одновременную передачу голоса, данных, видео; обычно это осуществляется путем мультиплексирования с разделением частот.
8 Т.е. используется системная дискета от MS DOS. Загрузка BasiLinux осуществляет программа loadlin, размещённая на ней.

Примечания редактора

9 Up and Away -- это, кажется, из "Ветра в ивах". Там некий Крот, устав от тягот и лишений подземной жизни, решает устроить себе каникулы и говорит примерно следующее: "Все, с меня хватит! Наверх, наверх, НАВЕРХ... Куда угодно, только прочь отсюда ". С тех пор Up and Away стало символом личного освобождения от гнетущего бремени приземленных забот.
10 Bastard Operator From Hell -- эдакий компьютерный мальчиш-плохиш из славного прошлого университетских компьютерных сетей. С одной стороны -- всевластен [пароли, доступ к машинам]. С другой -- полная безнаказанность [да я простой оператор, откуда мне знать, что делает del *.*]. Подробности смотрите здесь.
11 Даже свободный код не может выделять под раздел неполные цилиндры.:)

Команда переводчиков:
Владимир Меренков, Александр Михайлов, Иван Песин, Сергей Скороходов, Александр Саввин, Роман Шумихин, Александр Куприн, Андрей Киселев

Со всеми предложениями, идеями и комментариями обращайтесь к Сергею Скороходову (suralis-s@mtu-net.ru). Убедительная просьба: указывайте сразу, не возражаете ли Вы против публикации Ваших отзывов в рассылке.

Сайт рассылки: http://gazette.linux.ru.net
Эту статью можно взять здесь: http://gazette.linux.ru.net/lg77/articles/rus-kollar.html



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное