LINUX: модернизация производственного оборудования
Вопрос
Наши производственные машины работают на Debian etch. Теперь, когда они наконец выпустили lenny, придет день, когда нам нужно обновить эти системы. Как я могу сделать это с минимальным риском? Есть ли предпосылки, подготовка запасных сценариев и нужен ли мне план Б на случай, если что-то пойдет не так? Помимо двоичных пакетов, обрабатываемых установщиком Debian, на компьютерах работает пара скомпилированных приложений.
Решение
Лично я бы не стал обновлять ОС на важном сервере. Обновления ОС всегда могут привести к незначительным ошибкам, будь то Windows, Linux или что-то еще. Debian стал лучше, чем раньше; dist-upgrade не подключает машину почти так же часто, как раньше. Но для производственных машин нет смысла рисковать.
Установите новые серверы с новой ОС и развертыванием приложений и меняйте их по мере необходимости. Не нужно спешить заменять Etch по всей компании за один раз. Это будет поддерживаться с обновлениями безопасности еще некоторое время.
Другие советы
Только что выполнив этот переход для некоторых блоков разработки, я хотел бы отметить, что вы, вероятно, захотите перекомпилировать любые пользовательские библиотеки, с которыми вы будете ссылаться. Ленни использует GCC 4.3, тогда как Etch использует 4.1. Вывод одного из компиляторов не очень совместим с другим. Вам может понадобиться установить пакет gcc-4.1 для таких вещей, как компиляция пользовательских модулей ядра. Р>
Если вы используете сторонние инструменты, которые имеют интерфейс плагина, у вас могут возникнуть проблемы там. У меня были проблемы с работой плагинов Matlab (mex-файлов).
Я бы предложил начать с тестовой системы. Поработав некоторое время и убедившись, что все работает, переключите его на рабочую коробку.
Большинство людей не обновляют производственные серверы именно по этой причине - если он работает правильно, вы не будете обновлять, если у вас нет веских причин.
Предполагая, что у вас есть устройство разработчика, построенное аналогично производственному компьютеру, вы можете смоделировать обновление на устройстве разработчика.