راهنمای کاربردی / ایمیج و سازگاری

انتخاب نسخه اوبونتو برای سرور و بررسی ایمیج

انتخاب نسخه اوبونتو برای سرور باید از نیاز برنامه شروع شود. بعد از ساخت ماشین هم نسخه واقعی، معماری، آماده‌سازی اولیه و بسته‌های در دسترس را بررسی کنید؛ نام ایمیج در فرم سفارش جای آزمایش برنامه را نمی‌گیرد.

VPSuntu · به‌روزرسانی: ۲۷ سپتامبر ۲۰۲۶ · حدود 4 دقیقه مطالعه

فهرست راهنما

فهرست سازگاری پیش از سفارش

نسخه‌های Ubuntu، محیط اجرا، پایگاه داده، افزونه بومی، ابزار پایش و بکاپ مورد پشتیبانی برنامه را ثبت کنید. سپس بررسی کنید ارائه‌دهنده همان نسخه و معماری را در ناحیه مورد نیاز عرضه می‌کند.

Ubuntu 24.04 در زمان انتشار Python 3.12، PHP 8.3 و PostgreSQL 16 را ارائه کرد؛ نسخه اصلاحی بسته‌ها با به‌روزرسانی تغییر می‌کند. سازگاری با نسخه اصلی قدیمی‌تر، پشتیبانی از این ترکیب را ثابت نمی‌کند.

نسخه و معماری دریافت‌شده را شناسایی کنید

فرمان‌های زیر فقط اطلاعات را می‌خوانند. خروجی را پیش از نصب نرم‌افزار بیشتر همراه یادداشت انتشار ذخیره کنید.

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

برای دیدن همه ستون‌ها، جدول را به‌صورت افقی جابه‌جا کنید.

خروجیمعنا
VERSION_IDنسخه توزیع نصب‌شده
uname -rهسته در حال اجرا؛ ممکن است پس از به‌روزرسانی و راه‌اندازی عوض شود
amd64 و x86_64نام‌های رایج معماری x86 شصت‌وچهاربیتی
arm64 و aarch64نام‌های رایج معماری Arm شصت‌وچهاربیتی

رشته نسخه هسته به‌تنهایی نسخه یا پوشش پشتیبانی اوبونتو را مشخص نمی‌کند. هسته می‌تواند مخصوص محیط ابری باشد.

آماده‌سازی اولیه را بررسی کنید

برخی ایمیج‌ها برای کلید، حساب و شبکه از cloud-init استفاده می‌کنند. نبودن آن الزاماً خطا نیست؛ روش آماده‌سازی ارائه‌دهنده را مشخص کنید.

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

اگر آماده‌سازی هنوز در حال اجراست صبر کنید؛ حالت خطا یا degraded را حتی با SSH فعال بررسی کنید. در صورت وجود cloud-init، گزارش‌های مرتبط را ببینید.

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

پیش از اشتراک گزارش، اطلاعات حساس را حذف کنید. اجرای cloud-init clean یا تعویض فایل شبکه برای پنهان کردن خطا راه تشخیص نیست.

بسته‌های پیشنهادی را پیش از نصب ببینید

فهرست بسته‌ها را تازه کنید و نسخه پیشنهادی و مخزن تأمین‌کننده را ثبت کنید. این فرمان‌ها بسته برنامه را نصب نمی‌کنند.

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

Installed: (none) یعنی بسته نصب نشده؛ Candidate: (none) یعنی منابع فعلی بسته‌ای پیشنهاد نمی‌دهند. ابتدا نام، معماری و بخش‌های مخزن را بررسی کنید، نه اینکه یک مخزن نامعلوم اضافه کنید. نسخه برنامه در حال اجرا را هم مستقل از نام بسته بخوانید.

تصمیم سازگاری را با مسیر واقعی برنامه بسنجید

فرض کنید برنامه فقط Python 3.10 و افزونه بومی amd64 دارد. ایمیج پیش‌فرض Ubuntu 24.04 arm64 دو ناسازگاری دارد. انتخاب amd64 معماری را حل می‌کند، اما Python پیش‌فرض را تغییر نمی‌دهد. محیط مجازی Python نیز نسخه مفسر سازنده خود را عوض نمی‌کند.

Python سیستم اوبونتو را برای حل نیاز یک برنامه جایگزین نکنید. ارتقای برنامه یا محیط اجرای مستقل دارای برنامه نگهداری را بررسی کنید. مسیر افزونه، عملیات پایگاه داده، کار پس‌زمینه و بازیابی را در محیط آزمایشی اجرا کنید.

نگهداری بسته و ارتقای نسخه را جدا کنید

اوبونتو، مخزن شخص ثالث و ایمیج کانتینر متولی و پوشش متفاوت دارند. ثابت کردن نسخه برای تکرارپذیری، برنامه به‌روزرسانی امنیتی را حذف نمی‌کند. پس از تازه کردن فهرست بسته‌ها، وضعیت را ببینید.

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

ارتقای توزیع را روی کپی یا ماشین تازه آزمایش کنید. بازگشت به اسنپ‌شات قبل از ارتقا، سفارش یا داده نوشته‌شده بعد از آن را برنمی‌گرداند. نسخه‌ها، منابع بسته، نتیجه تست و آخرین بازیابی را ثبت کنید. سپس انتشار نخستین سایت را انجام دهید.

نسخه‌های نرم‌افزار مثال‌های سازگاری‌اند. نام بسته، نسخه پیشنهادی و پشتیبانی برنامه را در ایمیج واقعی بررسی کنید؛ این صفحه نتیجه تست همه ترکیب‌ها نیست.

پرسش‌های رایج

آیا جدیدترین LTS همیشه بهترین انتخاب است؟

پنجره نگهداری طولانی مفید است، اما فقط وقتی برنامه، ابزارها و ارائه‌دهنده آن نسخه را پشتیبانی کنند.

آیا تعویض ایمیج داده را حفظ می‌کند؟

نصب مجدد ارائه‌دهنده معمولاً دیسک را جایگزین می‌کند. روش دقیق را بخوانید و پیش از اقدام بازیابی نسخه مستقل را آزمایش کنید.

کانتینر نیاز به بررسی معماری را از بین می‌برد؟

خیر. ساخت مناسب پلتفرم، افزونه‌های بومی و وابستگی به هسته میزبان همچنان مهم‌اند.

برای ادامه کار

منابع و امکان بازیابی را با هم بسنجید.

با نیازهای مشخص‌شده، شرایط محیط مناسب پروژه را بررسی کنید.

بررسی سرورها

لینک همکاری · شرایط فعلی ارائه‌دهنده را بررسی کنید.