Как стать автором
Обновить

Дело было вечером, делать было нечего, или как установить Gentoo без клавиатуры

Время на прочтение5 мин
Количество просмотров9.4K

Юмористический рассказ, основанный на реальных событиях.


Install Gentoo


Дело было одним скучным вечером. Жены дома нет, алкоголь закончился, дота не подключается. Что же делать в такой ситуации? Конечно же, собирать Gentoo!!!


Итак, начнём!


Дано: старенький сервер с 2Gb RAM, AMD Athlon Dual, два жёстких диска по 250Gb, на одном из них установлена система и нерабочая батарейка биоса. Так же Телевизор Sony Bravia с VGA-входом и мышка. А так же Wi-Fi роутер и рабочий ноутбук с Manjaro Arch Linux и окружением i3.


Требуется: установить Gentoo.


День 1


21:00 Достаю из шкафа старый пыльный сервачек. Оттуда же достаю коробку с проводами и прочим барахлом и старенький телик (шкаф-купе в прихожей большой, все поместилось именно там). Роюсь в коробке, распутываю провода, достаю патчкорд, VGA-кабель, мышку, кабель питания и набор отверток (вдруг понадобится).


21:15 Начинаю смотреть на все это и размышлять на вопросом «А как это сделать-то?». Ведь самого главного атрибута для установки Gentoo — клавиатуры-то у меня и не оказалось!


21:20 Думаю, «А что если вытащить из сервера винт, воткнуть его в usb-переноску и развернуть на нем систему? Не кошерно, надо же ядро собирать на том же железе...». Пока я размышлял над этим вариантом, успел вытащить винт и засунуть его в переноску, но когда закручивал последний болтик в коробочку, решил что так не пойдёт!


21:30 Раскручиваю болтики обратно, ставлю винт на место в сервер. Размышляю дальше: «Вариант остаётся только один — SSH-доступ. Может есть такой LiveUSB с уже запущенным sshd?»


21:35 Захожу на официальный сайт Gentoo. Качаю по привычке «Minimal Installation CD». Отменяю. Без клавиатуры — это дохлый номер! Ниже ссылка на «Hybrid ISO (LiveDVD)». Ага, думаю я, вот там-то все есть! Качаю и разворачиваю на флешку.


21:50 Несу сервер, телик, провода, мышь с кухни, где происходили мои размышления и приготовления, в дальнюю угловую комнату. Сервер шумит как промышленный пылесос, так что участковый бы точно зашёл в гости! Все подключил и запустил машину.


22:00 Грузится предыдущая ОС! Выключаю сервер и начинаю размышлять: «Батарейка сдохла, в биос не зайти (клавиатуры-то нет), а надо, во что бы то ни стало, загрузиться с флешки!». Разбираю сервер, отключаю один винт. Запускаю. Грузится предыдущая ОС! Включаю винт обратно, отключаю другой! Работает!


22:10 А вот и долгожданный экран выбора варианта загрузки с LiveUSB! Время оставшееся до автоматического выбора первого варианта загрузки бежит, «Сейчас все будет, надо лишь немного подождать», радуюсь я! Проходят заветные 30 секунд, экран гаснет, и ничего не происходит. «Ладно, пока грузится, пойду покурю...», решил сделать перерыв и отдохнуть от этого шума.


22:15 Возвращаюсь в «комнату шума». Экран чёрный и так же ничего не происходит! «Странно...», подумал я, «По-любому она бы уже загрузилась!». Кстати, все усугубляется еще и тем, что мой телик, не всегда показывает, что происходит на экране, какие-то режимы он не воспринимает и отказывается вещать картину происходящего… Перезагружаю сервер. Сижу, смотрю… Опять чёрный экран, все тоже самое. Ну я психанул, и начал тыкать по кнопкам мыши… И, о Боже, оно включилось и пошла загрузка. Позже я обнаружил, что загрузка продолжается только после нажатия маленькой кнопочки на этой чудо-мышке! Не будь этой кнопочки, Бог знает, чем бы этот вечер еще закончился!? Ведь, цель поставлена, и надо достичь её любым путём!

Фотография мышки
мышь

22:20 В ушах звенит, но я продолжаю идти к своей цели! Gentoo загрузилась! Краски радуют глаз! Мышка ходит по экрану! А внизу на писано «No password needed for login», это как-раз хорошо, ведь, у меня нет клавиатуры! На экране два поля: выбор рабочего окружения и пароль, ну и кнопка входа. LiveDVD Gentoo предлагает довольно обширный выбор окружений, среди них Fluxbox, Openbox, «крыса» (xfce), «плазма» (plasma) и т.п. Вариант с выбором «крысы», мне показался, отличным выбором! Захожу в рабочее окружение «крысы». Прекрасно! Есть терминал, но зачем он мне, у меня же нет клавиатуры!

Экран входа в систему
Экран входаВыбор окружения

22:25 Начинаю искать какую-нибудь экранную клавиатуру или типа того. Нашел только «Character Map». «Ну и отлично, вот он мой выход!», подумал я. Но не тут-то было! Текст натыкать можно, скопировать, вставить можно, но как нажать Enter!? Напомню, задача — запустить sshd, которая сводится к вводу в терминале «sudo /etc/init.d/sshd start», и нажатии на кнопку Enter, которой у меня нет! Что же делать? Но выход есть!


22:30 Время отдыха от шума. Иду на кухню и сажусь за ноутбук. Любые терминалы, если в них вставить скопированный текст с переводом строки, выполнят команду, т.к. воспринимают перевод строки как Enter. Итак, решение найдено! Нужно залить в интернет HTML-страничку с командой и переводом строки. Именно HTML, потому как, простой текстовый файл браузер откроет в одну строку «сожрав» все переходы на новую строку. Итак моя страничка выглядит так:

<html>sudo /etc/init.d/sshd start<br/>1</html>

«1» нужна чтобы можно было скопировать переход на новую строку, иначе копируется только одна строка, сколько «br» не ставь. Заливаю файл, на некий сайт по ссылке «mydomen.ru/1.htm».

22:40 Возвращаюсь в «комнату шума». Главное — успеть вернуться до включения скринсейвера, который при выходе из него говорит, что он старой версии и с пустым паролем не пустит обратно в систему! Открываю с предвкушением успеха браузер и таблицу символов! Набираю «mydomain». Ищу точку…


22:50 Нашёл точку! Надо выбрать режим просмотра «By Unicode Block». Набираю адрес дальше, благо «/» и цифры нашлись вместе с точкой! Копирую текст, вставляю в адресную строку, жму перейти. Время в системе из-за севшей батарейки биоса установлено как «01.01.2002», а при таких условиях SSL-сертификаты не работают!

Таблица символов
Меню режима просмотраТаблица символов

23:00 Я на кухне, отдыхаю от шума. Главное, долго не отдыхать, а то включится скринсейвер! Настраиваю NGINX для отдачи моего файла без HTTPS по адресу «mydomain.ru/2.htm», т.к. старый адрес был с редиректом и закешировался браузером.


23:05 Немного отдохнувший от шума и с предвкушением успеха, набиваю заново ссылку, ведь кнопку «Backspace» никак не эмулировать! Ну это для смеха, а на самом деле просто жму в таблице символов «2», выделяю, копирую и заменяю в адресной строке. «Перейти»! «Ну неужели!», подумал я. С чувством гордости копирую две строки со странички и выставляю в терминал. SSH-сервер запущен, пора пробовать подключаться, посмотрев IP-адрес в web-интерфейсе управления на Wi-Fi роутере! Вообще-то, нет, ещё рано! Жаль только, я сразу этого не понял…


23:15 Возвращаюсь к «мышке», добавив до этого строчку

sudo passwd<br/>123<br/>1

и обновив HTML-файл на сервере. Благо, больше вводить ничего не надо! Обновляю страницу. Ну и по старой схеме копирую строки в терминал для запуска «sudo passwd» и отдельно два раза для ввода и повторения пароля.

23:17 Подключился! Теперь мне не страшен скринсейвер и шум!


01:00 О процессе, который я проходил с момента установки ssh-соединения и до данного момента есть подробное описание в множестве источников, наиболее полное представлено в Gentoo Handbook. Собрал ядро, установил grub и в него собранное ядро. Настроил сеть и SSH на новой системе. Готово, «reboot»!


День 2 — выходной


10:00 Вернулся к своей задаче. Включил сервер. На экране ничего не происходит, сервера в сети нет! Подумал, проблемы с сетью. Загрузившись с LiveDVD понастраивал сеть, но не помогло…

При запуске сервера, на моем стареньком телевизоре
image

10:30 Решил, что неплохо было бы изучить логи загрузки. Логов нет! «Ага, значит до загрузки системы дело не дошло! Но что же там написано на экране?», подумал я. Немного подумав о причинах, почему телевизор ничего не показывает, выдвинул гипотезу, что он не может показать то разрешение в котором находится консольный вывод. На экране, вообще-то, так и написано…


11:00 Поменял настройки GRUB на вывод 640х480. Помогло. Написано «Loading Linux 4.19.27-gentoo-r1 ...». Оказалось, напортачил при сборке ядра.


11:30 Ставлю genkernel, с ручной настройкой ядра буду экспериментировать потом. Не ставится! Оказывается косяк с датой. Её лучше при каждом запуске актуализировать, много зависит от этой даты. Я бы её и выставил в биосе, но для этого нужна клавиатура… Меняю дату на актуальную.


14:00 Ура! Ядро скомпилировалось! Залил ядро в загрузчик, перезагрузился. Наконец-то все заработало!


Первая цель достигнута!


Дальше я собираюсь поставить на второй жёсткий диск CentOS так же без клавиатуры, но уже из дженты! Но об этом я напишу во второй части. В третьей части буду проводить нагрузочное тестирование веб-сервера с простеньким приложением на обеих этих системам и сравнивать RPS.

Теги:
Хабы:
+16
Комментарии33

Публикации

Изменить настройки темы

Истории

Работа

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн