Panduan praktis / Image dan kompatibilitas

Memilih image Ubuntu dan memeriksa kompatibilitasnya

Cocokkan image Ubuntu dengan versi aplikasi dan arsitektur sebelum memesan VPS. Setelah mesin dibuat, periksa sistem yang terpasang, proses inisialisasi, kandidat paket, dan perilaku aplikasi. Nama image saja belum membuktikan semuanya kompatibel.

VPSuntu · Diperbarui: 27 September 2026 · sekitar 4 menit baca

Daftar isiSusun persyaratan sebelum provisioningIdentifikasi image yang benar-benar diterimaPeriksa proses inisialisasiPeriksa kandidat paket dan repositoriUji satu keputusan kompatibilitasMasukkan container dan dukungan paket dalam rencanaBedakan pembaruan paket dan upgrade rilisTinggalkan catatan yang dapat dipakai ulang

Susun persyaratan sebelum provisioning

Catat rilis Ubuntu, runtime, database, ekstensi, container, serta agen backup dan pemantauan yang didukung. Bedakan dukungan vendor dari konfigurasi yang pernah diuji sendiri. Periksa sisa pemeliharaan dan ketersediaan image pada region tujuan sebelum memindahkan data.

Ubuntu 24.04 memberikan contoh konkret: rilis ini memperkenalkan Python 3.12 sebagai default, PHP 8.3, dan PostgreSQL 16. Versi patch berubah lewat pembaruan. Aplikasi yang hanya mendukung versi utama lama belum tentu sesuai. Cocokkan kebutuhan dengan tabel masa pemeliharaan LTS.

Identifikasi image yang benar-benar diterima

Jalankan pemeriksaan baca-saja berikut di VPS, lalu simpan hasil bersama catatan deployment sebelum menambah software.

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

Geser tabel ke samping untuk melihat semua kolom.

HasilArtinya
VERSION_ID pada /etc/os-releaseRilis Ubuntu terpasang, misalnya 24.04
uname -rKernel yang sedang berjalan
amd64 pada dpkg / x86_64 pada unameNama paket dan mesin untuk x86 64-bit
arm64 pada dpkg / aarch64 pada unameNama umum untuk Arm 64-bit

String kernel tidak menentukan rilis Ubuntu atau seluruh cakupan dukungannya. Penyedia dapat memakai kernel khusus cloud. Binary amd64 tidak otomatis native pada arm64; cari build yang sesuai atau alternatif yang didukung.

Periksa proses inisialisasi

Banyak image memakai cloud-init untuk akun, kunci, serta jaringan. Periksa keberadaannya dahulu. Tidak adanya cloud-init belum tentu masalah; pastikan metode provisioning penyedia.

if command -v cloud-init >/dev/null 2>&1; then
    cloud-init status --long
else
    printf '%s\n' 'cloud-init tidak terpasang; periksa metode penyiapan image dari penyedia.'
fi

Status running berarti proses belum selesai. Error atau degraded perlu diselidiki walaupun SSH berhasil. Bila cloud-init tersedia, periksa log terkait.

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

Skrip inisialisasi dapat mencetak rahasia; samarkan log sebelum dibagikan. Jangan menjalankan cloud-init clean atau mengganti file jaringan hanya untuk menghilangkan error. Provisioning selesai juga tidak membuktikan database, aplikasi, dan backup sehat.

Periksa kandidat paket dan repositori

Muat ulang metadata, kemudian periksa kandidat software yang dibutuhkan. apt update tidak memasang paket aplikasi pada contoh ini.

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

Installed: (none) berarti paket belum terpasang. Candidate: (none) berarti sumber paket saat ini tidak menyediakannya. Periksa nama, arsitektur, serta komponen Ubuntu sebelum menambah repositori sembarang.

Metapackage seperti php dan postgresql memilih implementasi default; periksa paket berversi juga. python3 --version dan php --version memeriksa executable yang dipanggil. Versi server database yang berjalan dapat berbeda dari alat client.

Uji satu keputusan kompatibilitas

Misalkan aplikasi hanya mendukung Python 3.10 dan menyediakan ekstensi native hanya untuk amd64. Ini persyaratan hipotetis, bukan produk tertentu. Image Ubuntu 24.04 arm64 default gagal pada dua hal: Python default 3.12 dan arsitektur ekstensi berbeda.

Mengganti ke amd64 hanya menyelesaikan masalah arsitektur. Virtual environment memakai interpreter pembuatnya; lingkungan itu tidak mengubah Python 3.12 menjadi 3.10. Jangan mengganti Python sistem Ubuntu demi aplikasi.

Pertimbangkan pembaruan aplikasi atau runtime/container terpisah dengan pemelihara dan dukungan jelas. Image Ubuntu lebih lama tetap mempunyai batas pemeliharaan sendiri. Uji jalur kode ekstensi, operasi database, pekerjaan latar, dan backup/restore di staging; halaman utama berhasil saja terlalu sempit.

Masukkan container dan dukungan paket dalam rencana

Container memisahkan dependensi sambil menggunakan kernel, storage, serta jaringan host. Pilih build yang didukung platform; emulasi tidak boleh dianggap setara dengan native. Simpan data dalam volume terdokumentasi atau storage eksternal dan coba pulihkan terpisah dari container.

Catat rilis atau digest agar konfigurasi dapat dibuat ulang, lalu jadwalkan pembaruan. Image rentan yang dipin selamanya tetap berisiko. Pemeliharaan keamanan standar Ubuntu dan Ubuntu Pro memiliki cakupan berbeda. Repositori pihak ketiga, binary unduhan, serta image container memiliki pemelihara masing-masing.

Bedakan pembaruan paket dan upgrade rilis

Setelah metadata paket dimuat ulang, periksa perubahan tertunda serta layanan gagal. Perintah berikut tidak menjalankan upgrade distribusi.

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

Tinjau pembaruan pada waktu pemeliharaan yang sesuai, lalu ulangi uji aplikasi. Layanan bisa restart. Penanda reboot berguna bila ada, tetapi ketiadaannya tidak membuktikan seluruh komponen mutakhir.

Uji upgrade rilis di salinan atau mesin baru. Periksa runtime, repositori, migrasi database, dan ekstensi. Rencanakan sinkronisasi data terakhir serta pembatalan perubahan yang memperhitungkan penulisan baru. Snapshot sebelum upgrade tidak memuat pesanan pelanggan yang datang kemudian.

Tinggalkan catatan yang dapat dipakai ulang

Geser tabel ke samping untuk melihat semua kolom.

CatatanIsi yang diperlukan
Sistem operasiRilis, arsitektur, kernel, dan ID image
AplikasiBuild, runtime, lockfile, dan asal repositori
ProvisioningHasil dan konfigurasi tanpa rahasia
PengujianAlur yang diuji, hasil, kegagalan terbuka
PemeliharaanPemilik paket, jadwal, penerima peringatan
PemulihanLokasi backup, prosedur, restore terakhir

Simpan rahasia di luar catatan dan version-control konfigurasi nonrahasia. Untuk cloud gratis, gunakan pembuatan VM Ubuntu. Jika image sudah cocok, lanjutkan konfigurasi HTTPS.

Keluarga paket Ubuntu 24.04 adalah contoh terdokumentasi. Periksa kandidat terbaru pada image tujuan dan uji aplikasi Anda; tidak ada hasil uji kompatibilitas aplikasi tertentu.

Pertanyaan umum

Apakah Ubuntu 24.04 selalu pilihan terbaik?

Ini versi contoh. Pilih rilis yang didukung aplikasi lengkap dan penyedia, lalu catat sisa pemeliharaannya. Versi lebih baru atau lebih lama dapat membutuhkan perubahan aplikasi.

Apakah mengganti image mempertahankan data?

Reinstall penyedia biasanya mengganti disk server. Periksa prosedur, ekspor data serta konfigurasi, dan uji pemulihan sebelumnya. Reinstall berbeda dari upgrade rilis di tempat.

Apakah virtual environment mengubah versi Python?

Tidak. Lingkungan virtual memakai interpreter yang membuatnya. Gunakan runtime yang didukung tanpa mengganti Python sistem sembarangan.

Langkah terkait

Lanjutkan sesuai kebutuhan.

Periksa konfigurasi yang tersedia.

Sesuaikan pilihan dengan aplikasi dan kebutuhan pemulihan.

Lihat pilihan VPS

Tautan afiliasi · Periksa ketentuan penyedia.