Актуализирането на Debian 9 (Stretch) до Debian 11 (Bullseye) с това стъпково ръководство няма да бъде трудно. Да започнем!
Как да разберем версията на Debian?
За да научим текущата версия на Debian, въведете командата:
cat /etc/debian_version

Създаване на резервна система
Трябва да създадете резервно копие на системата преди да я актуализирате. Какви инструменти и в какъв обем – това е тема, която заслужава отделна статия. Тук няма да спирам на това. Ще пиша само за себе си.
Тъй като на моята актуализирана система има инсталиран 1С сървър, ще направя изнасяне на информационната база на 1С (файл с разширение .dt, който съдържа базите данни, конфигурацията и списъка с потребителите – всичко необходимо за възстановяване на 1С).
С помощта на инструмента rsync ще направя дистанционно копие на цялата актуализирана система. Това няма да отнеме много време, тъй като копието на актуализираната система е направено по-рано, а инструмента rsync позволява да се предават само промените във файловете.
Как да актуализирам Debian чрез SSH
Ако се свържете към обновяемата система чрез SSH, стартирате актуализация на Debian и по време на актуализацията връзката на SSH се прекъсне, процесът на актуализация на Debian ще бъде прекъснат. Това може да доведе до неработоспособност на обновяемата система.
Програмата Screen за безопасно обновяване
За безопасно обновяване на Debian по SSH е необходимо да стартирате процеса на актуализация в програмата screen. Програмата screen гарантира, че процесът на актуализация няма да бъде прекъснат, дори ако SSH връзката бъде прекъсната. Програмата screen ще осигури безопасно повторно свързване по SSH, за да продължите да наблюдавате актуализацията на Debian.
Инсталираме програмата screen:
apt install screen
Стартираме програмата screen:
screen
Виждаме прозорец за запознаване на програмата screen:

Натискаме бутона Enter на клавиатурата, прозорецът за приветствие на програмата screen изчезва и виждаме обичайното командно приглашение. Сега сме готови да стартираме актуализацията на Debian безопасно. Всички команди за актуализация ще бъдат стартирани в програмата screen с всички предимства, описани по-горе.
За да приключите работата на програмата screen, трябва да въведете:
exit
Ще се появи надпис [screen is terminating]:

За да се отключите от screen, без да прекратявате работата на програмата screen, трябва да натиснете комбинацията от три бутона Ctrl + A + D. Ще се появи надпис [detached from XXXX.pts-0…..]:

Цифрите XXXX са идентификатор (ID) на screen, който ще бъде необходим за повторно свързване към screen.
За повторно свързване с screen трябва да въведете:
screen -r
Ако има повече от един screen, за да се свържете отново с screen с идентификатор YYYY, трябва да въведете:
screen -r YYYY
Как да обновим Debian 9 до Debian 10 (Buster)
Не се препоръчва да се актуализира Debian, като се пропусне версия, т.е. от Debian 9 директно до Debian 11. Затова първо ще актуализираме до Debian 10.
Актуализиране на Debian 9 до последната подверсия.
Ще актуализираме текущата Debian 9 система до последната подверсия. Първо, ще актуализираме списъците с пакети от Debian хранилищата:
apt update
Актуализираме пакетите, инсталирани в системата (няма да бъдат премахнати предишно инсталирани пакети):
apt upgrade
Актуализираме пакети, които имат сложни зависимости (могат да бъдат изтрити остарели пакети):
apt dist-upgrade
Изтриваме пакети, които са били инсталирани автоматично, но вече не са необходими:
apt --purge autoremove
Рестартираме и проверяваме коя подверсия на Debian 9 е станала:
reboot
cat /etc/debian_version
Актуализираме файловете в хранилищата
Хранилищата са репозитории. В нашия случай, репозиториите са мрежови хранилища на 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.
Последователно стартираме вече познатите команди:
apt update

apt upgrade

apt dist-upgrade
apt --purge autoremove
reboot
cat /etc/debian_version

Ура! Версия Debian 10.13. Обновяването на системата до Debian 10 се оказа лесно.
Как да актуализирам Debian 10 до Debian 11 (Bullseye)
Редактираме файловете на хранилищата, като заменяме buster с bullseye. Форматът на записа за хранилището security във файла /etc/apt/sources.list е променен. Беше 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 следната команда:
sudo su
или команда:
su -

Грешката „командата не е намерена“ вече не съществува, командата reboot започва да се изпълнява.
Изводи
В тази статия ще разгледаме как да актуализираме Debian по SSH безопасно. Ще разгледаме, че е по-добре да актуализирате Debian 9 до Debian 11 в два етапа: първо до Debian 10, а след това до Debian 11.
Самото актуализиране на системата се извършва в нормален режим. След актуализацията се препоръчва да се провери работоспособността на всички услуги, които са били активни в системата, как се чувстват в новата среда?
Оставете въпросите под статията в коментарите. Благодаря за вниманието!
Коментари