Obsah návodu
Sepište požadavky před objednáním
Zahrňte operační systém, runtime, databázi, rozšíření, kontejnery a agenty zálohování i monitoringu. Zaznamenejte, co podporuje výrobce a co jste sami pouze vyzkoušeli.
- Sepište podporovaná vydání Ubuntu, runtime a databáze.
- Ověřte architekturu každého nativního rozšíření, image kontejneru a zálohovacího nástroje.
- Z kompatibilních vydání vyberte podle zbývající doby údržby.
- U poskytovatele potvrďte dostupnost image i architektury v požadovaném regionu.
- Po vytvoření zkontrolujte přijaté prostředí a aplikaci před přenosem dat.
Ubuntu 24.04 při vydání přineslo výchozí Python 3.12, PHP 8.3 a PostgreSQL 16. Opravné verze se mění aktualizacemi. Podpora starší hlavní verze aplikací neznamená podporu těchto verzí. Údržbu porovnejte v tabulce LTS.
Zjistěte, jaký image skutečně běží
Následující čtecí příkazy spusťte uvnitř VPS a výstup uložte před instalací dalších balíčků.
cat /etc/os-release
uname -r
dpkg --print-architecture
uname -mTabulku lze posouvat vodorovně.
| Výstup | Význam |
|---|---|
| VERSION_ID v /etc/os-release | Nainstalované vydání Ubuntu, například 24.04 |
| uname -r | Právě běžící kernel; po aktualizaci a restartu se může změnit |
| amd64 / x86_64 | Obvyklé názvy balíčkové a strojové architektury x86 64-bit |
| arm64 / aarch64 | Obvyklé názvy pro 64bitový Arm |
Samotná verze kernelu neurčuje vydání ani rozsah podpory Ubuntu; cloudový kernel může být odlišný. Binární soubor pouze pro amd64 nepředpokládejte jako nativně funkční na arm64.
Prověřte dokončení inicializace
Mnoho image používá cloud-init pro klíče, účty a síť. Nejdříve zjistěte, zda je přítomen; jeho absence sama nemusí být chyba.
if command -v cloud-init >/dev/null 2>&1; then
cloud-init status --long
else
printf '%s\n' 'cloud-init není nainstalován; ověřte způsob přípravy serveru u poskytovatele.'
fiStav running znamená probíhající nastavení. Error nebo degraded prošetřete i při fungujícím SSH. Je-li cloud-init přítomen, prohlédněte odpovídající logy:
sudo tail -n 50 /var/log/cloud-init.log
sudo tail -n 50 /var/log/cloud-init-output.logInicializační skripty mohou zapsat citlivé hodnoty, před sdílením je odstraňte. Nepouštějte cloud-init clean a nepřepisujte síťové soubory jen kvůli skrytí chyby. Dokončená inicializace ještě nepotvrzuje funkčnost aplikace, databáze ani zálohy.
Ověřte kandidáty balíčků před instalací
Aktualizujte metadata a prohlédněte kandidáty potřebných komponent. apt update tyto aplikace nenainstaluje. Uložte verze i repozitář původu.
sudo apt update
apt-cache policy python3 php postgresql
apt-cache policy python3.12 php8.3 postgresql-16Installed: (none) znamená chybějící balíček, Candidate: (none) nedostupného kandidáta v nastavených zdrojích. Nejprve ověřte název, architekturu a komponenty Ubuntu, místo přidání náhodného repozitáře.
Metabalíček php či postgresql vybírá výchozí implementaci; ověřte i konkrétní verzovaný balíček. U instalovaného softwaru zkontrolujte skutečný spustitelný soubor nebo službu. python3 --version a php --version ukazují daný program; verze databázového serveru se může lišit od klienta.
Projděte rozhodnutí na konkrétním příkladu
Představte si aplikaci podporující jen Python 3.10 a rozšíření pouze pro amd64. Jde o ilustraci, ne tvrzení o určitém produktu. Výchozí Ubuntu 24.04 arm64 nesplňuje dvě podmínky: má Python 3.12 a jinou architekturu.
Přechod na amd64 řeší architekturu, nikoli výchozí Python. Virtuální prostředí odděluje balíčky pod interpretem, který jej vytvořil; nezmění Python 3.12 na 3.10. Nenahrazujte systémový Python Ubuntu kvůli aplikaci.
Zvažte aktualizaci aplikace nebo odděleně udržovaný runtime či kontejner s plánem podpory. Starší Ubuntu má vlastní zbývající údržbu a není automatickou opravou. Ověřte cestu kódu s rozšířením, databázovou operaci, úlohu na pozadí i zálohu a obnovu. Úspěšná instalace či homepage je příliš úzká kontrola.
Plánujte kontejnery i podporu jednotlivých balíčků
Kontejner oddělí závislosti aplikace od výchozích balíčků Ubuntu, ale používá kernel, síť a úložiště hosta. Musí mít podporovaný build pro cílovou architekturu. Emulace mění výkon i podporu.
Data ukládejte do zdokumentovaných volumes nebo vnějšího úložiště a obnovujte nezávisle na jednorázovém kontejneru. Verze či digest připněte kvůli opakovatelnosti, ale naplánujte aktualizace. Trvale připnutý zranitelný image je stále zranitelný.
Odlište podporu vydání Ubuntu, standardní údržbu, Ubuntu Pro a správce třetích repozitářů, stažených binárek i kontejnerů. U každé vrstvy určete, kdo ji aktualizuje.
Rozlišujte aktualizace balíčků a upgrade vydání
Po obnovení metadat zkontrolujte čekající aktualizace, selhané služby a požadavek na restart. Příkazy samy neprovedou upgrade distribuce.
apt list --upgradable
systemctl --failed
if [ -f /var/run/reboot-required ]; then cat /var/run/reboot-required; fiAktualizace aplikujte ve vhodném okně a zopakujte funkční kontroly; služby se mohou restartovat. Nepřítomnost reboot markeru nedokazuje aktuálnost každé součásti.
Upgrade vydání vyzkoušejte na kopii či novém serveru včetně runtime, repozitářů, databází a rozšíření. Naplánujte konečnou synchronizaci dat i návrat se zohledněním nových zápisů. Snapshot před upgradem neobsahuje pozdější objednávky zákazníků.
Zanechte opakovatelný záznam výběru
Tabulku lze posouvat vodorovně.
| Oblast | Co uložit |
|---|---|
| Systém | Vydání, architekturu, kernel a ID image |
| Aplikace | Build, runtime, lockfiles a zdroje balíčků |
| Inicializace | Výsledek a konfiguraci bez tajných údajů |
| Akceptace | Vyzkoušené funkce, výsledky a otevřené chyby |
| Údržba | Správce jednotlivých vrstev, okno změn a příjemce upozornění |
| Obnova | Umístění kopie, postup a poslední ověřenou obnovu |
Netajnou konfiguraci verzujte, hesla a klíče uchovávejte zvlášť. Při změně důležitých závislostí zopakujte samostatné sestavení. Pro experiment poslouží Oracle instance, pro publikaci webu postup nasazení.
Rodiny balíčků Ubuntu 24.04 jsou zdokumentované příklady. Aktuální kandidáty ověřte na cílovém image; kompatibilita konkrétní aplikace zde nebyla testována.
Časté otázky
Je Ubuntu 24.04 vždy nejlepší volba?
Je konkrétním příkladem tohoto průvodce. Zvolte podporované vydání kompatibilní s celým stackem a dostupné u poskytovatele; novější i starší vydání může vyžadovat změny aplikace.
Zachová přeinstalování image data?
Často nahrazuje disk serveru. Prověřte postup, exportujte data a konfiguraci a otestujte obnovu. Přeinstalace se liší od upgradu běžícího systému.
Zajistí venv jinou hlavní verzi Pythonu?
Ne. Používá interpreter, kterým bylo vytvořeno. Požadovanou verzi řešte podporovaným odděleným runtime, nikoli přepsáním systémového Pythonu.