Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Обновление Debian Lenny до Squeeze

Практика



Обновляем Debian Lenny 5.0 до Squeeze 6.0.

Мой первейший совет - по возможности сделайте полную резервную копию системы. Если это виртуальная машина - скопируйте файл виртуального жесткого диска куда-нибудь перед началом обновления. Потратьте это время для того, чтобы в будущем избежать полной переустановки в случае неудачи. Здесь речь идет даже не о неудачи обновления, а о неудаче, связанной с несовместимостью некоторых пакетов с Вашим контентом сервера (например, у меня такое произошло, когда оказалось, что несколько сайтов наших веб-мастеров не соответствуют требованиям PHP 5.3 и пришлось резко откатываться назад на Lennny с PHP 5.2.17 - чтобы дать возможность эти сайты перевести в нормальный вид).

В этой статье, в конце, присутствуют заметки на тему "а если у меня это домен-ноль для гипервизора Xen - как мне обновлять". Смысл всего - обновляете систему как обычно, а после этого выполняете эти заметки.

Итак, начнем.


Подготовка

1) Проверьте, что у Вас с пакетами все хорошо и всем пакетам разрешено обновляться:

# dpkg --audit

2) Фиксированные пакеты

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

Посмотреть фиксированные пакеты можно двумя командами (одна для aptitude, другая - для apt-get, они НЕ взаимозаменяемы - пакет может быть заморожен в aptitude и не заморожен в apt-get, и наоборот, поэтому выполнить надо обе):

# aptitude search "~ahold"
# dpkg --get-selections | grep hold

3) Обновляем все что есть перед апгрейдом системы

# aptitude update
# aptitude -f install


Обновляем Lenny --> Squeeze

4) В файле /etc/apt/sources.list все слова 'lenny' меняем на слова 'squeeze'.

5) Обновляем список репов

# aptitude update

6) Обновляем пакеты dpkg, aptitude и apt

# aptitude install apt dpkg aptitude

В процессе обновления система несколько раз задаст вопросы вида "у меня тут несоответствие, решением является обновление того-то и удаление версий пакетов таких-то". Соглашаемся.

Если система начинает нас донимать вопросами "Конфигурационный файл такой-то имеет более новую версию, чем у Вас, но Ваш файл был изменен... че делаем" - предлагается несколько вариантов. Смысл в том, что системе нужно от нас ответ - заменить наш конфиг более новым, но С ПОТЕРЕЙ всех наших изменений в старом, либо же оставить старый, который, возможно, не будет совместим с новой версией пакета. Тут решать исключительно Вам. Если старый конфиг Вам дороже - жмем на N или просто Enter (ответ "нет" стоит по-умолчанию), если же Вы готовы заново настроить указанные конфиг - жмем Y.

7) Обновляем систему

# aptitude full-upgrade

Во время обновления система Вас спросит - ставить ли командный интерпретатор dash (sh) в приоритет (т.е. пользовать ли его вместо bash). Выбирайте как Вам удобнее (если не уверены - жмите Да, да и все).

Далее последует вопрос - устанавливать ли новый grub (grub 2) вместо старого? Если не уверены - отвечайте "Нет" - в дальнейшем его можно будет обновить из командной строки:

# upgrade-from-grub-legacy

Если Вы используете Xen - я все-таки рекомендую обновить grub - сборка Xen 4.0.1-2 проверялась на последней версии загрузчика, а не старой.

Далее Вас спросят про перезапуск служб, работающих с NSS (и приведут редактируемый список этих служб). Отвечайте "Да", иначе некоторые службы могут "повеситься" из-за смены реквизитов доступа. То же самое касается служб, перезапускаемых из-за работы этих сервисов с PAM.

На вопрос "Перевести ли процесс запуска на процесс, основанный на зависимостях" отвечаем "Да".

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

8) Оно закончило работу

После обновления возможны 2 варианта:
а) Все прошло успешно, инсталлер обновил ядро до версии 2.6.32-5 (2.6.32-5-xen если у Вас машина паравиртуализирована или является доменом-0).
б) Исталлер закончил работу, но ядро оставил старым.

В случае (б) продолжаем (оно на самом деле ничего еще не закончило и дебиан у нас все еще ленни).

Ставим ядро ручками

# aptitude install linux-image-2.6.32-5-amd64

Здесь есть вариации:
linux-image-2.6.32-5-686 если у Вас 32-битная система
linux-image-2.6.32-5-xen-686 если у Вас 32-битная Xen-система
linux-image-2.6.32-5-xen-amd64 если у Вас 64-битная Xen-система

Запускаем процесс обновления еще раз:

# aptitude full-upgrade

Со второй стадии оно доставит все, что не доставило.

ЗЫ. Вариант (б) у меня случился 1 раз, обычно все прекрасно уже в варианте (а).

9) Окончание

Если у Вас это система на "голом железе" или HVM - перезагружаемся:

# reboot

Если у Вас это паравиртуальная система Xen или даже домен-0 - продолжаем (НЕ перезагружайтесь!)

А у нас Xen

10) А мы с Xen'ом

Если это не домен-0, а гостевая система и загрузка происходит не с PyGRUB (и не с PV-GRUB) - то Вам нужно скопировать новое ядро в домен 0 и подставить вместо старого.

Если же это домен-0 - обязательно проверьте, что Xen будет загружен при запуске системы. Смертельного не случится, если не загрузится - просто Вы не сможете запустить виртуальные машины, т.ч. все равно лезть в GRUB придется.

Итак, у нас это домен-0 Xen. Идем в /etc/grub.d (загрузчик то обновляли, я надеюсь, до 2й версии) и глядим - что нам пишет ls:

# cd /etc/grub.d
# ls
00_header        10_linux      30_os-prober  41_custom
05_debian_theme  20_linux_xen  40_custom     README

Если все так, как в примере - т.е. модуль "linux_xen" имеет приоритет выше, чем "linux" - то нам придется еще поработать (а так оно и будет, скорее всего). При таком раскладе - Xen в меню выбора загрузки операционной системы будет ниже, чем предложение по-умолчанию простого Linux. И загрузится просто Linux.

Но нам то надо, чтобы грузился по-умолчанию Xen. Правим это недоразумение:

# mv 20_linux_xen 09_linux_xen
# grub-mkconfig --output=/boot/grub/grub.cfg

Теперь у нас загрузится Xen.

Ну, в общем-то, все. Еще хотелось бы посоветовать в случае с обновлением Dom0 - находится все-же где-то рядом с физической консолью сервера - процедура тонкая и хуже будет, если где-то какая-то тонкость с Xen не пройдет и Вам все равно придется выезжать на место.

Ответы на вопросы для самопроверки пишите в комментариях, мы проверим, или же задавайте свой вопрос по данной теме.

создано: 2017-05-10
обновлено: 2021-03-13
253



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Операционная система LINUX

Термины: Операционная система LINUX