linuxLinux distributionتوزیع لینوکس چیست؟ تفاوت با نسخهٔ هسته
توزیع لینوکس مجموعهٔ هماهنگ هسته، بستهها و ابزارهای مدیریتی است؛ تفاوت نام توزیع با نسخهٔ کرنل و روش تشخیص آن را یاد بگیرید.
مفهوم به زبان ساده
توزیع لینوکس یک محیط نرمافزاری هماهنگ بر پایهٔ هستهٔ لینوکس است که بستهها، نصبکننده، ابزارهای مدیریتی و سیاست انتشار خودش را دارد. اوبونتو و دبیان دو نمونهاند. عبارت «نسخهٔ لینوکس» ممکن است به انتشار توزیع یا نسخهٔ هسته اشاره کند؛ این دو عدد یک چیز نیستند. برای پیروی از راهنمای نصب باید نام و انتشار توزیع، معماری و نیازهای خود برنامه را جدا بشناسید.
یک دستور مدیریت بسته که برای توزیعی نوشته شده، الزاماً روی دیگری موجود نیست. حتی نام واحد یک سرویس یا محل پیکربندی میتواند تفاوت داشته باشد. بنابراین هنگام گزارش خطا، اطلاعات واقعی میزبان یا محیط اجرای برنامه را ثبت کنید و نتیجه را از ظاهر ترمینال حدس نزنید. در کانتینر، فایل os-release معمولاً محیط فایلسیستم تصویر را معرفی میکند؛ این مشاهده را با مشخصات کامل میزبان یکی ندانید.
مثال با Python 3.10 یا بالاتر، اطلاعات انتشار را با رابط کتابخانهٔ استاندارد میخواند. ID یک شناسهٔ مناسب پردازش است و VERSION_ID ممکن است در بعضی سیستمها وجود نداشته باشد. به همین دلیل برای نبودنش متن مشخصی انتخاب کردهایم. خروجی نمونه مربوط به اوبونتو ۲۴٫۰۴ است و روی دستگاه شما ممکن است متفاوت باشد. این فرمان بستهای نصب یا پیکربندی سیستم را تغییر نمیدهد؛ فقط اطلاعات محیط جاری را میخواند.
کجا به کار میآید؟
- انتخاب راهنمای نصب متناسب با توزیع و انتشار واقعی
- افزودن اطلاعات قابل بررسی به گزارش خطای آزمایشگاه
از تعریف تا یک مثال واقعی
python3 - <<'PY'
import platform
info = platform.freedesktop_os_release()
print('ID=' + info.get('ID', 'not-set'))
print('VERSION_ID=' + info.get('VERSION_ID', 'not-set'))
PY
نمونه برای Ubuntu 24.04: ID=ubuntu VERSION_ID=24.04 این مقادیر به سیستم شما وابستهاند.
این مثال چطور کار میکند؟
کتابخانه، اطلاعات انتشار سیستم جاری را میخواند.
شناسهٔ توزیع از شمارهٔ انتشار جدا چاپ میشود.
اگر VERSION_ID موجود نباشد، not-set بهجای حدسزدن نمایش داده میشود.
اشتباه رایج
شمارهٔ خروجی uname -r را شمارهٔ انتشار توزیع نخوانید؛ همچنین نام آخرین انتشار را برای همهٔ میزبانهای موجود فرض نکنید.
این را به خاطر بسپارید
دستور نصب و پیکربندی را با توزیع و انتشار همان محیط تطبیق دهید.