من در طول سالها تعداد زیادی توزیع لینوکس را امتحان کردهام، تا جایی که حتی فهرستی از توزیعهایی که میتوانم به دیگران توصیه کنم، دارم. اما جستوجوی توزیعها پس از مدتی خستهکننده میشود.
من طی سالها توزیعهای متنوع لینوکس را امتحان کردهام، تا جایی که حتی فهرستی از توزیعهایی که به دیگران توصیه میکنم دارم. اما جستوجوی مداوم توزیعها پس از مدتی خستهکننده میشود.
استفاده از ماشینهای مجازی کمک میکند، اما برای من به اندازه کافی سبک نبود. چیزی که واقعاً میخواستم شبیه Docker باشد، اما مخصوص استفاده روزمره از لینوکس ساخته شده باشد. ابزاری که وقتی نیاز دارم به توزیع دیگری بپرسم و فکر میکنم Distrobox دقیقاً ابزار مناسب برای این است.

Distrobox ابزار سبکی است که به شما اجازه میدهد توزیعهای دیگر لینوکس را داخل کانتینرها اجرا کنید در حالی که یکپارچگی نزدیک با سیستم میزبان حفظ میشود. این ابزار برای تست سریع، توسعه، و اجرای ابزارهای مخصوص توزیع بدون دردسر نصب کامل یا ماشینهای مجازی ایدهآل است.
Distrobox چیست؟
ایدهای بهتر از ماشینهای مجازی
در اصل، Distrobox به شما اجازه میدهد توزیعهای دیگر لینوکس را داخل توزیع فعلیتان اجرا کنید، مشابه اجرای لینوکس از طریق WSL. این کار را با استفاده از ابزارهای کانتینری مانند Podman یا Docker انجام میدهد، به این معنی که هستهٔ یکسانی را به اشتراک میگذارید به جای مجازیسازی یک سیستم کامل همانطور که یک VM انجام میدهد.
به همین دلیل است که این روش بسیار کارآمدتر است. چون هستهٔ جداگانهای وجود ندارد. بهجای راهاندازی یک ماشین مجازی کامل، هستهٔ سیستم میزبان بهاشتراک گذاشته میشود که بار اضافی را کم میکند. استفاده از آن حس نزدیکتری به تعویض محیطها در ترمینال دارد تا اجرای یک سیستمعامل دیگر.
این نوع تنظیمات در بسیاری از سناریوهای واقعی معنا دارد. اگر یک توسعهدهنده باشید، میتوانید یک سیستم میزبان پایدار داشته باشید در حالی که زنجیرههای ابزار مختلف را بهصورت همزمان اجرا میکنید، مثلاً یک محیط Ubuntu برای استفاده از apt یا یک Arch برای بستههای جدیدتر.
اما این تنها برای توسعهدهندگان نیست. ممکن است بخواهید یک برنامهٔ تک که در توزیع دیگری بهتر عمل میکند اجرا کنید، نرمافزار را بدون بههمریختن نصب اصلیتان تست کنید، یا یک توزیع متفاوت را بدون نیاز به نصب مجدد امتحان کنید. اینها دقیقاً موقعیتهایی هستند که معمولاً افراد را به جستوجوی توزیعها میکشاند، و Distrobox تمام اینها را بدون اجبار به تغییر سیستم پایهتان انجام میدهد.

نه لینوکس، نه ویندوز. چیزی بهتر.
راهاندازی آن آسان است
نه، نیازی به دانلود یک ISO ۴ گیگابایتی ندارید

نصب Distrobox به همان سادگی نصب هر بستهٔ دیگری است. در یک سیستم مبتنی بر Arch، میتوانید آن را مستقیماً از طریق Pacman نصب کنید.
sudo pacman -S distrobox
اگر از مدیر بستهٔ دیگری استفاده میکنید، دستور واضحاً کمی متفاوت خواهد بود، اما Distrobox در اکثر مدیران بسته موجود است. به یاد داشته باشید که برای استفاده از Distrobox باید Podman یا Docker را نصب کنید، چون Distrobox از یکی از اینها برای اجرای کانتینرها زیر سطح استفاده میکند، همانطور که پیشتر اشاره کردم.
ایجاد یک کانتینر فقط با یک دستور انجام میشود. برای مثال، این یک محیط Ubuntu ایجاد میکند:
distrobox create --name ubuntu-box --image ubuntu
پرچم –name صرفاً برای این است که بدانید کانتینر برای چه منظوری است و –image توزیعی که میخواهید استفاده کنید را تعریف میکند. میتوانید Ubuntu را با چیزی مثل Arch Linux یا Fedora جایگزین کنید.
پس از ایجاد کانتینر، با این دستور وارد آن میشوید:
distrobox enter ubuntu-box
بهصورت مستقیم به یک پوستهٔ مشابه یک نصب عادی Ubuntu منتقل میشوید، که شامل مدیر بسته و ابزارهای خاص خود است.
میتوانید این فرآیند را هر تعداد که میخواهید تکرار کنید. یک کانتینر برای ابزارهای Arch، دیگری برای برنامههای مخصوص Ubuntu، شاید یک کانتینر Fedora برای تست. همه بهصورت همزمان وجود دارند و اگر دیگر نیازی به یکی نداشتید، میتوانید آن را حذف کنید و ادامه دهید.
شما میتوانید کارهای جذاب دیگری هم با آن انجام دهید
برنامههای CLI کمی کسلکنندهاند

Distrobox میتواند بیش از اجرای یک سیستمعامل در پوستهٔ شما انجام دهد. به عنوان مثال، میتواند برنامهها را با یک رابط گرافیکی کامل اجرا کند و با وارد کردن این دستور میتوانید آنها را بهعنوان برنامههای معمولی در سیستم میزبان خود نشان دهید:
distrobox-export --app appname
این کار یک ورودی دسکتاپ بر روی سیستم میزبان شما برای آن برنامه ایجاد میکند. از این به بعد، در لانچر برنامههای شما ظاهر میشود همانند هر برنامه بومی دیگر، حتی اگر هنوز داخل کانتینر اجرا میشود. واضحاً، مطمئن شوید که appname را با نام واقعی برنامهای که میخواهید اضافه کنید، جایگزین کنید.
در خبرنامه برای نکات Distrobox مشترک شوید
همچنین میتوانید ابزارهای خط فرمان را بههمین روش استخراج کنید. پس از استخراج، میتوانید آنها را مستقیماً از ترمینال میزبان خود اجرا کنید بدون اینکه هر بار بهصورت دستی وارد کانتینر شوید. در پسزمینه، Distrobox فقط فرمان را به محیط مناسب برای شما میفرستد.
نکتهٔ مهم این است که هیچ چیزی بهطور واقعی روی سیستم اصلی شما نصب نمیشود. اگر بعداً کانتینر را حذف کنید، برنامه همراه آن ناپدید میشود. این ویژگی برای اجرای برنامههای مخصوص توزیع یا ابزارهای آزمایشی که نمیخواهید بهصورت دائم میزبانتان را شلوغ کنند، عالی است.
این روش برای جداسازی موارد بدون ایجاد پیچیدگی مفید است. میتوانید یک کانتینر را به آزمایشها اختصاص دهید، دیگری به ابزارهای کاری، و سیستم اصلی خود را تمیز نگه دارید. اگر چیزی خراب شد، نیازی به رفع مشکل بهساعات ندارید؛ فقط کانتینر را حذف کنید و ادامه دهید.

پتانسیل دارد، اما آنچنان که فکر میکنید خوب نیست.
این جادو نیست، و جایگزین توزیع میزبان شما نمیشود
این ابزار برای ایجاد سریع محیطها و کارهای توسعه عالی است، اما پیش از مغرور کردن بیش از حد Distrobox، چند نکته را باید در نظر بگیرید.
برنامههای GUI میتوانند خوب کار کنند، اما همواره سازگار نیستند. من با مشکلات فراوانی در برنامههای Electron مواجه شدهام، بنابراین انتظار نمیرود همه چیز بهطور کامل کار کند. اکثر ابزارهای خط فرمان، از سوی دیگر، بهخوبی کار میکنند و جایی است که Distrobox واقعا میدرخشد.
یک تصور نادرست رایج دیگر، امنیت است. Distrobox یک sandbox امنیتی نیست. کانتینرها دایرکتوری خانهٔ شما را با میزبان بهاشتراک میگذارند و سیستم شما میتواند در صورت اجرای هر چیزی مخرب تحت تأثیر قرار گیرد. این ابزار برای راحتی است، نه برای ایزولهسازی یا تقویت امنیتی.