Установка Gentoo Linux на удаленный сервер

Установка Linux на локальную машину в большинстве случаев не представляет сложности - в погоне за аудиторией разработчики снабжают дистрибутивы достаточно качественными инсталляторами. Когда же ваш сервер находится в лучшем случае за стенкой, а в худшем - в другом государстве, то установку операционной системы, как правило, поручают сотрудникам дата-центров. Это сильно ограничивает выбор возможных дистрибутивов. Хорошо это или плохо - однозначно судить нельзя, но если все же встала задача установить на удаленную машину Gentoo Linux, то это вполне под силу.

Gentoo Linux - это source-based-дистрибутив, то есть его ключевой особенностью является самостоятельная сборка всего программного обеспечения из исходных кодов. Оправданность такого подхода для серверной платформы - тема отдельной дискуссии, и подобными извечными спорами пестрят большинство форумов, посвященных операционной системе Linux. Будем исходить из того, что вы сами, взвесив все плюсы и минусы, приняли решение установить на вашем выделенном сервере Gentoo Linux.

Цель написания данной статьи - не руководство по установке (этот процесс достаточно подробно расписан вдокументации), а перечисление основных этапов, ошибка на которых может потенциально привести к сбою при установке системы и лишнему обращению в службу технической поддержки дата-центра.

Собственно, поставленная задача будет звучать следующим образом. Необходимо инсталлировать Gentoo Linux на удаленную систему посредством SSH-сеанса, сведя при этом к минимуму число перезагрузок операционной системы и обращений в техническую поддержку дата-центра.

В распоряжении должен быть собственно сервер, аппаратная часть которого поддерживается в Gentoo Linux. Он должен быть снабжен приводом CD-ROM и быть подключенным к сети. Предполагается, что у вас будет доступ по сети к этому серверу и интернет-трафик в дата-центре неограничен (по крайней мере, гигабайт до ближайшего зеркала про запас должен быть). Предполагается, что вы знаете Gentoo Linux в объеме, достаточном для того, чтобы установить его самостоятельно на локальной машине, понимаете суть и назначение всех шагов настройки. В тексте жирным шрифтом будут выделены ключевые моменты, на которых потенциально можно допустить ошибку и к которым следует отнестись с особой тщательностью.

Для начала сформируем первый запрос в техподдержку. Нам нужно, чтобы они скачали установочный диск Gentoo Linux. Во-первых, это должен быть диск под нашу архитектуру (x86, amd64 и т. п.). Во-вторых, нам необязательно присутствие на нем всех стейджей (stages) и пакеджей (packages), поэтому дадим им ссылку на минимальный установочный образ, напримерinstall-x86-minimal-2006.0.iso. Далее они должны записать этот образ на компакт-диск, вставить его в привод, настроить в BIOS первым загрузочным устройством CD-ROM, а вторым - жесткий диск и перегрузить систему. После загрузки LiveCD от них требуется выполнить две команды в системе. Запустить SSH-сервер: /etc/init.d/sshd start. И установить пароль пользователя root, который вы им должны передать (по умолчанию генерируется случайный пароль): passwd root. Еще мы подразумеваем, что у них настроен DHCP, чтобы сервер мог получить свой IP-адрес автоматически. На этом первый запрос в техподдержку окончен. Собственно, ничего сверхсложного от них не требуется.

После выполнения ими вышеописанного запроса у нас возможны две ситуации. Первая - сервер недоступен по сети: на него не идет пинг. Вероятно, вы выбрали не ту архитектуру, ваше оборудование не поддерживается Gentoo Linux или в дата-центре не настроен DHCP. Первая проблема решается выбором другого образа инсталляционного диска, третья - настройкой интерфейса вручную утилитой ifconfig (тоже придется обратиться к службе техподдержки). Идеальный вариант развития событий - все заработало сразу, сервер отвечает на ICMP-пакеты, и вам удается зайти на него по SSH. На практике в большинстве случаев так и получается.

Далее вам необходимо разбить диск на партиции. Здесь все, как в инструкции. Главное - не забудьте сделать активным тот раздел, на котором будет лежать ядро.

После того как структура диска приведена в должное состояние - монтируете ее в /mnt/gentoo в нужной последовательности (в зависимости от того, сколько разделов для каких точек монтирования вы сделали) и с ближайшего зеркала закачиваете нужный вам стейдж (stage, запакованный минимальный набор файловой системы) в одну из папок на смонтированной файловой системе. Распаковывайте его, устанавливайте и пробуйте сделать chroot в будущую систему.

Если этот этап удался и при выполнении стандартных команд у вас не вылетает ошибка Illegal instruction - все в порядке. Если такая ошибка все же появляется - вы выбрали стейдж, собранный не под вашу архитектуру. Самый простой способ исправить это - размонтировать все файловые системы вашего будущего диска, очистить их утилитой mkfs и повторить все с этапа закачки стейджа, только с другой архитектурой. Если же все удалось - важнейший этап, - вдумчиво настройте fstab. Обратите внимание на точки монтирования, опции, правильно указанные типы файловых систем.

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

При сборке ядра можно руководствоваться следующими соображениями. Во-первых, удаленная машина вряд ли будет подвергаться сколь-либо серьезному изменению аппаратной конфигурации, поэтому делать поддержку тех или иных устройств модулями не имеет смысла, равно как и использовать initrd, - чем проще и прозрачнее будет процесс загрузки, тем легче в него вникнуть и найти либо спрогнозировать возможные ошибки. Не забывайте, что мы все же устанавливаем систему на удаленном сервере, а не на локальной машине! В идеале можно вообще не делать в ядре поддержку загружаемых модулей (автор на протяжении нескольких лет успешно практикует такой подход). Но если вы решились собрать что-либо модулем - лишний раз убедитесь, что всего, что вкомпилировано в ядро, хватит для начальной загрузки и монтирования файловой системы, на которой лежат эти модули.

Важный этап - установка загрузчика ядра. В большинстве случаев GRUB будет вполне достаточно. При его настройке обратите внимание на путь к файлу ядра (туда нужно будет положить его после сборки) и на разделы (в GRUB для них специфическая адресация - об этом подробнее расписано в страницах помощи).

Чтобы не ошибиться при выборе драйверов, конфигурируя ядро, хорошо зарекомендовал себя следующий способ. Работая с LiveCD на этапе установки, нужно выполнить команду lsmod (выводит список загруженных модулей ядра). И далее, сравнивая имена модулей с теми, которые есть в страницах описания в конфигураторе ядра, можно сделать вывод - тот ли это модуль, который нужен, либо нет. Автор таким образом искал драйверы к редким моделям оборудования. Главное - чтобы его определил LiveCD.

Перед финальной перезагрузкой не забудьте установить пароль для пользователя root, отредактировать файл конфигурации сети и добавить в автозагрузку сетевой интерфейс и sshd. Обязательно размонтируйте все ваши жесткие диски и только затем давайте техподдержке второе указание - перегрузить сервер и вынуть компакт-диск из привода.

На этом установка должна окончиться, и дальше уже идет настройка системы под свои нужды.

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

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

Ссылки по теме:

  • Gentoo Linux
  • Gentoo Handbook
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Дата публикации:
Автор публикации: