Практичен водич / Ubuntu верзија и архитектура

Ubuntu верзија и архитектура за вашата апликација

Пред нарачка усогласете ги Ubuntu верзијата и архитектурата со апликацијата. По создавање на VPS проверете ги инсталираниот систем, достапните пакети и реалното однесување. Така изборот на image се поврзува со околината што навистина ја добивате.

· Ажурирано: · Читање: околу 6 мин

Содржина на водичот

Изберете image според целиот софтвер

Наведете ги поддржаните оперативни системи, runtime, бази и архитектури на апликацијата и додатоците. Вклучете ги backup и monitoring агентите: сајтот може да работи, а неопходна алатка за обновување да не ја поддржува платформата. Одделете ја официјалната поддршка од она што вашиот тим само го тестирал.

  1. Запишете ги Ubuntu верзиите, runtime и базите што ги поддржува апликацијата.
  2. Проверете ја архитектурата на секој native додаток, container image и backup агент.
  3. Разгледајте го преостанатиот период на одржување на компатибилните верзии.
  4. Потврдете дека провајдерот ги нуди image и архитектурата во потребниот регион.
  5. По создавањето проверете го системот и апликацијата пред пренос на податоци или сообраќај.

Ubuntu 24.04 LTS е конкретен пример: при издавањето вовел Python 3.12 како стандард, PHP 8.3 и PostgreSQL 16. Patch верзиите се менуваат со ажурирања. Софтвер што работи со постара главна верзија не мора да ги поддржува овие. За роковите користете ја LTS табелата.

Утврдете каков систем сте добиле

Овие команди само читаат податоци во VPS. Ги покажуваат дистрибуцијата, тековниот kernel, архитектурата на пакетите и машината. Зачувајте ги резултатите пред дополнителна инсталација.

cat /etc/os-release
uname -r
dpkg --print-architecture
uname -m

На мал екран поместете ја табелата странично за да ги видите сите колони.

РезултатЗначење
VERSION_ID во /etc/os-releaseИнсталирана Ubuntu верзија, на пример 24.04
uname -rKernel што моментално работи; може да се смени по ажурирање и рестарт
amd64 од dpkg / x86_64 од unameВообичаени имиња за 64-битна x86 архитектура
arm64 од dpkg / aarch64 од unameВообичаени имиња за 64-битна Arm архитектура

Kernel ознаката сама не ја утврдува Ubuntu верзијата или опсегот на поддршка. Провајдерите можат да користат cloud kernels. Бинарна датотека само за amd64 не треба да се смета за native arm64 апликација; проверете Arm build или изрично поддржана алтернатива.

Проверете го почетното поставување

Многу images користат cloud-init за клучеви, сметки и мрежа. Прво проверете дали постои, па побарајте статус. Неговото отсуство не е автоматски грешка: утврдете како провајдерот го поставува тој image.

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 и не заменувајте мрежни датотеки само за да сокриете грешка. Завршеното поставување не докажува дека апликацијата, базата и backup работат.

Прегледајте ги пакетите пред инсталација

Освежете ги метаподатоците, па проверете ги кандидатите за потребните компоненти. update го освежува индексот без да ги инсталира овие апликациски пакети. Запишете ги верзиите и репозиториумите.

sudo apt update
apt-cache policy python3 php postgresql
apt-cache policy python3.12 php8.3 postgresql-16

Installed: (none) значи дека пакетот не е инсталиран. Candidate (none) значи дека моменталните извори не го нудат. Прво проверете име, архитектура и активни Ubuntu компоненти, наместо да додавате произволен репозиториум.

Метапакети како php и postgresql избираат стандардна имплементација; проверете го и пакетот со верзија. За инсталиран софтвер проверете ја вистинската извршна датотека или сервис. python3 --version и php --version ги идентификуваат тие програми; серверот на базата може да се разликува од клиентските алатки.

Разгледајте конкретна одлука за компатибилност

Да претпоставиме дека апликација поддржува само Python 3.10 и има native додаток само за amd64. Ова е хипотетички пример, не тврдење за конкретен производ. Стандарден Ubuntu 24.04 arm64 не исполнува две барања: Python е 3.12, а архитектурата е друга.

Преминување на amd64 ја решава архитектурата, но не ја менува Python верзијата. Virtual environment ги изолира пакетите со интерпретаторот што ја создал; не претвора Python 3.12 во 3.10. Не го заменувајте системскиот Python на Ubuntu.

Можности се надградба на апликацијата или одделно одржуван runtime/container со јасен план за поддршка. Проверете ги сите native компоненти. Постара Ubuntu верзија има свој преостанат рок и не е автоматско решение.

Во staging тестирајте ја патеката што го користи додатокот, операција во база, позадинска задача и backup/restore. Запишете верзии и build. Успешна инсталација или отворена почетна страница не се доволни.

Вклучете containers и одржување пакети во планот

Containers ги одделуваат зависностите од стандардните Ubuntu пакети, но зависат од host kernel, складирање и мрежа. Проверете поддржан image за платформата. Емулацијата ги менува претпоставките за перформанси и поддршка; не ја заменувајте тивко со native build.

Чувајте податоци во документирани волумени или надворешно складирање и вежбајте враќање независно од привремените containers. Фиксирајте верзии или image digests за повторливост, но планирајте ажурирања. Трајно фиксиран ранлив image останува лошо одржуван.

Поддршка за Ubuntu издание не значи иста покриеност за секој пакет. Стандардното безбедносно одржување и Ubuntu Pro имаат различен опсег. Надворешни репозиториуми, преземени binaries и container images имаат свои одржувачи. Запишете кој го ажурира секој слој.

Разликувајте ажурирање пакети од надградба на издание

Пред промени прегледајте ги пакетите и неуспешните сервиси. Прво освежете ги метаподатоците. Овие команди прикажуваат состојба и не прават надградба на дистрибуцијата.

apt list --upgradable
systemctl --failed
if [ -f /var/run/reboot-required ]; then cat /var/run/reboot-required; fi

Применете ги прегледаните ажурирања во соодветен термин, па повторете ги проверките на апликацијата. Сервиси може да се рестартираат. Reboot marker е корисен кога постои; негово отсуство не докажува дека сè е ажурирано.

Голема надградба испробајте на копија или нова машина. Проверете runtime, репозиториуми, надградба на база и додатоци. Испланирајте финална синхронизација и враќање што ги зема предвид новите запишувања. Snapshot од пред промената не ги содржи подоцнежните нарачки.

Оставете запис што може да се повтори

На мал екран поместете ја табелата странично за да ги видите сите колони.

Запис за инсталацијатаШто да зачувате
Оперативен системВерзија, архитектура, kernel и image идентификатор
Апликациска околинаBuild, runtime, lockfiles и извори на пакети
Почетно поставувањеРезултат и конфигурација без тајни
Приемни проверкиИспробани дејства, резултати и нерешени грешки
ОдржувањеОдговорен за пакетите, термин и примач на известувања
ОбновувањеЛокација на копијата, постапка и последно проверено враќање

Чувајте ги тајните одделно, а несензитивната конфигурација во контрола на верзии. При важни промени на зависности проверете повторно поставување. За cloud вежба користете создавање бесплатен Ubuntu VPS; за објавување страница продолжете со Nginx и HTTPS.

Често поставувани прашања

Дали Ubuntu 24.04 секогаш е најдобриот избор?

Овде е конкретен пример. Изберете поддржано издание што го поддржуваат целиот софтвер и провајдерот, па проверете го преостанатото одржување. И понова и постара верзија може да бара промени во апликацијата.

Може ли да го заменам image без губење податоци?

Реинсталација кај провајдерот често го заменува серверскиот диск. Прво проверете ја постапката, извезете ги податоците и потврдете враќање. Реинсталација и надградба на постојното издание се различни операции.

Изборот на Ubuntu верзија, CPU архитектура и апликациски зависности треба да се провери како целина.

Официјални извори

  1. Документ 1: discourse.ubuntu.com
  2. Документ 2: ubuntu.com
  3. Документ 3: docs.cloud-init.io
  4. Документ 4: manpages.ubuntu.com
  5. Документ 5: docs.python.org
  6. Документ 6: ubuntu.com

Поврзани водичи