Daftar isi
Susun 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 ulangSusun 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 -mGeser tabel ke samping untuk melihat semua kolom.
| Hasil | Artinya |
|---|---|
| VERSION_ID pada /etc/os-release | Rilis Ubuntu terpasang, misalnya 24.04 |
| uname -r | Kernel yang sedang berjalan |
| amd64 pada dpkg / x86_64 pada uname | Nama paket dan mesin untuk x86 64-bit |
| arm64 pada dpkg / aarch64 pada uname | Nama 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.'
fiStatus 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.logSkrip 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-16Installed: (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; fiTinjau 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.
| Catatan | Isi yang diperlukan |
|---|---|
| Sistem operasi | Rilis, arsitektur, kernel, dan ID image |
| Aplikasi | Build, runtime, lockfile, dan asal repositori |
| Provisioning | Hasil dan konfigurasi tanpa rahasia |
| Pengujian | Alur yang diuji, hasil, kegagalan terbuka |
| Pemeliharaan | Pemilik paket, jadwal, penerima peringatan |
| Pemulihan | Lokasi 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.