Как обновить Debian со старой версии до более новой?
Автор Алексей | HiTex.BY, Последнее изменение: Алексей | HiTex.BY на 25 июля 2023 8:57
|
|
На примере Обновим Debian 9 (Stretch) до Debian 11 (Bullseye) с пошаговым руководством. Как узнать версию DebianЧтобы узнать текущую версию Debian, введем команду:
![]() Создание Backup системыСоздать Backup системы перед обновлением нужно. Какими средствами и в каком объеме — тема достойная отдельной статьи. Здесь на этом не будем останавливаться. Напишу только про себя. Поскольку у меня на обновляемой системе стоит сервер 1С, то я сделаю выгрузку Информационной базы 1С (файл с расширением .dt, содержащий базы данных, конфигурацию и список пользователей — все необходимое для восстановления 1С). А с помощью утилиты rsync сделаю удаленную копию всей обновляемой системы. И это не займет много времени, поскольку копия обновляемой системы делалась ранее, а утилита rsync позволяет передавать только изменения в файлах. Как обновить Debian по SSHЕсли подключиться к обновляемой системе по SSH, запустить обновление Debian и во время обновления произойдет разрыв SSH соединения, то процесс обновления Debian будет прерван. А это может вызвать неработоспособность обновляемой системы. Программа Screen для безопасного обновленияЧтобы безопасно обновить Debian по SSH, необходимо запускать процесс обновления в программе screen. Программа screen гарантирует, что процесс обновления не будет прерван, даже если разорвется SSH соединение. Программа screen обеспечит безопасное повторное подключение по SSH для продолжения наблюдения за обновлением Debian. Устанавливаем программу screen:
Запускаем программу screen:
Видим окно приветствия программы screen: ![]() Нажимаем клавишу Enter на клавиатуре, окно приветствия программы screen пропадает, и видим обычное приглашение командной строки. И вот теперь мы готовы безопасно запускать обновление Debian. Все команды обновления будут запущены внутри программы screen со всеми преимуществами, описанными чуть выше. Чтобы завершить работу программы screen, нужно набрать:
Появится надпись [screen is terminating]: ![]() Чтобы отключиться от screen, не завершая работу программы screen, нужно нажать комбинацию трех клавиш Ctrl + A + D. Появится надпись [detached from XXXX.pts-0…..]: ![]() Цифры XXXX — это ID (идентификатор) screen, который понадобится для повторного подключения к screen. Для повторного соединения со screen нужно набрать:
Если screen запущено несколько, то для повторного соединения со screen c идентификатором YYYY нужно набрать:
Как обновить Debian 9 до Debian 10 (Buster)Не рекомендуется обновлять Debian с пропуском версии, т.е. с Debian 9 сразу до Debian 11. Поэтому сначала обновимся до Debian 10. Обновляем Debian 9 до последней подверсииОбновим текущую систему Debian 9 до последней подверсии. Первым делом обновляем списки пакетов из репозиториев (хранилищ пакетов Debian):
Обновляем пакеты, установленные в системе (никакие ранее установленные пакеты не удаляются):
Обновляем пакеты, которые имеют сложные зависимости (могут удаляться устаревшие пакеты):
Удаляем пакеты, которые были ранее установлены автоматически, но больше не требуются:
Перезагружаемся и проверяем, какая подверсия Debian 9 стала:
Обновляем файлы репозиториевРепозитории — это хранилища. В нашем случае, репозитории — это сетевые хранилища дистрибутивов Debian и программ для Debian. В файлах репозиториев указываются пути к репозиториям и версия Debian, которая нужна. Нам нужен Debian 10 (Buster), поэтому правим файл /etc/apt/sources.list, заменяя stretch на buster. Должно получиться так: ![]() У меня еще есть файл репозиториев СУБД Postgresql для 1С /etc/apt/sources.list.d/pg1c-14.list. Я правлю его, а вы проверяйте директорию /etc/apt/sources.list.d/ на предмет своих файлов репозиториев. ![]() Запускаем обновление до Debian 10Последовательно запускаем уже знакомые команды:
![]()
![]()
![]() Ура! Версия Debian 10.13. Обновить систему до Debian 10 оказалось несложно. Как обновить Debian 10 до Debian 11 (Bullseye)Правим файлы репозиториев, заменяя buster на bullseye. В файле /etc/apt/sources.list изменился формат записи для security репозитория. Был формат buster/updates, а стал bullseye-security: ![]() Чтобы обновить систему до Debian 11 запускаем последовательность команд, как описано в разделе «Запускаем обновление до Debian 10», перезагружаемся и проверяем версию Debian. ![]() Готово! Неожиданности после обновленияПеременная PATH, команда su, Debian 10 BusterПосле обновления системы до Debian 10 (Buster) или до более новой версии Debian может стать неожиданностью появление ошибки «команда не найдена» . И это после ввода какой-нибудь банальной команды, типа reboot: ![]() В случае ошибок подобного рода (команда не найдена) нужно смотреть в сторону переменной окружения PATH, в которой как раз и хранятся пути поиска исполняемых файлов. ![]() Оказывается, что в Debian 9 (Stretch) и в более ранних версиях команда su меняет значение переменной окружения PATH на значение одной из переменных (ENV_PATH или ENV_SUPATH), определенных в файле /etc/login.defs. В Debian 10 (Buster) и в более новых версиях команда su не меняет переменную окружения PATH. Используем вместо команды su команду:
или команду:
![]() Ошибки «команда не найдена» больше нет, команда reboot пошла выполняться. ВыводыВ этой статье разобрались, как безопасно обновить Debian по SSH. Разобрались, что обновлять Debian 9 до Debian 11 лучше в два этапа: сначала до Debian 10, а потом уже до Debian 11. Само обновление системы проходит в штатном режиме. После обновления рекомендуется проверить работоспособность всех сервисов, которые «крутились» в системе, как они себя чувствуют в новой среде? | |
|