Distrobox: چند توزیع لینوکس در 1 ترمینال

Distrobox یک ابزار کاربردی است که به شما اجازه می دهد هر توزیع لینوکسی را که لازم دارید در داخل ترمینال لینوکس فعلی خود اجرا کنید. البته بدون دست زدن به ساختار لینوکس فعلی.

هدف Distrobox: چند توزیع لینوکس در 1 ترمینال است که دست یافتن به آن به ساده ترین شکل ممکن قابل انجام است.

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

بنابراین، Distrobox چیست؟

Distrobox یک روکش برای podman یا داکر (هر کدام که شما دوست دارید) است. ابزار Distrobox برای شما کانتینرها را یکپارچه می کند، بگونه ای که شما فکر می کنید یک نرم افزار بومی روی بستر اوبونتوی فعلی خود نصب کرده اید.

بطورخلاصه:

Distrobox راهی است برای کانتینرایز کردن نرم افزار های مورد نیاز. حال ممکن است این نرم افزار روی توزیع خاصی نصب باشد و امکان راه اندازی آن روی توزیع فعلی نباشد. با این اوصاف در نهایت ما نرم افزار مورد نظر را به صورت کاملا native یا بومی در اختیار خواهیم داشت.

بهترین نکته ای که در رابطه با این تکنولوژی می توان بیان کرد این است که، شما می توانید محیط برنامه نویسی خود را بدون دسترسی root ایجاد کنید.

شما برای استفاده از ابزارها نیاز نیست هاست خود رو عوض کنید زیرا که نرم افزار در بهینه ترین حالت ممکن و مطابق پایدار ترین پلتفرم ممکن نصب شده است. در نتیجه شما در پس زمینه و درمحیط کاملا ایزوله نرم افزتر مورد نظر را مستقر کرده اید و به شکل کاملا دسترس پذیر (در محیط کاربری خود) آن را استفاده می نمایید.

ویژگی های Distrobox

اکنون که ایده وجود Distrobox را مطرح کردیم، به طور کلی میدانید که چه کارهایی می توان توسط Distrobox انجام داد؟

بررسی نکات کلیدی Distrobox بطور خلاصه:

  • امکان ایجاد یک محیط آزمایشی برای ایجاد تغییرات بدون تأثیر بر توزیع میزبان شما.
  • یک محیط توسعه که به دسترسی های sudo نیاز ندارد می تواند برای کار شما انعطاف پذیر باشد.
  • روشی آسان برای مدیریت چندین محیط
  • پشتیبانی از توزیع های مختلف

چگونه Distrobox را نصب کنیم؟

برای نصب Distrobox ابتدا باید پیشنیاز های آن را فراهم نمود. بدین منظور باید podman یا داکر را نصب کرده باشید. توصیه می کنم اگر توزیع لینوکسی نسبتاً مدرنی دارید، podman را از مخازن نرم افزار خود نصب کنید. در غیر این صورت، docker را نصب کرده و مراحل ذکر شده در زیر را دنبال کنید.

در زمان نوشتن این مقاله، Distrobox در مخازن توزیع های زیر موجود است:

  • Arch Linux (AUR)
  • EPEL 8 و
  • Fedora 34 و بالاتر
  • Ubuntu 22.10 و بالاتر

همانطور که ممکن است متوجه شده باشید، آخرین نسخه اوبونتو که برای عموم در دسترس است، اوبونتو 22.04 است. توزیع های زیادی هنوز Distrobox را بسته بندی نکرده اند.

اگر آن را در مخازن توزیع لینوکس خود پیدا نکردید، می توانید دستور زیر را برای نصب Distrobox استفاده کنید:

curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh

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

curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --prefix ~/.local

اکنون که Distrobox را نصب کرده اید، بیایید به چند نمونه از کاربردهای آن بپردازیم.

شروع کار با Distrobox

شاید کار کردن با لینوکس کمی مشکل به نظر برسه. ولی با یادگیری لینوکس به عنوان یک هکر می توانید از کار با این محیط لذت ببرید.

1. یک کانتینر جدید ایجاد کنید

یک \”کانتینر\” در اینجا به یک نرم افزار کانتینری مانند nextcloud، syncthing و … اشاره نمی کند، بلکه به یک سیستم عامل اشاره دارد.

دستور ایجاد یک کانتینر جدید به شرح زیر است:

distrobox-create --name CONTAINER-NAME --image OS-NAME:VERSION

در اینجا، می‌توانید موارد زیر را مشخص کنید:

  • نام کانتینر خود با CONTAINER-NAME
  • نام سیستم‌عاملی که می‌خواهید استفاده کنید با OS-NAME
  • نسخه سیستم‌عاملی که می‌خواهید استفاده کنید با VERSION

بیایید نگاهی به نحوه ایجاد یک کانتینر جدید برای Fedora 36 با نام \”fedoraonwebyar\” بیندازیم. با دستور زیر این کار را انجام خواهم داد:

distrobox-create --name fedoraonwebyar --image fedora:36

همچنین می‌توانید «36» را با «latest» جایگزین کنید، بدین طریق آخرین نسخه سیستم عاملی مورد نظر برای شما فراهم خواهد شد.

این دستور فقط طول می کشد تا image کانتینر فدورا 36 را دانلود کنید.

پس از اتمام فرآیند، پیامی دریافت خواهید کرد که به شما اطلاع می دهد که کانتینر ساخته شده است.

2. اجرا و ورود به کانتینر

اجرای یک کانتینر و ورود به سیستم عامل آن و دسترسی به آن جزو ضروریات ادامه کار است.

بدین منظور، از دستور \’distrobox-enter\’ استفاده کنید. سینتکس آن مانند زیر است:

distrobox-enter CONTAINER-NAME

هنگامی که کانتینر برای اولین بار راه اندازی می شود، Distrobox یک راه اندازی اولیه خودکار برای نصب چند کانتینر، تنظیم mount ها، قالب ها، آیکون ها، فونت ها، گروه ها، کاربران و موارد دیگر را ایجاد می کند.

بر اساس قدرت پردازش کامپیوتر شما، امکان دارد کمی زمانبر باشد. لطفاً برای اولین باربرای زمان تقریبی 15 دقیقه صبور باشید.

پس از تکمیل توسط شما، به طور خودکار در پوسته کانتینر آزاد خواهد شد.

ورود به کانتینر نصب شده توسط Distrobox توسط خود Distrobox انجام میشود. چرا که خود Distrobox این اقدام را انجام داده است.

اگر با دقت نگاه کنید، قبلاً، زمانی که من فرمان «distrobox-enter» را اجرا کردم، نام میزبان نشان داده شده در فرمان من «webyar» بود(در هنگامی که راه اندازی اولیه). اکنون من در پوسته ای با نام میزبان متفاوتی هستم، یعنی \”fedoraonwebyar\”.

اجازه دهید VERSION یا نسخه سیستم عامل نصب شده روی کانتینر را در فایل /os-release\’ مشاهده کنیم کنیم.

grep VERSION /etc/os-release

خروجی مشابه به زیرخواهد بود.

توصیه می کنیم به مقایسه متن نسخه (VERSION) بین اوبونتو و فدورا بپردازید.

3. نصب نرم افزار

اگر به این مرحله رسیده اید، مانند آن است که یک فدورای تازه نصب شده روی رایانه داریم و به تازگی بوت شده است.از این رو میتوانیم هرآنچه می خواهیم روی آن نصب نماییم.

دقیقا مانند ماشین مجازی، سیستم عاملی که روی کانتینر نصب شده کاملا از سیستم عامل میزبان مجزا است و برای نصب نرم افزار تنها نیاز به ابزار مدیریت بسته DNF است که این ابزار اختصاصی فدورا است.

در این مثال Foliate نصب گردید. دلیل استفادت از این ابزار این است که به تازگی برای اوبونتو نرم افزار هایی ارائه نموده است. ولی چون قبلا برای فدورا وجود داشت از این مثال استفاده کردیم تا کاربردی آن را بیان کنیم.

دستور زیر را روی کانتینر استفاده کنید تا Foliate روی فدورا نصب گردد.

sudo dnf install foliate.noarch

برای دسترسی از خارج از فدورا روی کانتینر دستور زیر را وارد کنید.

distrobox-export --app foliate

وقتی دستور distrobox-export اجرا شد میتوانید در لیست نرم افزار های اوبونتو آیکون Foliate را مشاهده کنید و از آن برای نمایش فایل های pdf استفاده نمایید.

جذاب نیست

4.تطبیق نرم افزار کانتینر با محیط کاربری اوبونتو

بنظر شما چه اتفاقی می افتد؟ آیا لازم است تا فایل داکیومنت مورد نظر را در جایی دیگر (مثلا به داخل فضای کانتینر) کپی کنیم؟

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

دقت بفرمایید، چقدر جذاب! حتی نمای محیط کاربری را هم که تغییر می دهیم اعمال میگردد. و حتی آیکون نرم افزار به درستی در سیستم عامل اوبونتو تشخیص داده می شود.

کاملا مثل نرم افزار بومی اوبونتو با سیستم تطبیق پیدا می کند.

5. مدیریت ایمیج های Distrobox

Distobox دستوراتی را برای مدیرست ایمیج ها فراهم نموده است.

اولین دستور distrobox list است. همان طور که از نام آن پیدا است لیستی از نام تمام کانتینر های نصب شده را بازگردانی می کند.

دستور بعدی distrobox stop است که کمک می کند تا کانتینر درحال اجرا را متوقف کنیم.

سیسنتکس آن در زیر قابل مشاهده است:

distrobox stop CONTAINER-NAME

در نهایت نیاز به حذف کانتینر ها می باشد که دستور distrobox rm نیز بدسن منظور فراهم شده است.

سیسنتکس آن در زیر قابل مشاهده است:

distrobox rm CONTAINER-NAME

مانیتور کانتینر های داکر با زبیکس

همیشه پارامتریک (بر اساس دریافت اطلاعات از سیستم) تصمیم گیری کنید. چون شما یک مهندس هستید و باید علمی برخورد کنید. دکتر ها نیز از طریق مشاهده علائمی از طرف بدن انسان (به عنوان یک سیستم پیچیده) راجع به آن تصمیم گیری می کنند و تجویز های علمی صادر می کنند.

سبد خرید
پیمایش به بالا