Praktični vodič / Ubuntu okruženje

Ubuntu verzija i arhitektura koje vaša aplikacija podržava

Ubuntu verzija i arhitektura moraju da odgovaraju aplikaciji pre prenosa podataka. Ne oslanjajte se samo na ime slike u ponudi: posle kreiranja VPS-a proverite šta je instalirano, kako je završena inicijalizacija i koji paketi su dostupni.

· Ažurirano · Oko 4 min čitanja

Sadržaj ovog vodiča

Zapišite zahteve cele aplikacije

Proverite podržane Ubuntu verzije, runtime, bazu i arhitekturu. Uključite nativne dodatke, kontejnere i agente za nadzor i rezervne kopije. Razlikujte zvanično podržanu kombinaciju od one koju ste samo uspeli da pokrenete.

Ubuntu 24.04 je pri izlasku doneo Python 3.12, PHP 8.3 i PostgreSQL 16. Zakrpe se menjaju ažuriranjem. Aplikacija za stariju glavnu verziju ne mora raditi na novoj. LTS tabela pomaže da proverite preostalo održavanje i dostupnost slike kod provajdera.

Potvrdite verziju, jezgro i arhitekturu

Sledeće komande čitaju podatke na serveru. Sačuvajte rezultat pre instaliranja dodatnog softvera.

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

Na užem ekranu pomerite tabelu vodoravno da vidite ostale kolone.

IzlazZnačenje
VERSION_ID iz os-releaseInstalirano Ubuntu izdanje
uname -rJezgro koje se trenutno koristi
amd64 i x86_64Oznake paketa i mašine za 64-bitni x86
arm64 i aarch64Oznake 64-bitnog Arm okruženja

Naziv jezgra nije dovoljan da odredi izdanje i njegovu podršku. Cloud slika može imati posebno jezgro. amd64 binarni fajl ne tretirajte kao nativni arm64 program; pronađite podržanu verziju ili alternativu.

Proverite cloud-init pre daljih izmena

Cloud-init često priprema nalog, ključeve i mrežu. Utvrdite da li postoji. Ako ga nema, proverite drugi mehanizam provajdera umesto zaključka da je server pokvaren.

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 znači da priprema traje. Error ili degraded istražite i kada prijava radi. Ako je cloud-init prisutan, pregledajte njegove logove:

sudo tail -n 50 /var/log/cloud-init.log
sudo tail -n 50 /var/log/cloud-init-output.log

Pre slanja loga uklonite tajne podatke koje je skripta mogla da ispiše. Cloud-init clean i zamena mrežnih datoteka nisu način da se sakrije greška. Završena inicijalizacija ne potvrđuje stanje baze ili rezervne kopije.

Pogledajte kandidate paketa

Osvežite indeks, pa proverite verzije i repozitorijume planiranih komponenti. Ovim se aplikacijski paketi još ne instaliraju.

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

Installed: (none) znači da paket nije instaliran; Candidate: (none) da ga trenutni izvori ne nude. Prvo proverite ime, arhitekturu i Ubuntu komponente. Ne dodajte nasumičan repozitorijum.

Metapaketi php i postgresql biraju podrazumevanu implementaciju. Pregledajte i konkretan verzionisani paket. Za postojeći softver proverite izvršnu datoteku ili servis; verzija database klijenta nije nužno verzija servera.

Primer neusaglašenih zahteva

Zamislite aplikaciju koja podržava samo Python 3.10 i dodatak samo za amd64. To su pretpostavke, ne tvrdnja o određenom proizvodu. Ubuntu 24.04 arm64 ne ispunjava ni zahtev verzije ni arhitekture.

Prelazak na amd64 rešava samo arhitekturu. Virtualno Python okruženje koristi interpreter kojim je stvoreno; ne pretvara 3.12 u 3.10. Ne menjajte sistemski Python. Razmotrite ažuriranje aplikacije ili zasebno održavan runtime/kontejner sa jasnim planom podrške. Ni stariji Ubuntu nije automatsko rešenje.

Pre prihvatanja proverite baš putanju nativnog dodatka, rad baze, pozadinski posao i ciklus kopiranja/vraćanja. Uspešna instalacija ili naslovna stranica nisu dovoljni.

Planirajte sve slojeve održavanja

Kontejner odvaja biblioteke aplikacije, ali koristi jezgro, disk i mrežu hosta. Proverite nativnu podršku slike za platformu. Emulacija menja pretpostavke o brzini i podršci. Podatke čuvajte u definisanim volumenima i testirajte nezavisni oporavak.

Fiksirana verzija ili digest olakšavaju ponavljanje instalacije, ali ne zamenjuju ažuriranje. Razlikujte podršku Ubuntu izdanja od pokrivenosti paketa, Ubuntu Pro usluge, tuđih repozitorijuma i preuzetih binarnih fajlova. Za svaki sloj treba da bude jasno ko ga održava.

Ne mešajte redovno ažuriranje i novo izdanje

Posle osvežavanja indeksa pregledajte pakete i neuspele servise. Ove komande ne pokreću prelazak na novu distribuciju.

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

Ažuriranja primenite u planiranom terminu i ponovite provere aplikacije. Servisi mogu da se restartuju. Izostanak reboot oznake nije dokaz da je sve aktuelno.

Prelazak na novo izdanje prvo testirajte na kopiji ili novom serveru. Pregledajte runtime, repozitorijume, dodatke i migraciju baze. Plan povratka mora uzeti u obzir nove upise; stara snapshot kopija nema porudžbine nastale posle njenog pravljenja.

Ostavite jasan zapis odluke

Sačuvajte izdanje, arhitekturu, jezgro, ID slike, build aplikacije, izvore paketa i rezultat testova. Dodajte termin održavanja, primaoca alarma i poslednje provereno vraćanje kopije. Tajne ne unosite u taj zapis.

Za sledeći korak otvorite podešavanje javnog sajta ili prvu Oracle instancu. Promena bitne zavisnosti zahteva novu proveru, ne samo dopunu naziva verzije.

Pitanja i odgovori

Da li je Ubuntu 24.04 uvek najbolji izbor?

To je konkretno okruženje u primerima. Birajte podržano izdanje koje prihvataju cela aplikacija i provajder, uz dovoljno vremena za održavanje.

Da li promena slike čuva podatke?

Reinstalacija u panelu često zamenjuje disk. Najpre izvezite konfiguraciju i podatke i proverite oporavak. To nije isto što i nadogradnja postojećeg izdanja.

Verzije paketa su dokumentovani primeri. Proverite aktuelne kandidate na svojoj mašini; kompatibilnost vaše aplikacije ovde nije testirana.

Nastavite sa povezanim zadatkom