Процесс установки Linux на ваш
компьютер во многом определяется
используемым дистрибутивом и
специальным программным
обеспечением, которое
устанавливает тот или иной
производитель CD-ROM. В нашей
книге мы рассмотрим традиционный
дистрибутив Slackware, а также
два "фирменных" дистрибутива,
которые входят в состав
LinuxWare фирмы TAE и RedHat.
Прежде всего необходимо создать
загрузочные диски. Для Unix вам
потребуется две дискеты 5.25" HD
- так называемые boot и root.
Конечно, если загрузочным
является дисковод 3.5", то вам
потребуется две дискеты емкостью
1.44 МБайт. Кроме того,
подготовьте еще две чистых
дискеты, они понадобятся при
отладке.
Установите в привод CD-ROM диск
TAE Volume 2 (или более поздней
версии) и создайте дискеты с
помощью программы Install. В
некоторых случаях диски,
создаваемые с помощью программы
Install, упорно не желают
загружаться на вашей машине. Это
не дефект компьютера, а ошибки
разработчиков программы
установки. Но это ошибка не
смертельная. На каждом диске
есть специальный каталог BOOT, в
котором помещены версии
загрузочных (boot) и корневых (root)
дисков для различных вариантов
конфигурации системы. Там же вы
сможете найти и программу
посекторного копирования rawrite,
которая позволит сформировать
образ на дискете.
Но вернемся к процессу
установки. Поместив в привод
дискету boot смело жмите клавишу
Reset. Если процесс загрузки
прекратится через несколько
секунд, значит вы не угадали,
какое ядро системы соответствует
вашей конфигурации. В противном
случае на экран будут выведены
диагностические сообщения, а
затем вы получите сообщение,
приглашающее вас установить диск
root. Еще немного поворчит
дисковод и перед вами появится
подсказка программы привратника:
введите в ответ root и нажмите <Enter>.
Теперь вы хозяин системы и
вольны распоряжаться ею. Но
прежде необходимо поставить
Linux на винчестер. А поэтому
запускайте программу fdisk.
fdisk <идентификатор диска>
Обозначения дисков в Unix
естественно отличаются от MS-DOS.
Так, первый винчестер,
подключенный к контроллеру IDE,
обозначается как /dev/hda,
второй - /dev/hdb, а
винчестеры, подключенные к
интерфейсу SCSI - как /dev/sda,
/dev/sdb и так далее. Но
предположим, у вас только один
винчестер, подключенный к
контроллеру IDE. Поэтому вы
подаете системе команду:
и программа fdisk выдаст
подсказку. Польщоваться fdisk в
Unix проще, чем в DOS.
Команда m позволит вам
получить список команд, а p
- распечатать текущее состояние
таблицы разделов. Ваша задача -
создать два новых раздела - для
файлов системы Linux (Native
Linux - тип 83) и для подкачки (Linux
swap- тип 82).
Кстати о подкачке. Если в вашей
системе больше 16 МБайт
оперативной памяти - раздел
подкачки вам не нужен. А если
меньше, не жмитесь! Но и не
жадничайте. Размер раздела
подкачки В старых версиях Linux
не мог превышать 16 Мбайт, а
сегодня вы можете устанавливать
хоть 128 МБайт. А можете и
создавать специальный файл для
подкачки на время выполнения
программы и освобождать
пространство на диске после ее
завершения!
Да, надо отметить одну
особенность программы fdisk. При
создании раздела вам будет
предложено указать первый
цилиндр раздела, а затем размер,
выделяемый разделу. Чтобы
выделить, скажем 80 МБайт, на
запрос системы о последнем
цилиндре раздела введите +80M
(если введете +80 - получите 80
Байт!).
Перед выходом из программы еще
раз посмотрите на таблицу. И
если результаты вас устраивают
жмите клавишу w. Если же нет,
можете выйти без записи
результатов (команда - q) и еще
раз попытать счастье.
Запомните обозначения разделов,
которые используются для MS-DOS
и Linux. Они нам вскоре
понадобятся.
Ох, первый нужен уже сейчас. Вы
скорее всего, не настолько
богаты, чтобы бросаться
оперативной памятью, и создали
специальный раздел подкачки.
Теперь необходимо поставить об
этом в известность операционную
систему. Предположим, что под
подкачку выделен раздел /dev/hda4
размером 8192 блока (1 блок = 1
КБайт - и никаких тебе
кластеров!).
Поэтому введите следующую
команду:
В результате раздел будет
размечен для подкачки. Опция -c
нужна только для старых
винчестеров - при разметке будет
проведена проверка на предмет
наличия плохих блоков и, в
случае обнаружения оные блоки
будут огорожены красными
флажками. Поэтому сообщения об
ошибках можно игнорировать. На
последующую работу системы они
не повлияют. Теперь необходимо
разрешить системе использовать
раздел подкачки. Для этого вы
подаете команду:
Все. Объем оперативной памяти
вашей системы увеличился на 8192
КБайта.
Если вы создали несколько
разделов подкачки, повторите эту
процедуру для каждого из них.
Теперь можно продолжать, но
позвольте еще одно небольшое
отступление. Unix очень похож на
исполнительного солдата, который
делает только то, что ему
приказывают. Но с другой
стороны, не надо ничего
повторять два раза. Это
означает, что созданный и
инициированный однажды раздел
подкачки будет "подкачивать", до
тех пор пока вы не подадите
команду swapoff. А описываемая
ниже процедура установки
предложит вам еще раз
отформатировать и установить
раздел подкачки. Так вот этого
делать не надо! Категорически не
надо!
Дело в том, что если у вас мало
памяти, вы не сможете запустить
программу установки, не
инициализировав раздел подкчки.
А если попытаетесь установить
раздел второй раз, можете
развалить всю систему - ведь
страницы подкачки на одном и том
же разделе будут распределяться
двумя независимыми механизмами.
Поэтому, после запуска программы
setup необходимо отказаться от
предложения выполнить команду
mkswap, но не стоит возражать
против включения swapon в
сценарий загрузки. В противном
случае вам придется
самостоятельно выполнять эту
команду при каждом запуске
системы.
Теперь необходимо установить
источник, откуда будет
осуществляться загрузка системы
на винчестер. Конечно, с
оптического диска! Затем
уточните тип привода, на этом
этапе система поддерживает все
перечисленные в списке и
переходим к следующему пункту.
А следующим пунктом мы должны
определить, куда устанавливать
Linux и какие разделы винчестера
мы будем использовать. Вот еще
один повод вспомнить состояние
таблицы разделов. Предположим,
что у нас имеется два раздела
MS-DOS: /dev/hda1 и /dev/hda2, а
также раздел типа Linux native -
/dev/hda3. Давайте ка включим их
в систему.
Вначале программа setup попросит
указать, какой раздел
использовать для файлов Linux.
Без вариантов - раздел /dev/hda3.
После этого вам предложат
выбрать тип файловой системы. Не
вчитывайтесь в различные
мудрстовавния, а выбирайте
ext2fs. Как сказало бы покойное
АО "МММ" - "Это лучше, Леня!"
После этого спокойно
соглашайтесь на форматирование
раздела, не стоит возражать и
против проверки на наличие
плохих блоков.
После завершения форматирования
вам предложат включить в состав
файловой системы разделы DOS. Не
стоит отказываться, подключите
хотя бы один из разделов. Тогда
вы сможете передавать файлы в
DOS и обратно путем простой
команды cp (аналог copy из
MS-DOS). Единственный тонкий
момент - выбор точки
монтирования. Под этим в Unix
понимается название каталога,
который ставится в соответствие
с тем или иным дисковым
устройством. Так вот, к моменту
запроса системы на подключение
разделов винчестера у вас на
диске есть только один корневой
каталог, обозначаемый как "/".
Следовательно ваши каталоги,
связывающие Unix с DOS должны
быть потомками основного
каталога, например /dos-c для /dev/hda1
или /dos.d для /dev/hda2. Но я
бы советовал Вам подключить в
Linux только второй раздел, не
содержащий самой DOS - все-таки
береженого Бог бережет!
Теперь, при желании, Вы можете
распечатать каталог файлов DOS,
находящиеся в каталоге D:\F117,
с помощью команды: dir /dos.d/*
. А вот при обратном копировании
нужно помнить что длина имени
файлов в MS-DOS ограничена
восемью символами, а расширение
- не длиннее трех. Но об этом мы
поговорим позже, а сейчас
продолжим установку.
После установки основных
разделов винчестера система
предложит список наборов дисков
(diskset) для установки на вашем
компьютере. Вначале, конечно,
глаза разбегаются и хочется
установить все по максимуму. Вот
этого делать ни в коем случае не
нужно. Успеется. А сейчас мы с
вами должны получить нормальную
работоспособную операционную
систему. Поэтому вы выбираете
только два набора дисков: A и D
и приступаете к установке.
По умолчанию система выбирает
режим установки с подсказкой для
пользователя. Не возражайте, в
этом случае в процессе установки
на винчестер вы сможете узнать,
что же вы записываете на диск.
Сначала идет установка набора A.
Это базовый набор и ваше участие
в его установке минимально. Есть
только один
важный момент. Вам НЕ НУЖНО
устанавливать ядро SCSIKERN,
если у вас диск с контроллером
IDE и наоборот, не нужно ядро
IDEKERN, если у вас винчестер с
интерфейсом SCSI. Если у вас
есть и те и другие диски,
устанавливайте ядро только для
того винчестера, на который
СЕЙЧАС устанавливаете систему. С
остальными разберемся позже.
При установке утилит для
поддержки принтера обратите
внимание, что демон печати
работает с протоколами TCP/IP.
Не вдаваясь в подробности
отметим, что для работы с
устройством печати вам
потребуется создать локальную
сеть, состоящую хотя бы из одной
вашей машины.
Второй набор дисков - D,
содержит инструментальные
средства разработки программного
обеспечения в среде Linux. Вам
потребуются:
Устанавливать на диск
компиляторы C++, Objective C и
тем более LISP, PERL,
препроцессоры Pascal, Modula,
Fortran на этом этапе не нужно.
Вы сможете сделать это потом.
Но вот установка выбранного нами
программного обеспечения на
винчестер завершена. Система
предлагает вам выбрать вариант
загрузки Linux. На этом
этапе генерации системы мы
выбираем загрузку с дискеты. Вы
устанавливаете чистую дискету
(Вы ведь подготовили ее в самом
начале процесса, не так ли?) и
программа setup устанавливает на
нее загрузчик ОС Linux.
Конфигурировать модем, мышку, и
зональное время не надо. Скоро
вы поймете почему.
Прежде всего, перезагрузитесь с
полученной дискеты. Если
загрузка оказалась неудачной,
придется повторить процесс
создания образа системы на диске
и загрузочного диска, как
указано выше. Вот именно поэтому
и используется отдельная дискета
для загрузки системы - ваши
диски root и boot остались
целости и сохранности. Поскольку
MBR винчестера вы не изменяли,
то при включении питания и
отсутствии дискеты в окошке A:
компьютер так же как и раньше
будет загружать MS-DOS. А
загрузка Unix будет
осуществляться с созданной вами
только что дискеты.
После загрузки системы с дискеты
вы вновь должны
зарегистрироваться с
идентификатором root. Это,
кстати, единственный доступный
вам сейчас идентификатор. Других
в системе пока просто нет. А
теперь мы приступим к процессу,
который должен повергнуть
рядового пользователя в
священный трепет. А именно -
сейчас мы с вами перекомпилируем
ядро операционной системы.
Не волнуйтесь, ситуация под
контролем. Вы переходите в
каталог /usr/src/linux. Как
перейти в этот каталог? Но ведь
MS-DOS заимствовала многие
команды пользователя из
операционной системы CP/M,
которая в свою очередь
использовала привычные
пользователям начала 80-х годов
команды многопользовательских
UNIX-систем.
Находясь в этом каталоге вы
запускаете следующую команду:
В ответ на это требование вы
получите список вопросов, на
которые надо отвечать достаточно
внимательно. Если в вашей
системе есть математический
сопроцессор, то эмуляция команд
80387 вам, по всей видимости не
нужна. Если вы устанавливаете
Linux на компьютер с процессором
80386, то оптимизация под 80486
также окажется бесполезна.
Но это пока безвредные вопросы.
А вот когда пойдет речь о
файловых системах - будьте
бдительны.
Во-первых, именно сейчас вы
должны будете сообщить системе,
какие типы винчестеров
используются в вашем компьютере:
IDE и/или SCSI. Создавая свою
систему вы можете использовать
оба типа контроллеров. Ну
например, загрузка
осуществляется с обычного
винчестера подключенного к
IDE-контроллеру, а второй
винчестер подключен к плате
SoundBlaster ASP 16 SCSI-2. Или
у вас установлен контроллер
Adaptec 1522 без встроенного ПЗУ
с BIOS. Так вот, в отличие от
MS-DOS эти контроллеры SCSI
поддерживаются ядром Linux!
Нужно только предупредить
систему об их наличии.
Когда вас спросят, нужна ли вам
сетевая поддержка, долго не
задумывайтесь и отвечайте "Да!"
Во-первых, даже поддержка
принтера в Linux реализована
через сетевые функции, а кроме
того, большинство серьезных
приложений, реализующих
технологию "клиент-сервер"
(например, СУБД Postgress или
отечественный (!) сервер баз
данных LDBF), также используют
функции TCP/IP.
Следующий важный момент - тип
привода CD-ROM. Базовая версия
системы устанавливаемая по
умолчанию не содержит
драйверов CD-ROM и не может
обслуживать привод какого бы то
ни было типа. Поэтому от
перегенерации системы вам никуда
не уйти. Ваша задача состоит
только в том, чтобы корректно
указать тип привода.
Звуковая плата, если она у вас
есть, также должна быть
сконфигурирована на этом этапе.
Впрочем здесь ничего сложного
нет. А вот с файловыми системами
надо держать ухо востро!
Поддержка лишних стандартов вам
конечно ни к чему. Вот список
тех систем, которые вы должны
включить при генерации системы:
-
ext2fs (старая extfs, о
которой вас спросят вначале,
вам не нужна!);
-
ms-dos (это понятно);
-
minix (это формат,
"завещанный предками" );
-
iso9660 (а это формат дисков
CD-ROM - без него вы не
сможете читать диски!).
С дополнительной периферией
сложности не возникнет.
Единственное предупреждение: bus
mouse и serial mouse - суть вещи
разные! Если ваша мышка
подключается к последовательному
порту, не включайте в
конфигурацию bus mouse, не надо.
Зачем вам лишний код в ядре
системы?
После того, как программа make
завершит работу и Linux выведет
на экран приглашение к вводу
команды, повторите вызов make,
но уже с вариациями:
а минут через двадцать, когда
программа завершит свою работу,
введите make еще раз, вот так:
Теперь можете поставить чайник
или сходить пообедать. Время
трансляции для 80386DX-40/4 МБ
составило 1 час 5 минут, а когда
появилась возможность нарастить
объем оперативной памяти до 8
МБайт, компиляция ядра системы
заняла всего сорок минут. При
установке Linux на 486DX2-66/8
МБ на трансляцию потребовалось
всего двадцать минут. Но как
видите, важнее не
производительность процессора, а
объем оперативной памяти.
Что мы получим в результате
трансляции? Всего навсего
cкомпилированное и упакованное
ядро системы, помещенное в файл
/usr/src/linux/arch/i386/zImage.
Это ядро пока что не
активизировано и хранится как
обычный файл данных. Но прежде,
чем устанавливать его на
винчестер, давайте создадим
специальную загрузочную дискету,
чтобы проверить, правильно ли мы
все сконфигурировали.
Для этого скопируйте ядро
системы на дискету (обратите
внимание, что диск /dev/fd0
рассматривается в приведенной
ниже команде как устройство не
имеющее файловой структуры!):
А затем выполните несколько
настроек ядра на дискете:
Теперь осталось перезагрузиться
с полученной дискеты и убедиться
в работоспособности нового ядра
системы.
После того, как вы выяснили, что
новая версия загружается без
каких лмбо ужасных сообшений об
ошибках имеет смысл научить
Linux загружаться без
дополнительной дискеты. При этом
хотелось бы конечно, чтобы и
MS-DOS также не потерял своей
способности к загрузке. Сделать
это совсем не сложно, поскольку
вы можете установить в MBR Linux
Loader с ветвлением путей
загрузки операционной системы.
Вообще-то эта возможность
присутствовала и в первых
выпусках, но начиная с Volume 3
появилась приятная диалоговая
оболочка помогающая решению этой
проблемы. Итак начнем.
Во-первых, вы копируете
скомпилированный образ ядра
поверх уже существующего на
винчестере:
cp /usr/src/linux/zImage /vmlinuz
После этого вы повторяете
приведенные выше четыре
заклинания "rdev", заменив /dev/fd0
на /vmlinuz.
А теперь вы вводите команду
Setup и выбираете пункт меню Set
LILO. Вначале вы создаете новый
сценарий для LILO (команда BEGIN).
Затем добавляете в него два
раздела - для DOS и для Linux.
Тот раздел, который будет
упомянут первым будет
загружаться автоматически. Для
второго вас придется вводить
запрос.
При этом вы можете определить
временной интервал, в течение
которого компьютер будет ожидать
ввода пользователя после чего
будет осуществлена загрузка
первой операционной системы, или
же можно заставить LILO выходить
на запрос типа системы, которую
вы хотите загрузить. По
завершении установки всех опций
LILO вам остается выбрать пункт
end и в MBR будет помещен новый
загрузчик.
Имейте в виду, что если вам
вздумается еще раз
перекомпилировать ядро, то
простого копирования его поверх
уже существующего будет
недостаточно. Вам нужно будет
обязательно четыре раза
повторить заклинание "rdev" и
еще раз создать ЗАНОВО и
переустановить загрузчик LILO.
Причина хоть и не лежит на
поверхности, но достаточно
проста. Файловая система Linux
гораздо сложнее, чем кажется
пользователю. В частности ядро
системы /vmlinuz находится в
специальном суперблоке,
размещаемом в служебных областях
винчестера. Если вам не жалко
потерять несколько чаосв уже
проделанной работы - можно
провести следующий эксперимент.
Загрузите MS-DOS (Если вы забыли
какой идентификатор у DOS, а
какой у Linux - нажмите клавишу
[Tab] и на экран будет выведен
список загружаемых разделов.
Теперь запустите программу fdisk
из MS-DOS. Удалите все разделы
Linux, назначьте освободившееся
место для раздела DOS, а затем,
вернувшись в DOS отформатируйте
новый раздел. А теперь
попробуйте выбрать в начальном
загрузчика раздел Linux и
загрузить его.
И к изумлению зрителей "неубиенный"
Linux будет загружен в
оперативную память. Работать вы
конечно же не сможете, поскольку
все каталоги и файлы уже
уничтожены, но сама система при
этом не пострадала!
Но хватит абстрактных
экспериментов, давайте продолжим
настройку системы. Что мы уже
получили? Система поддерживает
свой собственный раздел и раздел
MS-DOS, теоретически работает с
гибкими дисками и приводом
CD-ROM. Одна беда, при поытке
установки с привода CD-ROM мы
получаем сообщение, что он
недоступен! В чем же дело?
И вновь все не так страшно, как
кажется. Ранее мы упомянули о
том, что файловые системы надо
монтировать и немного сказали о
точке монтирования. Так давайте
смонтируем системы для
дисководов и привода CD-ROM!
Самое время познакомиться с
одной из команд Unix - man. Это
система управления справочной
информацией по операционной
системе, языкам
программирования, прикладным
программам и так далее. Так вот
для практики попробуйте вызвать
справку по теме ftab:
А теперь перейдите в каталог /etc
(в котором хранятся все
конфигурационные файлы системы)
и вызовите на редактирование
файл ftab:
Да, кстати, чтобы не заставлять
вас искать описание vi, я
попробую сказать,
что делать.
Нажмите клавишу <Ins> и вы
перейдете в режим
редактирования. Переведите
курсор в конец любой строки и
нажмите <Enter>. Появится новая
строка.
Заполните ее следующими данными:
/dev/fd0 /A msdos defaults
а затем создайте еще две строки
/dev/fd1 /B msdos defaults
/dev/cdrom /rom iso9660 ro
После этого нажмите клавишу <Esc>,
а затем наберите три символа
(они будут показаны в левом
нижнем углу экрана:
После этого новый файл ftab
будет записан на диск.
Но это еще не все. Теперь вы
должны создать три новых
каталога, которые будут являться
точками монтирования:
Как вы вероятно уже догадались,
дисководы A и B будут
поддерживать доступ к дискетам в
стандарте MS-DOS, а CD-ROM - в
стандарте iso9660.
Ну с дисководами вроде понятно.
Если вы хотите поддерживать
файловую систему Linux -
замените msdos на ext2fs и все!
А вот для привода CD-ROM
файловую систему менять нельзя!
Ведь даже DOS обращается (через
драйвер mscdex.exe) именно к
этим структурам данных.
Ну ладно, теперь мы для чистоты
эксперимента перезагрузим
компьютер (используйте только
комбинацию из трех пальцев -
ctrl-alt-del, нажатие кнопки
reset может погубить все
данные!) и попробуйте
просмотреть содержимое каталога
/rom.
Увы там пусто! А все потому что
файл ftab содержит только
информацию о точках м параметрах
монтирования файловых систем, но
самого монтирования не
выполняет. А поэтому попробуйте
ввести команду:
Теперь можно и повторить команду
ls. Как видите, пустой каталог /rom
вдруг наполнился новым
содержанием! Это и есть
содержимое оптического
диска. Обратите внимание на два
каталога, наывающихся, с
использованием той или иной
транскрипции slackware,
например:
В этих каталогах находятся две
версии дистрибутивов
операционной системы, и именно
оттуда программа setup должна
устанавливать файлы.
Ну что же продолжим! Вызывайте
программу setup, а затем
выберите пункт source. А теперь
вы должны указать в качестве
источника дисковых наборов не
какой-то абстрактный привод
CD-ROM, а уже смонтированный
каталог, например /rom/slackware.120.
Теперь вы указываете все те
дисковые наборы, которые хотите
установить, и в путь...
Конечно, это далеко не все. В
частности мы пока не подключили
принтер, не настроили
конфигурацию графической
оболочки XWindows и не создали
комфортной среды для
пользователя. В общем у вас пока
больше вопросов, чем ответов.
Отвечу только на один. Как
сменить дискету или CD-ROM? Для
этого вы должны сначала
размонтировать каталог - точку
монтирования:
установить новый диск и
повторить команду монтирования
То же относится, конечно и к
дискетам.
|