| toolbox-run(1) | General Commands Manual | toolbox-run(1) |
نام (NAME)
toolbox-run - اجرای یک دستور در یک کانتینر موجود Toolbx
خلاصه دستور (SYNOPSIS)
toolbox run [--container NAME | -c NAME]
[--distro DISTRO | -d DISTRO]
[--preserve-fds N]
[--release RELEASE | -r RELEASE]
[COMMAND]
توضیحات (DESCRIPTION)
یک دستور را درون یک کانتینر موجود Toolbx اجرا میکند. این کانتینر باید قبلاً با استفاده از دستور toolbox create ایجاد شده باشد.
در Fedora، کانتینر پیشفرض با نام fedora-toolbox-N شناخته میشود، که در آن N نسخهٔ انتشار سیستم میزبان است. میتوان یک کانتینر مشخص را با استفاده از گزینهٔ --container انتخاب کرد.
یک کانتینر Toolbx در واقع یک کانتینر OCI است. بنابراین، دستور toolbox run مشابه یک podman start است که پس از آن یک podman exec اجرا میشود.
گزینهها (OPTIONS)
گزینههای زیر پشتیبانی میشوند:
--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) سیستمعاملی متفاوت از میزبان.
وضعیت خروج (EXIT STATUS)
کد خروج، اطلاعاتی دربارهٔ دلیل عدم موفقیت در اجرای دستور درون کانتینر یا علت پایان یافتن آن ارائه میدهد.
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
مثالها (EXAMPLES)
اجرای ls درون کانتینر پیشفرض Toolbx مطابق با سیستمعامل میزبان
$ toolbox run ls -la
اجرای emacs درون کانتینر پیشفرض Toolbx برای Fedora 36
$ toolbox run --distro fedora --release f36 emacs
اجرای uptime درون یک کانتینر Toolbx با یک نام سفارشی
$ toolbox run --container foo uptime