toolbox-run(1) General Commands Manual toolbox-run(1)

toolbox-run - اجرای یک دستور در یک کانتینر موجود Toolbx

toolbox run [--container NAME | -c NAME]
[--distro DISTRO | -d DISTRO]
[--preserve-fds N]
[--release RELEASE | -r RELEASE]
[COMMAND]

یک دستور را درون یک کانتینر موجود Toolbx اجرا می‌کند. این کانتینر باید قبلاً با استفاده از دستور toolbox create ایجاد شده باشد.

در Fedora، کانتینر پیش‌فرض با نام fedora-toolbox-N شناخته می‌شود، که در آن N نسخهٔ انتشار سیستم میزبان است. می‌توان یک کانتینر مشخص را با استفاده از گزینهٔ --container انتخاب کرد.

یک کانتینر Toolbx در واقع یک کانتینر OCI است. بنابراین، دستور toolbox run مشابه یک podman start است که پس از آن یک podman exec اجرا می‌شود.

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

--container NAME, -c NAME

اجرای دستور درون یک کانتینر Toolbx با NAME مشخص‌شده. این گزینه زمانی مفید است که چندین کانتینر Toolbx از یک ایمیج یکسان ایجاد شده باشند، یا کانتینرهایی کاملاً سفارشی از ایمیج‌های دست‌ساز ساخته شده باشند.

--distro DISTRO, -d DISTRO

اجرای دستور درون یک کانتینر Toolbx برای توزیع (DISTRO) سیستم‌عاملی متفاوت از میزبان. این گزینه باید با --release همراه باشد مگر آنکه DISTRO انتخاب‌شده با سیستم میزبان یکسان باشد.

--preserve-fds N

منتقل کردن N توصیف‌کننده فایل (file descriptor) اضافی (علاوه بر 0، 1 و 2) به دستور. تعداد کل توصیف‌کننده‌های فایل 3+N خواهد بود.

--release RELEASE, -r RELEASE

اجرای دستور درون یک کانتینر Toolbx برای نسخهٔ انتشار (RELEASE) سیستم‌عاملی متفاوت از میزبان.

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

1 خطای داخلی در Toolbx رخ داده است

125 خطای داخلی در Podman رخ داده است

126 دستور مورد نظر فراخوانی نشد

$ toolbox run /etc; echo $?
/bin/sh: line 1: /etc: Is a directory
/bin/sh: line 1: exec: /etc: cannot execute: Is a directory
Error: failed to invoke command /etc in container fedora-toolbox-36
126

127 دستور مورد نظر پیدا نشد یا دایرکتوری کاری وجود ندارد

$ toolbox run foo; echo $?
/bin/sh: line 1: exec: foo: not found
Error: command foo not found in container fedora-toolbox-36
127

Exit code کد خروج دستور اجرا شده

$ toolbox run false; echo $?
1

$ toolbox run ls -la

$ toolbox run --distro fedora --release f36 emacs

$ toolbox run --container foo uptime

toolbox(1), podman(1), podman-exec(1), podman-start(1)