После 24 месяцев продолжительной разработки проект Debian рад сообщить о новой стабильной версии 6.0 (кодовое имя «Squeeze»). Debian 6.0 — это свободная операционная система, впервые представленная в двух вариантах. Наряду с Debian GNU/Linux, в этой версии добавлен Debian GNU/kFreeBSD в качестве «технологической пробы».

Вот такую замечательную новость я узрел, и сразу решил обновиться. Всегда хочется иметь stable релиз, и наконец уже забыть про использование бэкпортов… Но одно дело поставить систему на свежую машинку, и совсем другое – обновить рабочий сервер.
Как без потерь обновить мой Debian до нового релиза Debian 6.0 «Squeeze»?
Именно такой вопрос посетил меня сегодня. Ну и естественно это оказалось просто до безобразия, ну или почти :)

Первым делом я решил проверить, все ли нормально с зависимостями на моей системе. Я достаточно часто ставил «левые» пакеты, плюс самосбора полно. Поэтому, для избежания дальнейшего секаса, такая проверка была необходима, чего и вам советую. Сделать это достаточно просто. Для этого выполните:
apt-get update
apt-get -f install

Если есть ошибки – исправляйте, если нет, то все ок, и едем дальше.
Убедившись, что с зависимостями у меня все ровно, я решил удалить хвосты от старых пакетов. Можете считать меня извращенцем, но я делаю это так:
dpkg -l | grep -v «ii «
Выбираю все пакеты которые не ii, и удаляю их. Чаще всего весь этот хлам метится как ‘rc’
dpkg -P <список пакетов>
Чтож, теперь наша система готова обновляться. Но перед началом обновления, я вам настоятельно рекомендую полностью забакапить /etc т.к. в момент обновления некоторые конфиги могут пострадать :)

Для начала обновления нужно отредактировать список репозиториев откуда тянуть пакеты. У меня он (/etc/apt/sources.list) выглядит так:
deb http://ftp.de.debian.org/debian/ squeeze main non-free contrib
deb-src http://ftp.de.debian.org/debian/ squeeze main non-free contrib
deb http://security.debian.org/ squeeze/updates main non-free contrib
deb-src http://security.debian.org/ squeeze/updates main non-free contrib

Ну а теперь поехали обновлять:
apt-get update
apt-get install apt dpkg aptitude
Теперь у нас используется репозиторий squeeze, и мы смело можем перейти непосредственно к самому обновлению:
aptitude update
aptitude full-upgrade

Собственно таким методом я обновил более 10 серверов. Проблем при обновлении почти не возникло. Единственное, что пришлось править после обновления – это конфиги dovecot и mysql. В остальном все прошло гладко.

Удачи :)