Модул 4 · 4.3
Жизнен цикъл и надграждане до нова версия
Модул 4: Софтуер и актуализации · Време за четене: 11 минути
Цел на урока: След този урок ще можете да проверите жизнения цикъл на Вашата дистрибуция, ще знаете какво означава "end of life" за Вашия сървър и ще можете безопасно да планирате и извършите надграждане до нова версия.
Основни понятия: версия (release), LTS, стандартна поддръжка, Debian LTS, Ubuntu ESM и Ubuntu Pro, end of life (EOL), /etc/os-release, do-release-upgrade, минимално и пълно надграждане, хранилища на трети страни, snapshot, curl | bash
Всяка версия има срок на годност
Автоматичните актуализации (урок 4.2) работят само докато Вашата дистрибуция все още издава актуализации за Вашата версия. Всяка версия на Debian и Ubuntu получава актуализации за сигурност за определен период. След това те спират: Вашият сървър вече не получава поправки, дори за сериозни уязвимости. Това се нарича end of life (EOL).
Коя версия използвате, можете да видите така:
anna@web1:~$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"
NAME="Debian GNU/Linux"
VERSION_ID="13"
VERSION="13 (trixie)"
VERSION_CODENAME=trixie
...В Ubuntu ще видите например VERSION="24.04.3 LTS (Noble Numbat)".
Debian
Debian поддържа напълно всяка версия около три години. След това екипът на Debian LTS поема поддръжката за още две години, с актуализации за сигурност за най-използваните пакети. За текущите версии (към ноември 2026 г., проверете на debian.org/releases):
| Версия | Издадена | Край на обичайната поддръжка | Край на LTS |
|---|---|---|---|
| Debian 13 "trixie" | 9 август 2025 | август 2028 | 30 юни 2030 |
| Debian 12 "bookworm" | 10 юни 2023 | 11 юли 2026 | 30 юни 2028 |
Debian 12 все още получава актуализации чрез LTS, но е в последната си фаза. Нов сървър инсталирайте с Debian 13.
Ubuntu
Ubuntu издава на всеки две години през април версия LTS (Long Term Support) с пет години стандартна поддръжка по сигурността. С абонамент за Ubuntu Pro (безплатен за лична употреба на няколко машини) към това се добавя ESM (Expanded Security Maintenance), общо до десет години.
| Версия | Стандартна поддръжка до | С ESM до |
|---|---|---|
| Ubuntu 26.04 LTS | май 2031 | май 2036 |
| Ubuntu 24.04 LTS | май 2029 | май 2034 |
Между версиите LTS излизат междинни версии (например 25.10) само с девет месеца поддръжка. Те не са предназначени за сървър, който трябва да работи години наред. За сървър винаги избирайте LTS.
Какво означава EOL за Вас
Сървър с версия, която вече не получава актуализации, продължава да работи нормално. Точно това е коварното: не забелязвате нищо, докато някой не използва уязвимост, която е поправена навсякъде, освен при Вас. Освен това:
- нов софтуер (нова версия на PHP, ново издание на Docker) вече не се компилира за Вашата версия;
- хранилищата на трети страни също спират, често по-рано;
- колкото по-дълго чакате, толкова по-голям е скокът. Debian не поддържа прескачане на версия: от 11 до 13 трябва да минете през 12.
Затова запишете датата на EOL на Вашия сървър в календара си, с напомняне половин година преди нея.
Два начина: надграждане или изграждане наново
Има два подредени пътя към нова версия.
- Надграждане на място (in-place upgrade): актуализирате съществуващия сървър до новата версия. Бързо е и всичко остава на мястото си, но старите остатъци и собствените Ви промени също се пренасят.
- Изграждане наново: създавате нов сървър с новата версия, инсталирате отново услугите си (удобно с бележките от урок 10.4 или с Docker Compose, модул 9), прехвърляте данните от резервното копие и превключвате DNS (урок 7.1). Повече работа, но резултатът е чист и същевременно е тест за Вашето резервно копие.
За малък сървър с няколко услуги надграждането на място е напълно подходящо. Ако на него работи много персонализиран софтуер или сървърът вече е надграждан няколко пъти, помислете за изграждане наново.
Подготовка на надграждане на място
Осигурете тези пет неща, преди да започнете:
- Snapshot в панела на Вашия доставчик, направен точно преди началото, и актуално резервно копие извън сървъра (модул 8). Snapshot е Вашият бърз път назад, ако надграждането се провали по средата.
- Втори вход: конзолата на Вашия доставчик. Работите през SSH и ако мрежовите настройки или SSH сървърът се променят по време на надграждането, трябва да можете да продължите през конзолата. Бележките към версията на Debian го казват буквално: осигурете си предварително друг начин за влизане.
- Прочетете бележките към версията, особено главата "Issues to be aware of". За Debian 13 там например пише:
/tmpвече по подразбиране е в паметта,/etc/sysctl.confвече не се чете (използвайте/etc/sysctl.d/), а/bootтрябва да е достатъчно голям. - Проверете хранилищата на трети страни. Пакети, които не идват от самите Debian или Ubuntu, могат да предизвикат конфликти при надграждането. Вижте какви хранилища имате (
ls /etc/apt/sources.list.d/) и дали създателят им вече има версия за новото издание. - Сесия, която оцелява при прекъсната връзка. Стартирайте надграждането в
tmuxилиscreen. Ако интернетът Ви прекъсне, надграждането продължава, а Вие се връщате към него сtmux attach.
Debian: стъпките
От бележките към версията на Debian 13, за надграждане от 12 до 13:
root@web1:~# apt update && apt full-upgrade # първо обновете напълно текущото издание
root@web1:~# sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/debian.sources
root@web1:~# apt update
root@web1:~# apt upgrade --without-new-pkgs # минимално обновяване
root@web1:~# apt full-upgrade # пълно обновяване
root@web1:~# rebootАко все още използвате /etc/apt/sources.list, променете кодовото име и там. Хранилищата на трети страни изключете временно по време на надграждането (преименувайте ги на .disabled) и след това ги включете отново с кодовото име на новата версия, ако създателят ги предлага за нея.
По време на надграждането обърнете внимание на въпросите за конфигурационните файлове. Ако сами сте променили файл, например sshd_config, dpkg ще Ви попита дали искате да запазите Вашата версия. Запазете собствената си версия, ако знаете защо сте я променили, и след това я сравнете с новата (.dpkg-dist).
След рестартирането:
anna@web1:~$ cat /etc/os-release | grep VERSION=
VERSION="13 (trixie)"
anna@web1:~$ systemctl --failed
anna@web1:~$ sudo apt autoremovesystemctl --failed (урок 6.1) трябва да е празен. Проверете също дали уебсайтовете и контейнерите Ви работят и дали наблюдението Ви (урок 8.3) показва зелено.
Ubuntu: do-release-upgrade
Ubuntu има собствена програма за това:
anna@web1:~$ sudo apt update && sudo apt full-upgrade
anna@web1:~$ sudo do-release-upgradeДве неща, които трябва да знаете. Първо, Ubuntu предлага надграждане от една LTS до следващата едва след първото точково издание (например 26.04.1, няколко месеца след април). Това е умишлено: през първите месеци се отстраняват най-големите проблеми. Второ: ако изпълнявате надграждането през SSH, do-release-upgrade съобщава, че за всеки случай стартира допълнителен SSH сървър на резервен порт. Този порт трябва да бъде разрешен в защитната Ви стена (урок 5.2), ако Ви потрябва; обикновено не Ви е нужен, защото имате конзолата.
Големият капан: софтуер извън дистрибуцията
Надгражданията почти винаги се провалят заради софтуер, който не идва от дистрибуцията. Три навика правят разликата:
- Без
curl https://... | bash. Скрипт от интернет, който изпълнявате директно като root, може да промени всичко на сървъра Ви: да добави хранилища, да се довери на ключове за всички хранилища, да презапише файлове. Не знаете какво се е случило, а при следващото надграждане нещо се чупи. Изтеглете такъв скрипт, прочетете го и по-добре изпълнете стъпките сами. - Допълнително хранилище само от самия създател, със собствен ключ (
Signed-By, урок 4.1), и запишете в документацията на сървъра си защо е добавено. - Без отделни
.debфайлове от уебсайтове, когато същото може да се вземе от дистрибуцията или от хранилището на създателя. Те никога не получават актуализации.
В AlmaLinux и Rocky Linux
Там всяка "major" версия (9, 10) получава актуализации около десет години, а междинните версии (9.6, 9.7) актуализирате нормално с dnf upgrade. Скок до нова major версия на място е възможен с помощната програма ELevate (AlmaLinux), но много администратори при преминаване към нова major версия все пак избират изграждане наново.
На практика
В екрана за VPS на WebOké преди надграждане правите snapshot (най-много два едновременно, на същото хранилище като Вашия VPS) и имате конзолата като втори вход. При други доставчици това се нарича по подобен начин: snapshot, VNC или уеб конзола, rescue. Snapshot не заменя резервно копие извън сървъра; изтрийте го, когато всичко работи, защото той расте с всяка промяна.
Обобщение
- Всяка версия получава актуализации за сигурност за определен период; след това тя е end of life и сървърът Ви вече не получава поправки.
- Debian: около три години плюс две години LTS; Ubuntu LTS: пет години плюс ESM до десет години. За сървър винаги избирайте LTS и запишете крайната дата в календара си.
- Подгответе надграждането със snapshot, резервно копие, конзолата, бележките към версията и сесия в tmux.
- Debian: хранилищата към новото кодово име,
apt upgrade --without-new-pkgs,apt full-upgrade; Ubuntu:do-release-upgrade, след първото точково издание. - Софтуерът извън дистрибуцията е най-големият източник на проблеми при надграждане: без
curl | bash, само хранилища от създателя със собствен ключ.
Тест (quiz)
Задача
Задача O4.3: Вашият план за надграждане. Проверете с коя версия работи Вашият сървър и докога тя получава актуализации за сигурност. След това съставете план за надграждане: какви хранилища на трети страни имате, как правите snapshot и резервно копие, как влизате през конзолата, какви стъпки изпълнявате, как тествате след това и дали избирате надграждане на място или изграждане наново (с обосновка)?
Задача O4.3: Вашият план за надграждане
Тази задача изпълнявате сами; никой не я проверява. Отбележете какво сте направили и маркирайте задачата като изпълнена.
Snapshot и резервно копие, прочитане на бележките към версията, работа в tmux; Debian: източниците към новото кодово име, apt upgrade --without-new-pkgs, apt full-upgrade, рестарт; Ubuntu: do-release-upgrade. След това проверете systemctl --failed, сайтовете, контейнерите и наблюдението. Изграждането наново си струва при много персонализирани настройки и е едновременно проверка на Вашето резервно копие.
Вашите отметки и бележки остават само в този браузър; не ги изпращаме никъде. Ако сте влезли, в Моите курсове запазваме само че сте изпълнили задачата.
Още за четене
- Snapshots и backups на Вашия VPS
- Свързване на собствено ISO или преинсталиране на VPS
- Версии на Debian и периоди на поддръжка: https://www.debian.org/releases/
- Debian 13, бележки към версията, глава 4 (надграждане) и 5 (на какво да обърнете внимание): https://www.debian.org/releases/trixie/release-notes/
- Ubuntu, цикъл на издаване: https://ubuntu.com/about/release-cycle
- Документация на Ubuntu Server, Upgrade your release: https://ubuntu.com/server/docs/how-to/software/upgrade-your-release/
- Надграждане на Вашия VPS до нова версия на Debian или Ubuntu
- VPS: от първото влизане до сигурен сървър 1.5: Снапшоти: предпазна мрежа при всяка голяма промяна
