Как обновить Linux.,
В один прекрасный момент вы вдруг
обнаруживаете, что ваша операционная система несколько устарела.
Тогда вы отрываете от сердца десять тысяч и бежите покупать новый
дистрибутив. Прижав к сердцу дорогие коробочки с дисками, вы
несетесь домой в предвкушении тех красивостей и полезностей,
которые вам предстоит увидеть. На всех парах вы подбегаете к
компьютеру и... тут вы начинаете понимать, что вам предстоит
сносить вашу гиперудобно настроенную под вас систему и снова
настраивать свежепоставленную. Но зачем? Ведь можно же как-то
сохранить то, чего вы достигали путем упорного чтения manual'ов,
HOW-TO. Но как? В этой статье я попробую описать, как наилучшим
образом полностью (подчеркиваю это слово) обновить систему, но
сохранить при этом все настройки. Т.е. в статье не пойдет речь,
как поставить пару новых пакетов и просто обновить один какой-то
продукт.
За основу возьмем некогда написанные Грегом Луисом
заметки и добавим к ним свой опыт. Просто зачастую английский
текст непонятен рядовому русскоязычному пользователю, а перевод не
всегда ясно передает смысл. Итак, начнем.
Сразу же встает
вопрос: обязательно ли разрушать до основания систему, чтобы
обновить ее? Это надежнее, хотя и грубовато. Если вы установите
новый дистрибутив поверх старого, то есть вероятность получить
смесь старых и новых программ, конфигурационных файлов и, скорее
всего, полностью запутаться, пытаясь разобраться в этой мешанине.
Полная очистка системы и установка затем только того, что
необходимо, — очень эффективна для получения хорошего
результата.
Следующий вопрос: много ли времени это все
займет? Это, конечно, зависит от степени сложности настроек вашей
системы. Удачная переустановка занимает примерно часа два на
создание резервных копий, около полутора часа — установка системы
до момента разрешения входа в систему и еще полдня или около того
на восстановление менее важных вещей. Со временем всплывают
небольшие недоделки, но они исправляются по мере
нахождения.
Теперь, вооружитесь мужеством, стойкостью,
страхом или чем-то еще — и поехали! Совет: записывайте все, что
делаете. Очень важно иметь полный подробный журнал всех ваших
действий в процессе приготовлений и переустановки. Особенно важно
иметь список всех резервных копий, которые вы собираетесь сделать
при приготовлениях к очистке системы.
Сделайте полную
резервную копию вашей работающей системы. Подразумевается, что вы
не просто возьмете и скопируете файлы системы, а сделаете копию
именно всего раздела в целом.
Полная копия не пригодится
вам для восстановления отдельных файлов — в ней слишком много
лишнего, она понадобится для того, чтобы восстановить систему
полностью, если вы все же решите, что не в состоянии расстаться с
любимой системой или по иным причинам. Если вы уверены, что вы не
будете восстанавливать предыдущую систему, то полную копию можно и
не делать.
В дополнение к полной копии, создать небольшие
копии отдельных сегментов системы, которые будут восстанавливаться
в новой системе полностью.
Для сохранения сил и времени, в
том случае если у вас все еще есть старый дистрибутив, вы можете
сделать копию только тех файлов, у которых mtime (время
модификации) или ctime (время создания) более поздние, чем дата
выпуска этого дистрибутива.
Создайте резервную копию каталога
/etc и его подкаталогов в каком-нибудь надежном месте. Лучше
всего, если это будут флоппики или "дискетный" винчестер (это
такой, который зачастую используется в качестве дискеты большого
объема:). Тут причины немножко другие: вы не будете
восстанавливать эти файлы (по крайней мере, большинство из них),
но вы можете сравнить эти файлы с новыми, созданными в процессе
установки. Зачем? В новых файлах могут быть данные, отсутствующие
в старых, или что-то может быть сделано по-новому. Изменения в
протоколах, добавление новых средств, применение новых функций в
существующих утилитах могут привести к изменению формата
конфигурационных файлов и загрузочных скриптов из дерева каталогов
/etc, и, скорее всего, вам придется вносить ваши старые настройки
в эти новые форматы, одновременно используя улучшения и
дополнения.
Сделайте отдельные копии групп файлов, которые
вы хотите сохранить. Эта часть процесса может наиболее сильно
различаться на разных системах. В любом случае вам придется
смотреть в каждый каталог, содержащий файлы, не входившие в ваш
старый дистрибутив Linux, или файлы, более новые, чем файлы с
вашего нового дистрибутива, и выделить только те файлы, которые вы
хотите сохранить.
Замечание: Другая возможная стратегия
состоит в том, чтобы сделать копию файлов с более поздними mtime
или ctime, чем дата старого дистрибутива, и затем восстановить
необходимые файлы с этой копии. Если вы решитесь придерживаться
этого способа, то помните, что новый дистрибутив может содержать
более новые файлы, чем те, что вы сохранили.
Приготовьте
загрузочный и спасательный флоппики — на всякий случай. Описание
того, как это сделать, должны быть приведены в руководстве по
установке вашего дистрибутива. Кроме того, я уже как-то писал про
эту процедуру (смотри архив газеты или на моем сайте
www.linux4u.narod.ru).
После всех этих приготовлений вы
готовы к Большому Делу.
Cделайте копию каталогов /root и
/home. Это последнее, что надо сделать в старой системе до ее
полного уничтожения. Этот шаг делается последним, чтобы сохранить
наиболее актуальную информацию пользователей.
Теперь вы можете
запускать инсталляцию Linux. Во время инсталляции вы можете просто
удалить разделы со старой системой, а потом заново создать их,
либо указать, что их надо отформатировать (если это
предлагается).
Во время установки создайте загрузочный
флоппи-диск. Это поможет избежать многих вероятных проблем при
настройке и работе с новым Linux'ом. Не забудьте также установить
пакеты разработки и исходные тексты ядра, если вы захотите его
пересобрать. В новой системе, загруженной с жесткого диска,
исправьте файл /etc/fstab, чтобы увидеть разделы вашей системы.
Этот шаг необходим в том случае, если установка автоматически их
не прописывает, а на разделах как раз-таки и лежат резервные копии
сохраненной информации.
Восстановите данные конфигурации в
каталог /etc и его подкаталоги. Как было описано выше, нельзя
просто скопировать все старые файлы в каталог /etc и надеяться,
что все заработает. С некоторыми файлами это, конечно, получится;
например, с /etc/XF86Config (если вы используете ту же версию
Xfree86 и ту же видеокарту, что и в старой системе). В большинстве
случаев лучше использовать diff для сравнения старых и новых
файлов до начала копирования. Обратите особенное внимание на
различия файлов в каталоге /etc/rc.d, потому что может
понадобиться ручное создание файлов конфигурации, вместо
копирования старых скриптов из резервной копии.
После
того, как все будет завершено, перезагрузитесь.
Настройте и
соберите ядро Linux. Даже в том случае, если ядро в новом
дистрибутиве содержит все необходимые вам драйверы, лучше
пересобрать ядро, чтобы избавиться от огромного количества лишних
драйверов и функций, встроенных в универсальные ядра. За подробной
информацией обращайтесь к документу "HOWTO: Ядро" (Kernel HOWTO).
Сначала установите новое ядро на флоппи-диск, убедитесь, что оно
нормально работает, и только в этом случае установите его на
жесткий диск, запустите lilo и
перезагрузитесь.
Восстановите файлы из ранее сделанных
резервных копий. Некоторые программы придется переустановить из
старых каталогов исходных текстов. Придется также проверить
восстановленные программы на предмет наличия и правильности
конфигурационных файлов, библиотек и т.п. Пересмотрите настройки
систем безопасности. Проверьте правильность установок доступа к
файлам и каталогам. Особенно осторожным в этом вопросе надо быть,
если у вас установлен ftp-сервер.
Теперь разрешите вход в
систему, если вы в сети. У вас все настроено и работает. В течение
некоторого времени, конечно, придется подчищать хвосты, но
основная часть работы уже сделана. Наслаждайтесь!
Хочу
заметить, что вышеописанные инструкции вы используете на свой
страх и риск. Такую процедуру стоит выполнять лишь опытным
пользователям, а новичкам лучше набираться опыта. Совет им, как
всегда, один: RTFM:).