Panduan praktikal / Imej dan pakej

Semak versi dan seni bina Ubuntu sebelum migrasi

Versi dan seni bina Ubuntu menentukan sama ada runtime, sambungan asli dan alat pemulihan anda boleh digunakan. Pilih imej berdasarkan sokongan aplikasi, kemudian periksa sistem yang benar-benar diterima sebelum memindahkan data.

· Dikemas kini · Anggaran bacaan 4 minit

Dalam panduan ini

Semak sokongan sebelum penciptaan

Senaraikan versi Ubuntu, runtime dan pangkalan data yang disokong aplikasi. Semak seni bina setiap binari, imej container serta agen sandaran. Pastikan penyedia menawarkan gabungan tersebut dalam rantau yang diperlukan. Tempoh penyelenggaraan yang panjang hanya membantu jika semua komponen serasi.

Ubuntu 24.04 memperkenalkan Python 3.12, PHP 8.3 dan PostgreSQL 16 sebagai versi lalai berkaitan. Versi tampalan berubah melalui kemas kini. Aplikasi yang menyokong versi utama lama tidak semestinya menyokong versi ini. Rujuk jadual Ubuntu LTS untuk tempoh penyelenggaraan.

Kenal pasti sistem yang diterima

Jalankan arahan baca sahaja ini di dalam VPS. Simpan output bersama nota pelaksanaan sebelum memasang perisian tambahan.

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

Pada skrin kecil, tatal jadual ke sisi untuk melihat semua lajur.

OutputMaksud
VERSION_ID dalam /etc/os-releaseVersi Ubuntu yang dipasang
uname -rKernel yang sedang digunakan
amd64 / x86_64Nama pakej / mesin untuk x86 64-bit
arm64 / aarch64Nama biasa bagi Arm 64-bit

Nama kernel sahaja tidak menentukan versi Ubuntu atau liputan sokongannya. Imej awan boleh menggunakan kernel khusus. Jangan anggap binari amd64 berjalan secara asli pada arm64; sahkan binaan yang sesuai atau alternatif yang disokong.

Pastikan proses awal selesai

Banyak imej menggunakan cloud-init untuk akaun, kunci dan rangkaian. Periksa kewujudannya dahulu. Ketiadaannya sahaja bukan ralat; penyedia mungkin menggunakan kaedah lain.

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

Jika status masih running, tunggu dan semak lagi. Status error atau degraded perlu disiasat walaupun SSH berfungsi. Apabila cloud-init tersedia, periksa log berikut.

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

Log mungkin mengandungi nilai sensitif daripada skrip awal. Padamkan maklumat tersebut sebelum berkongsi. Jangan jalankan cloud-init clean atau menggantikan fail rangkaian hanya untuk menghilangkan ralat. Status selesai belum membuktikan pangkalan data dan tugasan sandaran sihat.

Semak calon pakej tanpa memasang aplikasi

Kemas kini indeks pakej dan lihat calon bagi komponen yang akan digunakan. Arahan ini tidak memasang pakej aplikasi tersebut.

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

Installed: (none) bermaksud belum dipasang; Candidate: (none) bermaksud sumber pakej semasa tidak menyediakannya. Semak nama, seni bina dan komponen repositori sebelum menambah repositori rawak.

Metapakej php atau postgresql memilih implementasi lalai. Semak pakej bernombor versi juga. Untuk perisian sedia ada, periksa executable atau servis sebenar; versi klien pangkalan data boleh berbeza daripada server.

Selesaikan konflik versi secara sengaja

Bayangkan aplikasi hanya menyokong Python 3.10 dan sambungan aslinya hanya tersedia untuk amd64. Ini contoh andaian. Ubuntu 24.04 arm64 gagal pada kedua-dua syarat: Python lalai 3.12 dan seni bina berbeza. Menukar kepada amd64 hanya menyelesaikan satu daripadanya.

Virtual environment menggunakan interpreter yang menciptanya; ia tidak menukar Python 3.12 kepada 3.10. Jangan menggantikan Python sistem Ubuntu untuk memaksa aplikasi berjalan. Pertimbangkan naik taraf aplikasi atau runtime/container yang diselenggara secara berasingan. Ubuntu yang lebih lama juga mempunyai had penyelenggaraannya sendiri.

Uji fungsi yang menggunakan sambungan asli, operasi pangkalan data, tugasan latar serta satu kitaran sandaran dan pemulihan. Catat binaan aplikasi dan versi komponen. Pemasangan yang berjaya sahaja bukan ujian penerimaan lengkap.

Rancang container dan penyelenggaraan

Container mengasingkan kebergantungan aplikasi tetapi masih bergantung pada kernel, storan dan rangkaian hos. Semak binaan untuk platform sasaran. Emulasi mengubah andaian prestasi serta sokongan. Simpan data dalam volume yang didokumenkan dan cuba pulihkannya secara berasingan.

Pin versi atau digest untuk kebolehulangan sambil menjadualkan kemas kini. Ubuntu Main, Ubuntu Pro, repositori pihak ketiga dan imej container mempunyai liputan serta penjaga yang berbeza. Catat siapa yang mengemas kini setiap lapisan.

Bezakan kemas kini pakej dan naik taraf keluaran

Arahan berikut menyemak pakej tertunda dan servis gagal. Ia tidak melakukan naik taraf keluaran Ubuntu.

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

Selepas perubahan, ulang ujian aplikasi. Servis mungkin dimulakan semula. Penanda reboot membantu apabila wujud; ketiadaannya bukan bukti semua komponen sudah terkini. Uji naik taraf keluaran pada salinan atau mesin baharu, termasuk migrasi pangkalan data, repositori dan laluan kembali yang mengambil kira penulisan baharu.

Simpan versi OS, seni bina, ID imej, binaan aplikasi, asal repositori, ujian penerimaan dan hasil pemulihan tanpa rahsia. Apabila persekitaran sesuai, ikuti langkah penerbitan HTTPS.

Soalan lazim

Adakah Ubuntu 24.04 sentiasa pilihan terbaik?

Ia contoh khusus untuk arahan ini. Pilih keluaran yang masih disokong, serasi dengan semua aplikasi dan tersedia daripada penyedia.

Bolehkah imej ditukar tanpa kehilangan data?

Pemasangan semula oleh penyedia lazimnya menggantikan cakera. Semak prosedur, eksport data dan uji pemulihan dahulu. Ia berbeza daripada naik taraf keluaran dalam sistem sedia ada.

Catat keputusan sebenar daripada VPS anda. Kejayaan pemasangan bukan bukti semua aliran aplikasi dan sandaran telah diuji.

Teruskan dengan panduan berkaitan