Как обновить Debian 6 Squeeze до Debian 7 Wheezy

Как обновить Debian 6 Squeeze до Debian 7 Wheezy

Сегодня мы поговорим о том, как обновить ОС Debian 6 “Squeeze” до Debian 7 “Wheezy”.
Debian 6 “Squeeze” перестала поддерживаться с 29.02.2016. Все пакеты перестали поддерживаться и обновляться. Поэтому настоятельно рекомендую обновить вашу систему до последней стабильной версии. Также сообщая, что Debian 7 “Wheezy” прекращается поддерживаться с 31.05.2018. Поэтому следующим шагом мы будем обновлять Debian 7 “Wheezy” до Debian 8 “Jessie”.
Обновление системы Debian 6 Squeeze до Debian 7 Wheezy делается подобно обновлениям предыдущих версий. Подобно, но не точно так же. Во-первых, именно для этого обновления не рекомендуется использовать aptitude. Aptitude можно использовать для поиска пакетов, каких-то проверок, но не для проведения собственно обновления. Пусть это и рекомендация, но к этому надо отнестись со всей серьёзностью. Для обновления будем использовать apt. Во-вторых, перед началом обновления следует заглянуть в официальное руководство по обновлению Debian 6. Читая руководство, особое внимание обращаем на три важных момента:
  • Повышенное внимание для определённых пакетов (4.5.8). Если в вашей системе используются: sudo, screen, модуль php Suhosin, тогда читаем и запоминаем, что нужно сделать с этими пакетами после обновления дистрибутива.
  • Обновление ядра (4.6). Следует проверить установлен ли мета-пакет linux-image-*. Для этого даём команду:
dpkg -l "linux-image*" | grep ^ii
или
aptitude search '~nlinux-image~i'
И если в списке есть пакет, то значит всё в порядке. А если список пуст, то устанавливаем нужный пакет так, как описано в официальном руководстве.
Примечательно, что при новой установке Debian 7 “Wheezy” будет установлено ядро третьей версии, а при обновлении, в большинстве случаев, останется ядро той версии, которое было до обновления. Его можно будет обновить позже.
  • Устаревшие пакеты (4.8). Если в системе присутствуют устаревшие пакеты, то следует учесть, что они не будут больше обновляться. Можно продолжать пользоваться этими пакетами, но приблизительно через год после выхода Wheezy проект Debian, обычно, прекращает выпускать для них исправления и оказывать другую поддержку. Рекомендуется начать использовать альтернативные пакеты (если есть).

Сначала смотрим версию системы:

cat /etc/debian_version
Должно быть, например 6.0.10. Дальше смотрим, что у нас записано в файле /etc/apt/sources.list:
cat /etc/apt/sources.list
Должны быть раскомментированы следующие строки:
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
deb http://ftp.ru.debian.org/debian/ squeeze-updates main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ squeeze-updates main contrib non-free

Обновляем предыдущую версию:

apt-get update && apt-get upgrade

После этого перезагружаемся и проверяем, не осталось ли в системе сломанных или на половину установленных пакетов:

apt-get install -f
Если есть, исправляем, если нет, то проверяем, есть ли в системе зафиксированные пакеты:
aptitude search '~ahold'
Рекомендуется выключить фиксацию пакетов. Делается это командой:
aptitude unhold имя_пакета
Затем очищаем кэш от загруженных пакетов:
apt-get clean

Очень важно! Делаем резервную копию. Для этого не жалеем ни времени, ни сил. Если что-то пойдёт не так, то можно будет вернуться к старой, рабочей версии.

После того как обновлен старый дистрибутив и создана резервная копия системы, меняем в /etc/apt/sources.list squeeze на wheezy и выключаем лишние секции. В итоге должно получиться следующее:

deb http://ftp.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.debian.org/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
deb http://ftp.ru.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.ru.debian.org/debian/ wheezy-updates main contrib non-free

Проводим предварительное (минимальное) обновление, чтобы разобраться с конфликтами, если таковые появятся. Обновляем список пакетов:

apt-get update && apt-get upgrade
В процессе обновления, перед настройкой пакетов может появиться текст, в котором описываются изменения в некоторых из них (cron, pam, patch, mysql и т.д.). Не пугаемся, это работа пакета apt-listchanges, нажимаем клавишу «q» и система продолжит обновление. То же самое может возникнуть и в процессе полного обновления, но в этом случае выводится информация о пакете eglibc.
Если обновление заканчивается сообщениями о не установленных пакетах, частично установленных пакетах или неразрешенных зависимостях, тогда занимаемся устранением этих конфликтов:

apt-get install –f
или
dpkg --configure -a
Если конфликтов нет или они устранены, то делаем полное обновление Debian:
apt-get update && apt-get dist-upgrade
Во время обновления, появляется запрос о перезапуске служб: «Restart services during package upgrades without asking». Нажимаем «Yes».
По окончании процесса обновления перезагружаем систему:
reboot

И проверяем версию:

cat /etc/debian_version
Должна быть как минимум 7.11

Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.