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.
VPSuntu · 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 -mPada skrin kecil, tatal jadual ke sisi untuk melihat semua lajur.
| Output | Maksud |
|---|---|
| VERSION_ID dalam /etc/os-release | Versi Ubuntu yang dipasang |
| uname -r | Kernel yang sedang digunakan |
| amd64 / x86_64 | Nama pakej / mesin untuk x86 64-bit |
| arm64 / aarch64 | Nama 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.'
fiJika 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.logLog 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-16Installed: (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; fiSelepas 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.