Установка старой CentOS

Иногда сверху падает задача (или даже сам придумываешь решение) в стиле «А поставька старую CentOS». Не в смысле «поставь нам 6 версию», а в стиле «поставь на 6.5» (при текущей на данный момент 7.3 актуальной и 6.9 «oldstable» если можно так сказать).

Я прям обязан сделать ремарку: если это решение пришло вам в голову, то скорей всего что-то в ваших рассуждениях пошло не так. Нужно немного откатиться назад по цепочке «как я додумался до такого решения», понять «в какой именно момент вы свернули в эту сторону» и «пойди другим путем». Нет, я верю что бывают ситуации когда нужно поставить «более старую ОС чем текущая», но на 100% уверен что такое можно либо использовать в глубоком интранете (и никогда никому об этом не рассказывать), либо использовать для тестирование\проверки и тп. То есть в режиме «поставил, посмотрел, удалил» и никак иначе.
Если вы покупаете какое-то ПО с «настолько странным» требованием к версии ОС, то вы либо криво смотрите (ага, тут недавно был запрос на «CentOS 6,7 + ispmanager», допрос с пристрастием показал что клиент увидел в требованиях «OS: CentOS 6, 7» не придал значения проблему и подумал что имеется ввиду «Centos 6.7», а не «Centos 6 или CentOS 7»), либо кто-то забыл обновить инфу на сайте (стоит спросить разработчиков или тупо попробовать), либо работаете с государством (или крупными сильно бюрократизированными компаниями), где маразм и священная сертификация значит больше, чем здравый смысл (ага, как-то почти 2 недели пытался отбиться от задачи, которую ставил IT директор крупной, но сторонней компании «поставить ПО внутренней разработки для мониторинга использования лицензий оракла», при том что ПО заточено под Centos, ходит по серым адресам на внутренние сервера компании и периодически выкачивает какие-то скрипты и запускает их от рута. При этом я ответственен только за российский сайт, доступа во внутреннюю сеть с моих серверов нет от слова «совсем», на серверах по просьбе разработчиков стоит дебиан, а оракл даже рядом не валялся. При этом не помогало ни то, что ответственность за работу серверов полностью на нас, а что нам там прилетит в запускаемых скриптах неизвестно, ни то, что оракла нет и ничего другого. Единственный вариант как я смог решить это: устроил итальянскую забастовку и на втором пункте (первый был «скачать пакет с 10.10.X.Y, но мне его прислали почтой) инструкции по установке «Check os version: cat /etc/redhat-release» спросил «а какой результат должен быть? мне кажется что-то пошло не так, у меня «No such file or directory» мне быстро «дали спеца, который сейчас тебе поможет и все объяснит», спец подумал пару часов и спросил «А кто ОС сетапил?» получив ответ «я лично своими руками, а что?» ответил «видимо она как-то не так встала, ее бы ресетапнуть по хорошему», я соответственно «не друг, она в проде, сервер под нагрузкой, вывести его из под нагрузки можно конечно, но на время ресетапа мы останемся без резерва, к тому же ввод обратно в строй это часов 12 на синхронизацию данных, да и к тому же у меня все работает и вопросов к ОС нет, может у нас инструкция неправильная? а то согласовывать долго такие действия будем, а результат непонятен», он спросил «а что за ОС?», «дебиан, я ж вон выше писал», «Аааа, так тогда тебе это не надо, это только на редхад-базед ставиться, а что-ты там писал я не видел, меня только сейчас в копию добавили, у тебя все остальное тоже на дебиане?», «ага», «ну тогда все, ничего ставить не нужно, вопрос закрыт»).

Ну да ладно, это я что-то отвлекся, ближе к сути. Задача: поставить для примера CentOS6.2 i386 для теста <хрен знает что вы там собрались тестировать> (если обновление, то лучше снять образ с боевого сервера, который будете обновлять). Большинство почему-то идут следующим путем: ищут где-нить CD\DVD образ этой самой CentOS 6.2 i386, находят торрет на варезнике с одним сидом, качают его 6 часов на скорости 5кб/с, на отметке 99% единственный сид уходит с раздачи, поиски повторяются, находится физический CD с нужной версией в офисе, но последние 5 лет на этот CD Вася ежедневно ставил чашку с кофе. Диск отмывается, пихается в найденный непонятно-где привод, диск не читается, у бухгалтера под угрозой физической расправы отнимается последний на весь офис «более скоростной DVD привод», сетап начинается, но в середине начинается ругань на нечитающийся диск, после этого с диска снимается побитовая копия (dd с пропуском ошибок), сверяется с образом, скаченным на 99.5% с варезника, при помощи hex-редактора происходят попытки восстановить поврежденные файлы. Тут мимопроходящий Петя спрашивает «чем это ты занят» услышав что ты пытаешься реанимировать установочный диск старой версии CentOS интересуется какая версия тебе нужна и припоминает что кажется у него была точно нужная тебе, и сейчас он посмотрит. Вы вдвоем идете к его компу, он подключается к домашней файлопомойке и начинает через mc перебирать все 10Тб файликов, попутно показывая тебе фотки своих детей и записи встречи нового, 2003 года. Через полчаса нужный образ находится, еще через час вы оба понимаете что качаться он будет еще минимум трое суток, а жена Пети на отрез отказывается «перестать качать новый сезон своего сериала» и заявляет что не нужно использовать домашний интернет сидя на работе. Петя обещает завтра принести этот образ на флешке, но забывает и приносит его только через неделю, образ оказывается с правильной версией, но с неправильной битностью. Идет откат к варианту «скрестить образ с торрента и образ с диска Васи через hex-редактор», но через трое суток борьбы с hex-редактором начинает появляться мысль о суициде и тут приходит Петя и приносит флешку с правильным образом. Установка успешно завершается, ура, победа. DVD-привод возвращается бухгалтеру, CD-диск Васе, наш герой горд собой. Как итог — убито полторы недели времени, куча нервов, и сзади ворчит Вася и требует вернуть ему его диск (ведь отдавал он совершенно точно не белый), бух обещает лишить премии весь отдел, а кто и зачем просил «поставить эту древность» уже вспомнить просто нереально, но герой всерьез раздумывает над домашним хранилищем всех версий всех дистрибутивов (ну так, на случай если в будущем возникнет еще похожая задача).

А вот как правильно делать: идем по адресу http://vault.centos.org/ находим директорию с нужной версией образа и качаем (в случае 5/6 ветками качать полный образ не обязательно, вполне пойдет netinstall, в обозначенном выше случая качаем http://vault.centos.org/6.2/isos/i386/CentOS-6.2-i386-netinstall.iso или даже только ядро http://vault.centos.org/6.2/os/i386/images/pxeboot/vmlinuz и initrd http://vault.centos.org/6.2/os/i386/images/pxeboot/initrd.img если как и предпочитаете pxe), после этого начинаем сетап стандартным образом (либо с netinstall-образа, либо в моем случае кладем указанные файлы на tftp-сервер и просто отдаем ссылки на них в нужных параметрах загрузки), а потом в строку «Url setup» сбиваем «http://vault.centos.org/6.2/os/i386/» (или ссылку на аналогичный каталог для вашей версии, если изначально качали 64-битную версию, то ссылку соответственно будет «http://vault.centos.org/6.X/os/x86_64/»):

После этого сетап продолжаем «как обычно».

Зы если хотите доставить что-то после сетапа из «не актуального репа», то нужно поправить файлики в /etc/yum.repos.d (убрать mirrorlist, в baseurl вписать нужную ссылку) и запускать yum c параметрами «—disableplugin=fastestmirror».
Если же вы так извращаетесь не с 6 Centos, а с какой-то еще более древней, то вероятно сами знаете что и для чего делать.

Зыы если нужно «обновиться» с условной 6.2 до скажем 6.4, то вписываем 6.4 в файлы в /etc/yum.repos.d (в baseurl) и делаем «yum —disableplugin=fastestmirror update».

You can leave a response, or trackback from your own site.

Leave a Reply

Subscribe to RSS Feed