Съдържание
Съберете изискванията преди поръчка
Избройте Ubuntu версиите, средите за изпълнение, базите данни и архитектурите за приложението и разширенията. Включете агенти за наблюдение и резервни копия. Работещ сайт не помага, ако необходимият инструмент за възстановяване не поддържа платформата.
Разграничете официална поддръжка от комбинация, която само сте изпробвали. Потвърдете, че доставчикът предлага избрания образ в нужния регион. Съобразете и оставащия срок на поддръжка.
Ubuntu 24.04 е конкретният пример: версията въвежда Python 3.12 по подразбиране, PHP 8.3 и PostgreSQL 16. Поправките се променят с обновяванията. Приложение за по-стар основен вариант не е автоматично съвместимо с тези версии.
Установете каква система сте получили
Изпълнете на VPS следните команди само за преглед. Запазете резултатите преди добавяне на друг софтуер.
cat /etc/os-release
uname -r
dpkg --print-architecture
uname -mНа малък екран плъзнете таблицата настрани, за да видите всички колони.
| Резултат | Значение |
|---|---|
| VERSION_ID в os-release | Инсталираната Ubuntu версия |
| Ядро от uname -r | Работещото в момента ядро |
| amd64 / x86_64 | Обичайни имена за 64-битова x86 архитектура |
| arm64 / aarch64 | Обичайни имена за 64-битова Arm архитектура |
Името на ядрото само по себе си не показва версията на Ubuntu или обхвата на поддръжката. Доставчикът може да използва облачно ядро. За двоичен файл само за amd64 потърсете поддържана Arm версия, преди да изберете arm64.
Проверете инициализирането на образа
Много образи използват cloud-init за ключове, потребители и мрежа. Проверете наличието му преди статуса. Липсата му не е сама по себе си грешка; установете метода на доставчика.
if command -v cloud-init >/dev/null 2>&1; then
cloud-init status --long
else
printf '%s\n' 'cloud-init is not installed; check the provider provisioning method.'
fiСтатус running означава, че процесът още продължава. Error или degraded изисква проверка дори при работещ SSH. Ако cloud-init е наличен, разгледайте съответните журнали:
sudo tail -n 50 /var/log/cloud-init.log
sudo tail -n 50 /var/log/cloud-init-output.logИнициализиращите скриптове могат да извеждат чувствителни стойности. Премахнете ги преди споделяне. Не изпълнявайте cloud-init clean и не заменяйте мрежови файлове, само за да скриете грешка. Проверете приложението, базата данни и архивите отделно.
Проверете предложените пакети
Обновете индекса, след което прегледайте кандидатите за нужните компоненти. apt update тук не инсталира тези приложни пакети. Запишете версиите и хранилищата.
sudo apt update
apt-cache policy python3 php postgresql
apt-cache policy python3.12 php8.3 postgresql-16Installed: (none) означава, че пакетът липсва. Candidate: (none) означава, че текущите източници не го предлагат. Проверете името, архитектурата и включените Ubuntu компоненти преди добавяне на произволно хранилище.
Мета-пакети като php и postgresql избират реализация по подразбиране; разгледайте и пакета с конкретната версия. python3 --version и php --version показват съответните изпълними файлове. Версията на сървъра за база данни може да се различава от клиентските инструменти.
Разгледайте конкретно несъответствие
Да приемем приложение само за Python 3.10 и собствено разширение само за amd64. Това са примерни изисквания. Ubuntu 24.04 arm64 не изпълнява две условия: стандартният Python е 3.12, а разширението е за друга архитектура.
Преминаването към amd64 решава само архитектурата. Виртуална Python среда използва интерпретатора, с който е създадена; не превръща Python 3.12 в 3.10. Не заменяйте системния Python на Ubuntu заради приложението.
Възможни решения са обновяване на приложението или отделно поддържана среда/контейнер с ясен план за обновявания. По-стара Ubuntu версия има собствен оставащ срок и не е автоматично решение. Проверете разширението, операция с базата данни, фонова задача и цикъл архивиране/възстановяване в тестова среда.
Планирайте поддръжката на всички слоеве
Контейнерите отделят зависимостите на приложението, но използват ядрото и ресурсите на хоста. Потвърдете поддържан образ за платформата; емулацията променя очакванията за производителност и поддръжка.
Съхранявайте данните в описани томове или външно хранилище и упражнете независимо възстановяване. Фиксирането на версии или digest помага за повторяемост, но не отменя обновяванията. Образ, оставен завинаги с известна уязвимост, не е добре поддържан.
Стандартната Ubuntu поддръжка и Ubuntu Pro имат различно покритие. Външни хранилища, изтеглени програми и контейнерни образи имат собствени поддържащи екипи. Запишете кой обновява всеки слой.
Отделете пакетните обновявания от нова Ubuntu версия
Преди промени обновете метаданните и прегледайте чакащи пакети и неуспешни услуги. Следните команди не изпълняват надграждане към друга Ubuntu версия.
apt list --upgradable
systemctl --failed
if [ -f /var/run/reboot-required ]; then cat /var/run/reboot-required; fiПрилагайте обновяванията в подходящ прозорец и повторете проверките на приложението. Услуги могат да се рестартират. Файлът reboot-required е полезен, когато съществува; липсата му не доказва, че всички компоненти са актуални.
Изпитайте новата Ubuntu версия на копие или нова машина. Прегледайте базата данни, хранилищата и разширенията. Планирайте окончателна синхронизация и връщане назад, което отчита новите записи. Снимка преди промяната не съдържа поръчки, направени след нея.
Оставете възпроизводим запис на средата
Запишете версията, архитектурата, ядрото, идентификатора на образа, приложния пакет, произхода на зависимостите, резултатите от тестове и мястото на последното проверено резервно копие. Съхранявайте тайните отделно от този запис.
За публичен облачен експеримент използвайте Oracle процедурата. Когато средата е подходяща, продължете с публикуване на първи сайт.
Адаптирано от английското ръководство за образ и съвместимост. Пакетите на Ubuntu 24.04 са документални примери; проверете текущите кандидати на избрания образ. Не е заявен собствен тест на приложението.
Често задавани въпроси
Ubuntu 24.04 винаги ли е най-добрият избор?
Тук е конкретен пример. Изберете поддържана версия, съвместима с цялото приложение и налична при доставчика. И по-нова, и по-стара версия могат да изискват промени.
Мога ли да сменя образа без загуба на данни?
Преинсталиране през панела често заменя диска. Проверете процедурата, изнесете данните и потвърдете възстановяването. Преинсталиране и надграждане на място са различни операции.