Richard Johnson, перевод И.Яровинский, Linux Gazette
Linux - это операционная система, которая в состоянии работать
на любой машине. Хоть еще и не было попыток установить Linux на
стиральную машину, ... но всему свое время.
Для того чтобы увеличить количество пользователей Linux,
разработчики начали выпускать дистрибутивы с удобными и интуитивно понятными
инсталляторами. Одним из таких
дистрибутивов является SuSE Linux. При установке SuSE Linux
используется программа YaST. Но у подобных программ есть
существенный недостаток - они требовательны к аппаратным ресурсам.
Например, для работы YaST необходимо как минимум 64 MB оперативной
памяти.
После установки операционной системы, потребность в таких
ресурсах исчезает. Это означает, что даже из слабого компьютера
(например, из 486) можно сделать вполне работоспособный
маршрутизатор или веб-сервер.
Недавно мне пришлось устанавливать один из новых дистрибутивов
Linux на довольно таки старый компьютер. Во время установки я
столкнулся с некоторыми проблемами, о решении которых я хочу
рассказать в этой статье.
Когда я работал в одной небольшой компании, у нас появилась
необходимость в создании Intranet
(не путайте Internet и
Intranet. Intranet - это технология создания корпоративной
локальной сети использующей сетевые стандарты и сетевые
программно-аппаратные средства - Прим.перев.).
Ничего особенного не требовалось - нужен был один компьютер, на
котором хранились бы документы, и к которому имели бы доступ
пользователи с компьютеров в локальной сети. В нашей организации
нашелся один "бесхозный" компьютер с устаревшим железом: 200MHz
Pentium MMX, 16MB оперативной памяти, винчестер - 2Gb. Я знал, что
объем оперативной памяти можно в любой момент увеличить, но сперва
решил установить на этот компьютер Linux.
Для создания веб-сервера я выбрал SuSE Linux 8. SuSE Linux - это
мой любимый дистрибутив, который я использую как на работе, так и
дома. В свое время я экспериментировал с разными дистрибутивами, но
остановился на SuSE, т.к. он мне очень понравился.
После загрузки с CD, я выбрал стандартный вариант установки
(standard installation). Процесс инсталляции начался с загрузки
Linux в оперативную память. После создания RAM-диска, система
зависла. Немного подождав, я нажал Ctrl-Alt-Del, перезагрузил
систему, и снова загрузился с CD в надежде, что в этот раз
установка пройдет успешно, но ситуация повторилась. Даже безопасный
вариант установки (safe installation) ни к чему хорошему не
привел.
Как оказалось, проблема была в недостаточном объеме оперативной
памяти - для инсталляции SuSE Linux необходимо 64MB, а в моем
компьютере было только 16MB.
По началу я немного расстроился, но не отступил от поставленной
цели. Я в очередной раз загрузился с CD, нажал F2 и попал в
текстовый режим установки операционной системы надеясь на то,
что отказ от запуска GUI-инсталлятора поможет мне сэкономить хоть
немного памяти. И это сработало! Минимальная копия Linux
загрузилась в память, был создан RAM-диск и запустился YaST в
текстовом режиме. Ответив на насколько вопросов связанных с
локализацией, передо мной появилось предупреждение о нехватке
памяти, после чего последовала очередная перезагрузка системы.
На этом этапе YaST предложил активизировать swap-раздел, но к
сожалению, его на компьютере не было. Но во всяком случае я теперь
точно знал в чем проблема и как ее решить.
Не имея под рукой ни одной подходящей программы для разбиения
диска, я решил найти загрузочную Linux-дискету с линуксовым
fdisk-ом.
Для этого я скачал отличный Boot-Root-Disk
(О разнице между
Boot, Root, Boot-Root и Utility дисках, а также о их создании можно
прочитать в Bootdisk-HOWTO - Прим.перев.). Это была
DOS-программа, которая отформатировала дискету, сделала её
загрузочной и разместила на ней много полезных утилит. Этот
Root-Boot-Disk можно взять здесь:
href="http://www.toms.net/rb/">http://www.toms.net/rb/
Программа отказалась запускаться из-под W2k и потребовала
"чистый" DOS. Я скопировал её на компьютер, где
планировал установить Linux (тут был установлен MS-DOS
6.22), установил дискету в дисковод, запустил программу и создал
загрузочный диск. После чего последовала очередная перезагрузка
системы и загрузка с только что созданной загрузочной дискеты.
Во многих источниках пишут, что программа fdisk является очень
опасной утилитой, но я никогда этого не замечал.
(Все в жизни
относительно. Такая игра как шахматы тоже безопасна, но до тех пор,
пока не уснешь над шахматной доской и не выколешь глаз об ферзя -
Прим.перев.). Для начала работы с fdisk, запустите:
#> fdisk /dev/hda
В данном случае Вы запускаете fdisk для работы с первичным IDE
диском. Если у Вас есть сомнения в синтаксисе программы fdisk, то
вы можете прочитать страницу справочного руководства, которая также
присутствует на этой дискете.
После запуска программы fdisk, у Вас есть возможность
контролировать её работу с помощью однобуквенных команд. Введите
'm' (без кавычек) для отображения списка доступных команд, 'p' -
выводит список разделов на данном жестком диске.
Для удаления существующего раздела нужно ввести команду 'd',
после чего программа fdisk запросит номер раздела для удаления.
Номер необходимого раздела можно узнать, набрав команду 'p'.
Помните, что программа fdisk не вносит никаких изменений в таблицу
разделов до введения команды 'w'. Если при разбиении диска допущены
какие-либо ошибки и команда 'w' не была введена, то нужно выйти из
программы с помощью команды 'q'. Для создания нового раздела
используется команда 'n'. Новый раздел будет создан как обычный
Linux-раздел. Для того, чтобы изменить тип раздела и сделать его
пригодным для использования в качестве виртуальной памяти
(swap-раздел), нужно изменить его тип командой 't'. Чтобы узнать
какой номер (а это шестнадцатеричное число) соответствует нужному
разделу, используется команда 'l'. swap-разделу соответствует номер
82.
На своем жестком диске я создал два первичных раздела. Первый
раздел размером в 128Mb для swap, а второй (он занял все оставшееся
место) - обычный Linux раздел. После этого оба раздела были
отформатированы. Для swap-раздела:
#> mkswap -c /dev/hda1
Эта команда подготавливает раздел /dev/hda1 для использования
как swap-раздел. Флаг -c указывает, что раздел следует проверить на
целостность.
На Linux разделе я создал файловую систему ext2fs (Second
Extended Filesystem) командой:
#> mke2fs -c /dev/hda2
Синтаксис команды mke2fs, как Вы видите, очень похож на
mkswap.
После создания разделов я вновь загрузился с загрузочного CD
SuSE Linux, нажал клавишу F2 и попал в текстовый режим установки.
Теперь, когда программа установки сообщила о нехватке памяти и
предложила активизировать swap-раздел, я указал устройство
/dev/hda1. YaST продолжил свою работу и через некоторое время
система была установлена.
В процессе установки YaST распознал созданные мной разделы на
диске, предложил переформатировать второй раздел в журналируемую
файловую систему ReiserFS, а также предложил заново отформатировать
swap-раздел. От форматирования swap-раздела я отказался так как это
могло привести к нежелательным последствиям - ведь swap в этот
момент уже использовался.
YaST - очень хорошая и полезная, но требовательная к памяти
программа. По окончанию установки я все настроил так, чтобы в
системе работали только необходимые сервисы. И не смотря на то, что
в компьютере было всего 16Mb оперативной памяти, в целом система
довольно таки сносно работала.
Через некоторое время я установил больше оперативной памяти в
компьютер. Это намного увеличило скорость работы системы. Но до
сих пор меня поражает то, что такая мощная и современная
операционная система как Linux способна работать на компьютерах со
старым аппаратным обеспечением.
noshade>
Что можно сказать? Интересно. От себя хочу добавить -- "Ричард, где Вы
были полтора года назад, когда мне пришлось решать такую же задачу?" А теперь
серьёзно -- решение, предложенное Ричардом можно упростить. Дело в том, что
любой уважающий себя инсталлятор имеет в своём распоряжении дополнительные
виртуальные консоли, на которые можно переключиться уже после того как программа
инсталляции загрузится и выдаст на экран диалоговое окно с приглашением. За
SuSE не знаю, не проверял, а вот в RedHat, ASP Linux, ALT Linux и Mandrake дела
обстоят именно так. Что это нам даёт? Возможность запустить fdisk, создать
раздел подкачки, отформатировать его, подмонтировать (ещё не устали?) и
переключиться обратно на первую консоль и продолжить установку. Как видите,
не нужно выкачивать из Сети мини-дистрибутив Linux, а можно всё сделать
средствами установочного диска. Подобную методику я описывал в статье
машины." Не думаю, что за полтора года она уже устарела.