Эта статья родилась под впечатлением от экспериментов с ноутбуком, который я приобрел всего за 800$ несколько лет назад. Очень хорошая цена, но, к сожалению, ноутбук был без CD-ROM привода. В связи с этим мне захотелось разобраться, как установить на мою машину Линукс, используя сетевые загрузочные диски, которые теперь входят в состав большинства дистрибутивов. Перед началом этих экспериментов у меня имелся кое-какой опыт использования 486 в качестве терминалов (и тоже без CD-ROM).
Существуют различные способы экспортирования диска дистрибутива с компьютера, на котором установлен Линукс: NFS, FTP и HTTP. Перед тем, как рассказать о тех интересных проблемах, с которыми я столкнулся, мне бы хотелось вкратце обсудить каждый из этих способов. Я постараюсь сделать изложение материала доступным для всех и буду использовать те приемы, которые достаточно просты в реализации (за исключением разве что NFS).
Речь пойдет о схеме, применимой к дистрибутиву Red Hat и его производным (Mandrake, HispaLinux и др.). Также я не вижу каких-то проблем в применении идей, которые будут изложены, и к другим дистрибутивам (хотя сама реализация может, конечно, различаться).
Диски.
Большинство современных дистрибутивов позволяют загружаться прямо с установочного диска. Также в их состав входит несколько загрузочных образов, которые могут быть переписаны на флоппи-диск (обычно они находятся в каталоге /images). Обратите внимание на то, что существует разница между компьютером со стандартной ISA или PCI ethernet карточкой и ноутбуком c PCMCIA-картой. Для такого ноутбука нужно будет загрузить модуль поддержки pcmcia перед загрузкой ethernet-драйверов.
Например:
- в состав дистрибутива RedHat 5.2 входит boot.img (диск и сеть), но вам может также понадобиться supp.img для поддержки PCMCIA-карты (Я, кстати, до сих пор использую ее для того, чтобы использовать четверки и старые Pentium'ы в качестве X-терминалов и роутеров - но не в качестве серверов!).
- в состав дистрибутива RedHat 6.0 входят boot.img (только диск), bootnet.img (сеть) и pcmcia.img.
В состав Mandrake 7.0 входят cdrom.img, network.img и pcmcia.img, что можно также отнести и к Mandrake Corporate Server.
Итак, для загрузки через сеть в каждом отдельнов случае вам понадобится:
<>
>Дистрибутив | без PCMCIA | c PCMCIA |
RedHat 5.2 | boot.img | boot.img + supp.img |
RedHat 6.0 | bootnet.img | bootnet.img + pcmcia |
Mandrake 7.0 | network.img | pcmcia.img |
Как правило, эти образы можно записать на флоппи-диск, используя команду dd:
Сетевые настройки. Все сетевые загрузочные диски позволяют настроить должным образом сетевое соединение, хотя порядок действий может варьироваться в зависимости от дистрибутива. Например, в Mandrake 6.1 процесс происходит в такой последовательности: 1. Выбор сетевого протокола (nfs, ftp или http) 2. Выбор сетевой карты (загрузочный диск Mandrake 6.1 не позволяет осуществить автоопределени карты - но об этом чуть позже) 3. Ввод вашего IP и конфигурации хоста (как правило, указанные на этой стадии параметры являются окончательными - то есть в дальнейшем не изменяются). 4. Ввод информации о сервере (IP-адрес или имя; каталог, содержащий дистрибутив).
Установка через NFS. NFS может рассматриваться как средство, с помошью которого можно осуществить к каталогам, находящимся на компьютере с установленным на нем Линуксом, всем машинам в локальной или глобальной вычислительной сети. После эскпорта каталогов, их можно примонтировать как обычные локальные дискию На сервере, я обычно просто монтирую CD и потом экспортирую /mnt/cdrom. Для этого требуется выполнение следующих шагов:
На клиентских машинах, программе установки нужно сказать следующее:
Этот вариант проверен. Он работает. Но, возможно, это не самое легкое решение проблемы установки Линукса. Я использую такой подход, когда сервер в любом случае вынужден экспортировать /home, и NFS уже настроен.
Установка через FTP. Со стороны сервера, процесс экспорта установочного диска RedHat через FTP - это довольно простой процесс. В моем случае, сервер wuftp уже был настроен и работал. А дальше - создается каталог /hom/ftp, откуда обслуживаются анонимные запросы через ftp. Самым лаконичным решением в данной ситуации будет:
Затем (на всякий случай), я проверяю, имеют ли пользователи доступ к этому каталогу во время ftp-сеанса. На стороне клиента, я выбираю ftp-образ, затем прохожу все стандартные шаги, необходимые для настройки сетевого соедиения. Когда будут заданы соответствующие вопросы, нужно будет ввести:
Установка через HTTP. Данный процесс очень похож на тот, что был описан в случае с FTP. На стороне сервера, я использую стандартные настройки apache с DocumentRoot, установленным в /home/httpd/html. Затем я:
Перед тем как продолжать - я проверяю имеется ли у пользователь доступ к устновочному диску. Это можно сделать прямо на сервере, сделав запрос на http://localhost/cdrom/. В ответ вы должны получить список файлов, находящихся на компакт диске. На клиентской машине, установочной программе нужно сообщить следующие параметры:
Проблемы. С моим ноутбуком главной проблемой, с которой я столкнулся, была ethernet-карта Trust PCMCIA, на упаковке которой красовалась надпись "Полная совместимость с NE2000" (что совершенно не соответствовало реальности; кстати, зачем это они включили в поставку свои собственнуе драйверы для Win95?). Этот проблема становилась тупиковой, когда я экспериментировал с рядом дистрибутивов (например, Mandrake 6.1): в определенный момент нужно было отвечать на вопрос о типе карты. Естественно, такой вариант, как модуль ne не проходил. Затем я попробовал дистрибутив RedHat 6.0. Здесь происходит автоопределение типа карты, и все работает без проблем на модуле pcnet_cs. Это достаточно необычный тип карты, и он есть далеко не во всех списках, но, как правило, большиснтво ядер собраны с поддержкой этого типа. Весь трюк состоит в том, чтобы найти такой загрузочный диск, который бы либо производил автоопределение, либо позволял бы вручную вводить тип карты вместо выбора его из списка. Заметьте, что образ network.img из RedHat 6.0 работает и с Mandrake 6.1. Также было несколько проблем с установкой разрешения экрана в Иксах. Ноутбук с разрешением 800х600 будет работать без проблем именно с таким же разрешением, но не с 640х480 - пикселы начинают искажаться. Пришлось поправить значение HorizSync в /etc/X11/XF86Config: стандартные значения VGA 30-40 kHz, оказалось, работают лучше, чем если указывать дискретные значения, говоря установочной программе, что у меня LCD экран 800х600. Однако будьте начеку (как впрочем и всегда, когда имеешь дело с Иксами). Другая проблема - это когда забываешь поставить некоторые пакеты во время инсталляции. В этом случае приходится снова делать их доступными через сеть: либо монтирую CD на сервере через NFS, либо скачивая их через FTP или HTTP. Затем уже можно использовать rpm, kpackage или что вам больше по душе.
Дальнейшие шаги. Одна из целей, преследуемых мной во время моих экспериментов, это было проверить разницу в скорости в при использовании трех разных методов. Из того, свидетелем чего я стал, можно сказать, что принципиальной разницы в скорости нет. Поэтому выбор способа, как мне кажется, обуславливается тем, что у вас уже установлено и настроено на сервере. В большинстве случаев, это FTP и HTTP, потому что они работают "из коробки" в большинстве современных дистрибутивов. Выбор NFS менее вероятен, потому что это не тот сервис, который требуется для ежедневной работы на большинстве Линукс-компьютеров. И, наконец, последний аспект, который бы я хотел обсудить в этой статье - "зачем использовать Линукс с ноутбуком?" Кроме обычных доводов в пользу Линукса, я могу привести несколько примеров того, как я выигрываю будучи преподавателем, вооруженным ноутбуком с Линуксом:
|