toolbox(1) General Commands Manual toolbox(1)

toolbox - ابزاری برای محیط‌های تعاملی خط فرمان در لینوکس

toolbox [--assumeyes | -y]
[--help | -h]
[--log-level LEVEL]
[--log-podman]
[--verbose | -v]
COMMAND [ARGS...]

Toolbx ابزاری برای لینوکس است که امکان استفاده از محیط‌های خط فرمان تعاملی را برای توسعه نرم‌افزار و عیب‌یابی سیستم‌عامل میزبان، بدون نیاز به نصب نرم‌افزار روی میزبان، فراهم می‌کند. این ابزار بر پایه Podman و سایر فناوری‌های استاندارد کانتینر از OCI ساخته شده است.

محیط‌های Toolbx به شکلی یکپارچه به دایرکتوری خانگی کاربر، سوکت‌های Wayland و X11، شبکه (شامل Avahi)، دستگاه‌های جداشدنی (مانند حافظه‌های فلش USB)، ژورنال systemd، کارگزار SSH، D-Bus، ulimits، /dev و پایگاه‌داده udev و غیره دسترسی دارند.

این ویژگی به‌ویژه در سیستم‌عامل‌های مبتنی بر OSTree مانند Fedora CoreOS و Silverblue سودمند است. هدف این سیستم‌ها بازداشتن کاربر از نصب نرم‌افزار روی میزبان و در عوض نصب نرم‌افزار به‌صورت کانتینر (یا درون کانتینرها) است — این سیستم‌ها اغلب حتی مدیر بسته‌هایی مانند DNF یا YUM نیز ندارند. این امر راه‌اندازی محیط توسعه یا عیب‌یابی سیستم‌عامل به روش‌های معمول را دشوار می‌سازد.

Toolbx با فراهم کردن یک کانتینر کاملاً تغییرپذیر (mutable) که در آن می‌توان ابزارهای توسعه و عیب‌یابی، ویرایشگرها و SDKهای مورد علاقه خود را نصب کرد، این مشکل را حل می‌کند. برای نمونه، می‌توان دستور yum install ansible را بدون اثرگذاری بر سیستم‌عامل پایه اجرا کرد.

با این حال، این ابزار نیازمند استفاده از یک سیستم مبتنی بر OSTree نیست. این برنامه روی Fedora Workstation و Server نیز به همان خوبی کار می‌کند و راهکاری سودمند برای به‌کارگیری تدریجی کانتینرسازی است.

محیط Toolbx بر پایه یک ایمیج OCI است. در Fedora این ایمیج fedora-toolbox است. از این ایمیج برای ایجاد یک کانتینر Toolbx که محیط خط فرمان تعاملی را فراهم می‌کند استفاده می‌شود.

توجه داشته باشید که Toolbx هیچ تضمین امنیتی فراتر از آنچه از پیش در محیط معمول خط فرمان روی میزبان وجود دارد، ارائه نمی‌دهد.

به‌طور پیش‌فرض، Toolbx تلاش می‌کند برای ایجاد کانتینرها از ایمیجی منطبق با توزیع سیستم‌عامل میزبان استفاده کند. اگر میزبان پشتیبانی نشود، به یک ایمیج Fedora بازمی‌گردد. سیستم‌عامل‌های میزبان پشتیبانی‌شده عبارتند از:

  • Arch Linux
  • Fedora
  • Red Hat Enterprise Linux >= 8.5
  • Ubuntu

با این حال، می‌توان با استفاده از گزینه‌های --distro و --release که توسط دستورهای مربوطه پذیرفته می‌شوند یا معادل‌های آن‌ها در فایل پیکربندی، کانتینرهایی برای یک توزیع متفاوت ایجاد کرد. پرچم --distro نام توزیع و پرچم --release نسخه آن را مشخص می‌کند. ترکیب‌های پشتیبانی‌شده عبارتند از:

Distro Release
arch latest یا rolling
fedora <release> یا f<release>، مثلاً 36 یا f36
rhel <major>.<minor>، مثلاً 8.5
ubuntu <YY>.<MM>، مثلاً 22.04

[user@hostname ~]$ toolbox create
Image required to create toolbox container.
Download registry.fedoraproject.org/fedora-toolbox:36 (294.1MB)? [y/N]: y
Created container: fedora-toolbox-36
Enter with: toolbox enter
[user@hostname ~]$

[user@hostname ~]$ toolbox enter
⬢[user@toolbox ~]$

[user@hostname ~]$ toolbox rm fedora-toolbox-36
[user@hostname ~]$

گزینه‌های زیر پشتیبانی می‌شوند:

--assumeyes, -y

پاسخ خودکار «بله» (yes) به تمام پرسش‌ها.

--help, -h

نمایش خلاصه‌ای از این راهنما و خروج.

--log-level=level

ثبت پیام‌های لاگ بالاتر از سطح مشخص‌شده: debug، info، warn، error، fatal یا panic (پیش‌فرض: error)

--log-podman

نمایش پیام‌های لاگ حاصل از فراخوانی‌های Podman بر اساس سطح لاگ مشخص‌شده توسط گزینه log-level.

--verbose, -v

مشابه --log-level=debug. برای گنجاندن --log-podman از -vv استفاده کنید.

دستورهایی برای کار با کانتینرها و ایمیج‌های Toolbx:

toolbox-create(1)

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

toolbox-enter(1)

ورود به یک کانتینر Toolbx برای استفاده تعاملی.

toolbox-help(1)

نمایش اطلاعات راهنما درباره Toolbx.

toolbox-init-container(1)

مقداردهی اولیه یک کانتینر در حال اجرا.

toolbox-list(1)

فهرست کردن کانتینرها و ایمیج‌های موجود Toolbx.

toolbox-rm(1)

حذف یک یا چند کانتینر Toolbx.

toolbox-rmi(1)

حذف یک یا چند ایمیج Toolbx.

toolbox-run(1)

اجرای یک دستور در یک کانتینر موجود Toolbx.

toolbox.conf(5)

فایل پیکربندی Toolbx.

podman(1), https://github.com/containers/toolbox