'\" t .\ .\" .TH "DISTROBOX\-ASSEMBLE" "1" "Mar 2026" "Distrobox" "User Manual" .SH "نام (NAME)" distrobox\-assemble \- ایجاد یا حذف دسته‌ای کانتینرها بر اساس فایل مانیفست .SH "توضیحات (DESCRIPTION)" دستور distrobox\-assemble وظیفه ایجاد یا نابودی دسته‌ای کانتینرها را بر اساس یک فایل مانیفست بر عهده دارد. فایل مانیفست به صورت پیش‌فرض \f[CR]./distrobox.ini\f[R] است، اما می‌توان آن را با استفاده از پرچم \f[CR]\-\-file\f[R] مشخص کرد. .SH "خلاصه دستور (SYNOPSIS)" \f[B]distrobox assemble\f[R] .IP .EX \-\-file: مسیر یا نشانی (URL) فایل مانیفست/ini برای distrobox \-\-name/\-n: اجرا فقط برای یک مدخل منفرد در فایل مانیفست/ini \-\-replace/\-R: جایگزینی distroboxهای از پیش موجود با نام‌های یکسان \-\-dry\-run/\-d: تنها چاپ دستور تولیدشده برای مدیر کانتینر \-\-verbose/\-v: نمایش خروجی با جزئیات بیشتر \-\-version/\-V: نمایش نسخه .EE .SH "مثال‌ها (EXAMPLES)" این نمونه‌ای از یک فایل مانیفست برای ایجاد دو کانتینر است: .IP .EX [ubuntu] additional_packages=\[dq]git vim tmux nodejs\[dq] image=ubuntu:latest init=false nvidia=false pull=true root=false replace=true start_now=false # می‌توانید با استفاده از # یادداشت اضافه کنید [arch] # یادداشت‌های درون‌خطی نیز پشتیبانی می‌شوند additional_packages=\[dq]git vim tmux nodejs\[dq] home=/tmp/home image=archlinux:latest init=false start_now=true init_hooks=\[dq]touch /init\-normal\[dq] nvidia=true pre_init_hooks=\[dq]touch /pre\-init\[dq] pull=true root=false replace=false volume=\[dq]/tmp/test:/run/a /tmp/test:/run/b\[dq] .EE .PP \f[B]ایجاد (Create)\f[R] .PP می‌توانیم آن‌ها را به سادگی با دستور زیر بالا بیاوریم: .IP .EX distrobox assemble create .EE .PP اگر نام فایل \f[CR]distrobox.ini\f[R] باشد و در همان دایرکتوری‌ای قرار داشته باشد که دستور را در آن اجرا می‌کنید، به هیچ آرگومان دیگری نیاز نیست. می‌توانید با استفاده از دستور زیر یک مسیر سفارشی برای فایل مشخص کنید: .IP .EX distrobox assemble create \-\-file /my/custom/path.ini .EE .PP یا حتی با استفاده از یک نشانی اینترنتی (URL)، یک فایل از راه دور را مشخص کنید: .IP .EX distrobox\-assemble create \-\-file https://raw.githubusercontent.com/89luca89/dotfiles/master/distrobox.ini .EE .PP \f[B]جایگزینی (Replace)\f[R] .PP به طور پیش‌فرض، \f[CR]distrobox assemble\f[R] تنها در صورتی یک کانتینر را جایگزین می‌کند که \f[CR]replace=true\f[R] در فایل مانیفست مشخص شده باشد. .PP در مثال مانیفست بالا، کانتینر ubuntu هنگام اجرای \f[CR]distrobox assemble create\f[R] همواره جایگزین خواهد شد، در حالی که کانتینر arch جایگزین نمی‌شود. .PP برای اجبار به جایگزینی تمام کانتینرهای موجود در یک مانیفست، از پرچم \f[CR]\-\-replace\f[R] استفاده کنید: .IP .EX distrobox assemble create \-\-replace [\-\-file my/custom/path.ini] .EE .PP \f[B]حذف (Remove)\f[R] .PP می‌توانیم تمام کانتینرهای تعریف‌شده در یک فایل مانیفست را به سادگی با اجرای دستور زیر متوقف و حذف کنیم: .IP .EX distrobox assemble rm .EE .PP یا با استفاده از یک مسیر سفارشی برای فایل ini: .IP .EX distrobox assemble rm \-\-file my/custom/path.ini .EE .PP \f[B]آزمایش (Test)\f[R] .PP همواره می‌توانید با استفاده از پرچم \f[CR]\-\-dry\-run\f[R] آزمایش کنید که distrobox \f[B]چه کاری انجام خواهد داد\f[R]. این دستور فقط دستوراتی را که distrobox انجام می‌داد چاپ می‌کند، بدون اینکه واقعاً آن‌ها را اجرا کند. .PP \f[B]شبیه‌سازی (Clone)\f[R] .PP \f[B]سلب مسئولیت\f[R]: پیش از شبیه‌سازی کانتینر، لازم است آن را یک بار راه‌اندازی کنید تا مطمئن شوید پیش از شبیه‌سازی، به طور کامل ایجاد و مقداردهی اولیه شده است. همچنین کانتینری که کپی می‌شود باید پیش از ادامه فرایند شبیه‌سازی متوقف شده باشد. .PP \f[B]گزینه‌های موجود\f[R] .PP این فهرستی از گزینه‌های موجود به همراه نوع داده متناظر آن‌ها است: .PP راهنمای انواع داده: .IP \[bu] 2 bool: مقدار true یا false .IP \[bu] 2 string: یک رشته منفرد، به عنوان مثال \f[CR]home=\[dq]/home/luca\-linux/dbox\[dq]\f[R] .IP \[bu] 2 string_list: چندین رشته، به عنوان مثال \f[CR]additional_packages=\[dq]htop vim git\[dq]\f[R]. توجه داشته باشید که \f[CR]string_list\f[R] می‌تواند چندین بار برای ترکیب شدن اعلان شود: .RS 2 .IP .EX \f[B][ubuntu]\f[R] image=ubuntu:latest additional_packages=\[dq]git vim tmux nodejs\[dq] additional_packages=\[dq]htop iftop iotop\[dq] additional_packages=\[dq]zsh fish\[dq] .EE .RE .PP .TS tab(@); lw(23.3n) lw(23.3n) lw(23.3n). T{ نام پرچم T}@T{ نوع T}@T{ توضیحات T} _ T{ additional_flags T}@T{ string_list T}@T{ پرچم‌های اضافی برای ارسال به مدیر کانتینر T} T{ additional_packages T}@T{ string_list T}@T{ بسته‌های اضافی برای نصب در داخل کانتینر T} T{ home T}@T{ string T}@T{ دایرکتوری خانگی (home) مورد استفاده کانتینر T} T{ hostname T}@T{ string T}@T{ تنظیم نام میزبان (hostname) کانتینر T} T{ image T}@T{ string T}@T{ تصویری که کانتینر باید استفاده کند؛ برای مشاهده فهرست به اینجا مراجعه کنید T} T{ clone T}@T{ string T}@T{ نام کانتینر Distrobox برای استفاده به عنوان پایه کانتینر جدید (کانتینر باید متوقف شده باشد). T} T{ include T}@T{ string T}@T{ نام مدخل در مانیفست جهت گنجاندن در تعریف جاری. T} T{ init_hooks T}@T{ string_list T}@T{ دستورهایی که پس از راه‌اندازی بسته‌ها، درون کانتینر اجرا می‌شوند T} T{ pre_init_hooks T}@T{ string_list T}@T{ دستورهایی که پیش از راه‌اندازی بسته‌ها، درون کانتینر اجرا می‌شوند T} T{ volume T}@T{ string_list T}@T{ فضاهای ذخیره‌سازی (volume) اضافی برای سوار کردن درون کانتینرها T} T{ exported_apps T}@T{ string_list T}@T{ نام برنامه‌ها یا مسیرهای desktopfile برای برون‌بری T} T{ exported_bins T}@T{ string_list T}@T{ فایل‌های اجرایی (باینری) برای برون‌بری T} T{ exported_bins_path T}@T{ string T}@T{ مسیر اختیاری برای برون‌بری فایل‌های اجرایی (پیش‌فرض: $HOME/.local/bin) T} T{ entry T}@T{ bool T}@T{ تولید یک مدخل برای کانتینر در فهرست برنامه‌ها (پیش‌فرض: false) T} T{ start_now T}@T{ bool T}@T{ راه‌اندازی فوری کانتینر (پیش‌فرض: false) T} T{ init T}@T{ bool T}@T{ مشخص کردن اینکه آیا کانتینر از نوع initful است (پیش‌فرض: false) T} T{ nvidia T}@T{ bool T}@T{ مشخص کردن تمایل به فعال‌سازی یکپارچه‌سازی با درایورهای NVidia (پیش‌فرض: false) T} T{ pull T}@T{ bool T}@T{ مشخص کردن اینکه آیا تصویر هر بار دریافت (pull) شود یا خیر (پیش‌فرض: false) T} T{ root T}@T{ bool T}@T{ مشخص کردن اینکه آیا کانتینر دسترسی ریشه (rootful) دارد (پیش‌فرض: false) T} T{ unshare_groups T}@T{ bool T}@T{ مشخص کردن اینکه کانتینر گروه‌های اضافی کاربر را جداسازی (unshare) کند (پیش‌فرض: false) T} T{ unshare_ipc T}@T{ bool T}@T{ مشخص کردن اینکه کانتینر فضای‌نام ipc را جداسازی (unshare) کند (پیش‌فرض: false) T} T{ unshare_netns T}@T{ bool T}@T{ مشخص کردن اینکه کانتینر فضای‌نام شبکه را جداسازی (unshare) کند (پیش‌فرض: false) T} T{ unshare_process T}@T{ bool T}@T{ مشخص کردن اینکه کانتینر فضای‌نام فرایند (pid) را جداسازی (unshare) کند (پیش‌فرض: false) T} T{ unshare_devsys T}@T{ bool T}@T{ مشخص کردن اینکه کانتینر دایرکتوری /dev را جداسازی (unshare) کند (پیش‌فرض: false) T} T{ unshare_all T}@T{ bool T}@T{ مشخص کردن اینکه کانتینر تمام گزینه‌های جداسازی قبلی را اعمال کند (پیش‌فرض: false) T}.TE .PP گزینهٔ \f[CR]include\f[R] مشخصه‌های یک تعریف را درون تعریفی دیگر کپی می‌کند. گنجاندن‌های بازگشتی مجاز هستند. این گزینه روی فایل مانیفست اعمال می‌شود و کانتینرهای \f[CR]distrobox\f[R] حاصل هیچ‌گونه ارتباطی با یکدیگر نخواهند داشت. لطفاً توجه داشته باشید که مشخصه‌ها در تعریف شامل‌کننده، مشخصه‌های تعریف گنجانده‌شده را بازنویسی یا پنهان (shadow) نمی‌کنند، بلکه صرفاً تکرار می‌شوند. .PP برای توضیحات بیشتر دربارهٔ هر یک از سایر گزینه‌های موجود در فهرست، راهنمای کاربرد distrobox create را بررسی کنید؛ هر گزینه متناظر با یکی از پرچم‌های دستور \f[CR]create\f[R] است. .PP \f[B]مثال پیشرفته\f[R] .IP .EX [tumbleweed_distrobox] image=registry.opensuse.org/opensuse/distrobox pull=true additional_packages=\[dq]acpi bash\-completion findutils iproute iputils sensors inotify\-tools unzip\[dq] additional_packages=\[dq]net\-tools nmap openssl procps psmisc rsync man tig tmux tree vim htop xclip yt\-dlp\[dq] additional_packages=\[dq]git git\-credential\-libsecret\[dq] additional_packages=\[dq]patterns\-devel\-base\-devel_basis\[dq] additional_packages=\[dq]ShellCheck ansible\-lint clang clang\-tools codespell ctags desktop\-file\-utils gcc golang jq python3\[dq] additional_packages=\[dq]python3\-bashate python3\-flake8 python3\-mypy python3\-pipx python3\-pycodestyle python3\-pyflakes python3\-pylint python3\-python\-lsp\-server python3\-rstcheck python3\-yapf python3\-yamllint rustup shfmt\[dq] additional_packages=\[dq]kubernetes\-client helm\[dq] init_hooks=GOPATH=\[dq]${HOME}/.local/share/system\-go\[dq] GOBIN=/usr/local/bin go install github.com/golangci/golangci\-lint/cmd/golangci\-lint\[at]latest; init_hooks=GOPATH=\[dq]${HOME}/.local/share/system\-go\[dq] GOBIN=/usr/local/bin go install github.com/onsi/ginkgo/v2/ginkgo\[at]latest; init_hooks=GOPATH=\[dq]${HOME}/.local/share/system\-go\[dq] GOBIN=/usr/local/bin go install golang.org/x/tools/cmd/goimports\[at]latest; init_hooks=GOPATH=\[dq]${HOME}/.local/share/system\-go\[dq] GOBIN=/usr/local/bin go install golang.org/x/tools/gopls\[at]latest; init_hooks=GOPATH=\[dq]${HOME}/.local/share/system\-go\[dq] GOBIN=/usr/local/bin go install sigs.k8s.io/kind\[at]latest; init_hooks=ln \-sf /usr/bin/distrobox\-host\-exec /usr/local/bin/conmon; init_hooks=ln \-sf /usr/bin/distrobox\-host\-exec /usr/local/bin/crun; init_hooks=ln \-sf /usr/bin/distrobox\-host\-exec /usr/local/bin/docker; init_hooks=ln \-sf /usr/bin/distrobox\-host\-exec /usr/local/bin/docker\-compose; init_hooks=ln \-sf /usr/bin/distrobox\-host\-exec /usr/local/bin/flatpak; init_hooks=ln \-sf /usr/bin/distrobox\-host\-exec /usr/local/bin/podman; init_hooks=ln \-sf /usr/bin/distrobox\-host\-exec /usr/local/bin/xdg\-open; exported_apps=\[dq]htop\[dq] exported_bins=\[dq]/usr/bin/htop /usr/bin/git\[dq] exported_bins_path=\[dq]\[ti]/.local/bin\[dq] .EE .PP \f[B]مثال همانندسازی (Clone)\f[R] .IP .EX [ubuntu] additional_packages=\[dq]git vim tmux\[dq] image=ubuntu:latest init=false nvidia=false pull=true root=false replace=true start_now=true [deno_ubuntu] clone=ubuntu init=false nvidia=false pull=true root=false replace=true start_now=true pre_init_hooks=curl \-fsSL https://deno.land/install.sh | sh; [bun_ubuntu] clone=ubuntu init=false nvidia=false pull=true root=false replace=true start_now=true pre_init_hooks=curl \-fsSL https://bun.sh/install | bash; .EE .PP \f[B]مثال پوستهٔ ورود سفارشی\f[R] .IP .EX [ubuntu] image=ubuntu:latest pre_init_hooks=\[dq]export SHELL=/bin/bash;\[dq] .EE .PP \f[B]مثال گنجاندن (ارث‌بری فیلدها از distrobox دیگر)\f[R] .IP .EX [ubuntu] image=ubuntu:latest additional_packages=\[dq]git vim tmux nodejs\[dq] additional_packages=\[dq]htop iftop iotop\[dq] additional_packages=\[dq]zsh fish\[dq] [ubuntu\-nvidia] include=ubuntu nvidia=true .EE '\" t .\ .\" .TH "DISTROBOX" "1" "Mar 2026" "Distrobox" "راهنمای کاربر".SH "سازگاری (COMPATIBILITY)" این پروژه \f[B]به ایمیج اختصاصی نیازی ندارد\f[R]. این ابزار می‌تواند از هر ایمیج OCI موجود در docker\-hub، quay.io، یا هر رجیستری دلخواه دیگری استفاده کند. .PP بسیاری از ایمیج‌های ابری به منظور کاهش حجم عمداً کوچک‌سازی شده‌اند و ممکن است شامل دستورهایی مانند \f[CR]which\f[R]، \f[CR]mount\f[R]، \f[CR]less\f[R] یا \f[CR]vi\f[R] نباشند. بسته‌های اضافی را می‌توان پس از ورود به کانتینر نصب کرد. اگر نیاز دارید مکرراً کانتینرهای جدید ایجاد کنید، توصیه می‌کنیم از ابزار خودکارسازی مورد نظر خود در داخل کانتینر استفاده کنید. نگهداری ایمیج سفارشی خودتان نیز یک گزینه است. .PP ملاحظه اصلی، وجود ابزارهای پایه‌ای لینوکس (\f[CR]mount\f[R])، ابزارهای پایه‌ای مدیریت کاربر (\f[CR]usermod, passwd\f[R]) و پیکربندی صحیح \f[CR]sudo\f[R] است. .SS "مدیران کانتینر پشتیبانی‌شده (SUPPORTED CONTAINER MANAGERS)" دستور \f[CR]distrobox\f[R] می‌تواند روی هر یک از \f[CR]podman\f[R]، \f[CR]docker\f[R] یا \c .UR https://github.com/89luca89/lilipod \f[CR]lilipod\f[R] .UE \c اجرا شود. .PP این برنامه به \f[CR]podman\f[R] پیکربندی‌شده در \f[CR]حالت rootless\f[R] یا \f[CR]docker\f[R] پیکربندی‌شده بدون sudo وابسته است (از \c .UR https://docs.docker.com/engine/install/linux-postinstall این دستورالعمل‌ها .UE \c پیروی کنید) .IP \[bu] 2 حداقل نسخه podman:\& \f[B]2.1.0\f[R] .IP \[bu] 2 حداقل نسخه کلاینت docker:\& \f[B]19.03.15\f[R] .IP \[bu] 2 حداقل نسخه lilipod:\& \f[B]v0.0.1\f[R] .PP راهنمای رسمی نصب را در اینجا دنبال کنید: .IP \[bu] 2 \c .UR https://podman.io/getting-started/installation .UE \c .IP \[bu] 2 \c .UR https://docs.docker.com/engine/install .UE \c .IP \[bu] 2 \c .UR https://docs.docker.com/engine/install/linux-postinstall .UE \c .SS "توزیع‌های کانتینر (CONTAINERS DISTROS)" مهمان‌های Distrobox با موفقیت با ایمیج‌های کانتینر زیر آزمایش شده‌اند: .PP .TS tab(@); lw(23.3n) lw(23.3n) lw(23.3n). T{ توزیع T}@T{ نسخه T}@T{ ایمیج‌ها T} _ T{ AlmaLinux (Toolbox) T}@T{ 8 9 T}@T{ quay.io/toolbx\-images/almalinux\-toolbox:8 quay.io/toolbx\-images/almalinux\-toolbox:9 quay.io/toolbx\-images/almalinux\-toolbox:latest T} T{ Alpine (Toolbox) T}@T{ 3.20 3.21 3.22 edge T}@T{ quay.io/toolbx\-images/alpine\-toolbox:3.20 quay.io/toolbx\-images/alpine\-toolbox:3.21 quay.io/toolbx\-images/alpine\-toolbox:3.22 quay.io/toolbx\-images/alpine\-toolbox:edge quay.io/toolbx\-images/alpine\-toolbox:latest T} T{ AmazonLinux (Toolbox) T}@T{ 2 2022 T}@T{ quay.io/toolbx\-images/amazonlinux\-toolbox:2 quay.io/toolbx\-images/amazonlinux\-toolbox:2023 quay.io/toolbx\-images/amazonlinux\-toolbox:latest T} T{ Archlinux (Toolbox) T}@T{ T}@T{ quay.io/toolbx/arch\-toolbox:latest T} T{ ALT Linux T}@T{ p10 p11 sisyphus T}@T{ docker.io/library/alt:p10 docker.io/library/alt:p11 docker.io/library/alt:sisyphus T} T{ Bazzite Arch T}@T{ T}@T{ ghcr.io/ublue\-os/bazzite\-arch:latest ghcr.io/ublue\-os/bazzite\-arch\-gnome:latest T} T{ Centos (Toolbox) T}@T{ stream9 stream10 T}@T{ quay.io/toolbx\-images/centos\-toolbox:stream9 quay.io/toolbx\-images/centos\-toolbox:stream10 quay.io/toolbx\-images/centos\-toolbox:latest T} T{ Debian (Toolbox) T}@T{ 11 12 13 testing unstable T}@T{ quay.io/toolbx\-images/debian\-toolbox:11 quay.io/toolbx\-images/debian\-toolbox:12 quay.io/toolbx\-images/debian\-toolbox:13 quay.io/toolbx\-images/debian\-toolbox:testing quay.io/toolbx\-images/debian\-toolbox:unstable quay.io/toolbx\-images/debian\-toolbox:latest T} T{ Fedora (Toolbox) T}@T{ 38 39 40 41 42 43 Rawhide T}@T{ registry.fedoraproject.org/fedora\-toolbox:38 registry.fedoraproject.org/fedora\-toolbox:39 registry.fedoraproject.org/fedora\-toolbox:40 quay.io/fedora/fedora\-toolbox:41 quay.io/fedora/fedora\-toolbox:42 quay.io/fedora/fedora\-toolbox:43 quay.io/fedora/fedora\-toolbox:rawhide T} T{ openSUSE (Toolbox) T}@T{ T}@T{ registry.opensuse.org/opensuse/distrobox:latest T} T{ RedHat (Toolbox) T}@T{ 8 9 T}@T{ registry.access.redhat.com/ubi8/toolbox registry.access.redhat.com/ubi9/toolbox T} T{ Rocky Linux (Toolbox) T}@T{ 8 9 T}@T{ quay.io/toolbx\-images/rockylinux\-toolbox:8 quay.io/toolbx\-images/rockylinux\-toolbox:9 quay.io/toolbx\-images/rockylinux\-toolbox:latest T} T{ Ubuntu (Toolbox) T}@T{ 16.04 18.04 20.04 22.04 24.04 T}@T{ quay.io/toolbx/ubuntu\-toolbox:16.04 quay.io/toolbx/ubuntu\-toolbox:18.04 quay.io/toolbx/ubuntu\-toolbox:20.04 quay.io/toolbx/ubuntu\-toolbox:22.04 quay.io/toolbx/ubuntu\-toolbox:24.04 quay.io/toolbx/ubuntu\-toolbox:latest T} T{ Chainguard Wolfi (Toolbox) T}@T{ T}@T{ quay.io/toolbx\-images/wolfi\-toolbox:latest T} T{ Ublue T}@T{ ubuntu\-toolbox fedora\-toolbox wolfi\-toolbox archlinux\-distrobox T}@T{ ghcr.io/ublue\-os/ubuntu\-toolbox ghcr.io/ublue\-os/fedora\-toolbox ghcr.io/ublue\-os/wolfi\-toolbox ghcr.io/ublue\-os/arch\-toolbox T} T{ T}@T{ T}@T{ T} T{ AlmaLinux T}@T{ 8 8\-minimal 9 9\-minimal T}@T{ docker.io/library/almalinux:8 docker.io/library/almalinux:9 T} T{ Alpine Linux T}@T{ 3.20 3.21 3.22 edge T}@T{ docker.io/library/alpine:3.20 docker.io/library/alpine:3.21 docker.io/library/alpine:3.22 docker.io/library/alpine:edge docker.io/library/alpine:latest T} T{ AmazonLinux T}@T{ 1 2 2023 T}@T{ public.ecr.aws/amazonlinux/amazonlinux:1 public.ecr.aws/amazonlinux/amazonlinux:2 public.ecr.aws/amazonlinux/amazonlinux:2023 T} T{ Archlinux T}@T{ T}@T{ docker.io/library/archlinux:latest T} T{ Blackarch T}@T{ T}@T{ docker.io/blackarchlinux/blackarch:latest T} T{ CentOS Stream T}@T{ 8 9 10 T}@T{ quay.io/centos/centos:stream8 quay.io/centos/centos:stream9 quay.io/centos/centos:stream10 T} T{ Chainguard Wolfi T}@T{ T}@T{ cgr.dev/chainguard/wolfi\-base:latest T} T{ Chimera Linux T}@T{ T}@T{ docker.io/chimeralinux/chimera:latest T} T{ Crystal Linux T}@T{ T}@T{ registry.gitlab.com/crystal\-linux/misc/docker:latest T} T{ Debian T}@T{ 7 8 9 10 11 12 13 T}@T{ docker.io/debian/eol:wheezy docker.io/debian/eol:buster docker.io/debian/eol:bullseye docker.io/library/debian:bookworm\-backports docker.io/library/debian:stable\-backports T} T{ Debian T}@T{ Testing T}@T{ docker.io/library/debian:testing docker.io/library/debian:testing\-backports T} T{ Debian T}@T{ Unstable T}@T{ docker.io/library/debian:unstable T} T{ deepin T}@T{ 20 (apricot) 23 (beige) T}@T{ docker.io/linuxdeepin/apricot docker.io/linuxdeepin/deepin:beige T} T{ Fedora T}@T{ 38 39 40 41 42 43 Rawhide T}@T{ quay.io/fedora/fedora:38 quay.io/fedora/fedora:39 quay.io/fedora/fedora:40 quay.io/fedora/fedora:41 quay.io/fedora/fedora:42 quay.io/fedora/fedora:43 quay.io/fedora/fedora:rawhide T} T{ Gentoo Linux T}@T{ rolling T}@T{ docker.io/gentoo/stage3:latest T} T{ KDE neon T}@T{ Latest T}@T{ invent\-registry.kde.org/neon/docker\-images/plasma:latest T} T{ Kali Linux T}@T{ rolling T}@T{ docker.io/kalilinux/kali\-rolling:latest T} T{ Mint T}@T{ 22.3 T}@T{ docker.io/linuxmintd/mint22.3\-amd64 T} T{ Neurodebian T}@T{ nd120 T}@T{ docker.io/library/neurodebian:nd120 T} T{ openSUSE T}@T{ Leap T}@T{ registry.opensuse.org/opensuse/leap:latest T} T{ openSUSE T}@T{ Tumbleweed T}@T{ registry.opensuse.org/opensuse/distrobox:latest registry.opensuse.org/opensuse/tumbleweed:latest registry.opensuse.org/opensuse/toolbox:latest registry.opensuse.org/opensuse/distrobox\-bpftrace:latest T} T{ Oracle Linux T}@T{ 8 8\-slim 9 9\-slim 10 10\-slim T}@T{ container\-registry.oracle.com/os/oraclelinux:8 container\-registry.oracle.com/os/oraclelinux:8\-slim container\-registry.oracle.com/os/oraclelinux:9 container\-registry.oracle.com/os/oraclelinux:9\-slim container\-registry.oracle.com/os/oraclelinux:10 container\-registry.oracle.com/os/oraclelinux:10\-slim T} T{ RedHat (UBI) T}@T{ 7 8 9 T}@T{ registry.access.redhat.com/ubi7/ubi registry.access.redhat.com/ubi8/ubi \ registry.access.redhat.com/ubi8/ubi\-init registry.access.redhat.com/ubi8/ubi\-minimal registry.access.redhat.com/ubi9/ubi registry.access.redhat.com/ubi9/ubi\-init registry.access.redhat.com/ubi9/ubi\-minimal T} T{ Rocky Linux T}@T{ 8 8\-minimal 9 T}@T{ quay.io/rockylinux/rockylinux:8 quay.io/rockylinux/rockylinux:8\-minimal quay.io/rockylinux/rockylinux:9 quay.io/rockylinux/rockylinux:latest T} T{ Slackware T}@T{ T}@T{ docker.io/vbatts/slackware:current T} T{ SteamOS T}@T{ T}@T{ ghcr.io/linuxserver/steamos:latest T} T{ Ubuntu T}@T{ 14.04 16.04 18.04 20.04 22.04 24.04 T}@T{ docker.io/library/ubuntu:14.04 docker.io/library/ubuntu:16.04 docker.io/library/ubuntu:18.04 docker.io/library/ubuntu:20.04 docker.io/library/ubuntu:22.04 docker.io/library/ubuntu:24.04 T} T{ Vanilla OS T}@T{ VSO T}@T{ ghcr.io/vanilla\-os/vso:main T} T{ Void Linux T}@T{ glibc musl T}@T{ ghcr.io/void\-linux/void\-glibc\-full:latest ghcr.io/void\-linux/void\-musl\-full:latest T} .TE.TE .PP تصویرهای علامت‌گذاری‌شده با \f[B]Toolbox\f[R] تصویرهای سفارشی حاصل تلاش‌های جامعه در \c .UR https://github.com/toolbx-images/images toolbx\-images/images .UE \c \ هستند، بنابراین برای استفاده در میزکار مناسب‌تر بوده و راه‌اندازی نخست آن‌ها زمان کمتری می‌برد. با این وجود توجه داشته باشید اگر از یک تصویر از‌پیش‌پیکربندی‌نشده برای toolbox استفاده کنید، \f[B]نخستین\f[R] اجرای \f[CR]distrobox\-enter\f[R] ممکن است مدتی طول بکشد، زیرا وابستگی‌های ناموجود را بارگیری و نصب خواهد کرد. .PP هزینهٔ زمانی اندکی که برای توانایی استفاده از هر نوع تصویری پرداخت می‌شود. این مورد پس از مرتبهٔ اول رخ \f[B]نخواهد داد\f[R]؛ \f[B]ورودهای بعدی بسیار سریع‌تر خواهند بود.\f[R] .PP توزیع NixOS به عنوان یک کانتینر پشتیبانی نمی‌شود و در حال حاضر هیچ برنامه‌ای برای افزودن پشتیبانی از آن وجود ندارد. اگر به دنبال محیط‌های بدون امتیاز (unprivileged) برای NixOS هستید، پیشنهاد می‌کنیم به \c .UR https://nixos.org/manual/nix/unstable/command-ref/nix-shell.html nix\-shell .UE \c \ یا \c .UR https://github.com/DavHau/nix-portable nix portable .UE \c \ نگاهی بیندازید. .SS پشتیبانی از توزیع‌های جدید (NEW DISTRO SUPPORT) اگر توزیع انتخابی شما در فهرست نیست، یک issue برای درخواست پشتیبانی از آن باز کنید؛ ما می‌توانیم با همکاری یکدیگر بررسی کنیم که آیا افزودن پشتیبانی برای آن امکان‌پذیر است یا خیر. .PP یا به‌سادگی آن را به هر حال امتحان کنید؛ اگر کار کرد، یک issue باز کنید تا به فهرست اضافه شود! .SS توزیع‌های قدیمی‌تر (OLDER DISTRIBUTIONS) برای توزیع‌های قدیمی‌تر مانند CentOS 5، CentOS 6، Debian 6 و Ubuntu 12.04، سازگاری تضمین نمی‌شود. .PP نسخهٔ \f[CR]libc\f[R] آن‌ها با نسخه‌های هستهٔ \f[CR]>=4.11\f[R] به بعد ناسازگار است. یک راهکار برای این مسئله، استفاده از پرچم \f[CR]vsyscall=emulate\f[R] در بوت‌لودر میزبان است. .PP همچنین به یاد داشته باشید که ممکن است آینه‌ها برای چنین نسخه‌های قدیمی از دسترس خارج شده باشند، بنابراین لازم است یک تصویر سفارشی distrobox بسازید تا مطمئن شوید نیازمندی‌های اولیه برآورده شده‌اند. .SS پشتیبانی از شتاب‌دهنده گرافیکی (GPU ACCELERATION SUPPORT) برای پردازنده‌های گرافیکی Intel و AMD، پشتیبانی توکار است، زیرا کانتینرها آخرین راه‌اندازهای mesa/dri موجود را نصب خواهند کرد. .PP برای NVidia، می‌توانید در زمان ساخت از پرچم \f[CR]\-\-nvidia\f[R] استفاده کنید؛ مستندات distrobox\-create را بررسی کنید تا از نحوهٔ استفاده از آن مطلع شوید. .PP همچنین، می‌توانید از ابزار nvidia\-container\-toolkit برای راه‌اندازی این یکپارچه‌سازی، مستقل از پرچم اختصاصی distrobox استفاده کنید. .\ .\" .TH "DISTROBOX\-CREATE" "1" "Mar 2026" "Distrobox" "User Manual" .SH "نام (NAME)" .IP .EX distrobox create distrobox\-create .EE .SH "توضیحات (DESCRIPTION)" دستور distrobox\-create وظیفهٔ ساخت کانتینر با نام و تصویر ورودی را بر عهده دارد. کانتینر ایجادشده به طور یکپارچه با سیستم میزبان ادغام خواهد شد و امکان اشتراک‌گذاری دایرکتوری HOME کاربر، حافظه ذخیره‌سازی خارجی، دستگاه‌های usb خارجی، برنامه‌های گرافیکی (X11/Wayland) و صدا را فراهم می‌سازد. .SH "خلاصه دستور (SYNOPSIS)" \f[B]distrobox create\f[R] .IP .EX \-\-image/\-i: تصویر مورد استفاده برای کانتینر پیش‌فرض: ${container_image_default} \-\-name/\-n: نام برای distrobox پیش‌فرض: ${container_name_default} \-\-hostname: نام میزبان برای distrobox پیش‌فرض: .$(uname \-n) \-\-pull/\-p: دریافت تصویر حتی در صورت وجود محلی (به همراه \-\-yes) \-\-yes/\-Y: غیرتعاملی، دریافت تصویرها بدون پرسش \-\-root/\-r: اجرای podman/docker/lilipod با دسترسی‌های ریشه. توجه کنید که در صورت نیاز به دسترسی ریشه، این روش نسبت به \[dq]sudo distrobox\[dq] ارجح است (نکته: در صورت لزومِ استفاده از برنامه‌ای غیر از \[aq]sudo\[aq] برای دسترسی ریشه، آن را از طریق متغیر محیطی DBX_SUDO_PROGRAM یا متغیر پیکربندی \[aq]distrobox_sudo_program\[aq] مشخص کنید) \-\-clone/\-c: نام کانتینر distrobox برای استفاده به عنوان پایه برای یک کانتینر جدید این گزینه برای تغییر نام یک distrobox موجود یا داشتن چند نسخه از همان محیط کاربردی خواهد بود. \-\-home/\-H: انتخاب یک دایرکتوری HOME سفارشی برای کانتینر. مفید برای جلوگیری از پر شدن خانهٔ میزبان با فایل‌های موقت. \-\-volume: حجم‌های اضافی برای افزودن به کانتینر \-\-additional\-flags/\-a: پرچم‌های اضافی برای ارسال به دستور مدیر کانتینر \-\-additional\-packages/\-ap: بسته‌های اضافی برای نصب در زمان راه‌اندازی اولیهٔ کانتینر \-\-init\-hooks: دستورهای اضافی برای اجرا در پایان مقداردهی اولیهٔ کانتینر \-\-pre\-init\-hooks: دستورهای اضافی برای اجرا در ابتدای مقداردهی اولیهٔ کانتینر \-\-init/\-I: استفاده از سیستم init (مانند systemd) درون کانتینر. این کار باعث می‌شود فرآیندهای میزبان از داخل کانتینر قابل مشاهده نباشند. (به همراه \-\-unshare\-process) بسته به تصویر کانتینر ممکن است به بسته‌های اضافی نیاز داشته باشد: https://github.com/89luca89/distrobox/blob/main/docs/useful_tips.md#using\-init\-system\-inside\-a\-distrobox \-\-nvidia: تلاش برای یکپارچه‌سازی راه‌اندازهای nVidia میزبان در مهمان \-\-platform: مشخص کردن پلتفرم مورد استفاده، مثلاً: linux/arm64 \-\-unshare\-devsys: عدم اشتراک‌گذاری دستگاه‌های میزبان و دایرکتوری‌های sysfs از میزبان \-\-unshare\-groups: عدم انتقال گروه‌های اضافی کاربر به درون کانتینر \-\-unshare\-ipc: عدم اشتراک‌گذاری فضای نام ipc با میزبان \-\-unshare\-netns: عدم اشتراک‌گذاری فضای نام net با میزبان \-\-unshare\-process: عدم اشتراک‌گذاری فضای نام process با میزبان \-\-unshare\-all: فعال‌سازی همهٔ پرچم‌های unshare زیر \-\-compatibility/\-C: نمایش فهرست تصویرهای سازگار \-\-help/\-h: نمایش این پیام \-\-no\-entry: عدم ایجاد ورودی کانتینر در فهرست برنامه‌ها \-\-dry\-run/\-d: صرفاً چاپ دستور تولیدشدهٔ مدیر کانتینر \-\-verbose/\-v: نمایش جزئیات بیشتر \-\-version/\-V: نمایش نسخه \-\-absolutely\-disable\-root\-password\-i\-am\-really\-positively\-sure: ⚠️ ⚠️ هنگام راه‌اندازی distrobox با دسترسی ریشه، این گزینه از تنظیم گذرواژه کاربر صرف‌نظر کرده و آن را خالی می‌گذارد. ⚠️ ⚠️ .EE.SH "سازگاری (COMPATIBILITY)" .IP .EX برای مشاهده فهرستی از ایمیج‌ها و مدیرهای کانتینر سازگار، لطفاً به صفحات راهنما مراجعه کنید: man distrobox man distrobox\-compatibility یا به صفحه مستندات در پیوند زیر مراجعه نمایید: https://github.com/89luca89/distrobox/blob/main/docs/compatibility.md#containers\-distros .EE .SH "مثال‌ها (EXAMPLES)" ایجاد یک distrobox با ایمیج alpine به نام کانتینر my\-alpine .IP .EX distrobox create \-\-image alpine my\-alpine\-container .EE .PP ایجاد یک distrobox از ایمیج fedora\-toolbox:35 .IP .EX distrobox create \-\-image registry.fedoraproject.org/fedora\-toolbox:35 \-\-name fedora\-toolbox\-35 .EE .PP شبیه‌سازی (کلون) یک کانتینر distrobox موجود .IP .EX distrobox create \-\-clone fedora\-35 \-\-name fedora\-35\-copy .EE .PP دریافت همیشگی (pull) ایمیج جدید هنگام ایجاد یک distrobox .IP .EX distrobox create \-\-pull \-\-image centos:stream9 \-\-home \[ti]/distrobox/centos9 .EE .PP افزودن متغیرهای محیطی اضافی به کانتینر .IP .EX distrobox create \-\-image fedora:35 \-\-name test \-\-additional\-flags \[dq]\-\-env MY_VAR=value\[dq] .EE .PP افزودن volume‌های اضافی به کانتینر .IP .EX distrobox create \-\-image fedora:35 \-\-name test \-\-volume /opt/my\-dir:/usr/local/my\-dir:rw \-\-additional\-flags \[dq]\-\-pids\-limit \-1\[dq] .EE .PP افزودن بسته‌های اضافی به کانتینر .IP .EX distrobox create \-\-image alpine:latest \-\-name test2 \-\-additional\-packages \[dq]git tmux vim\[dq] .EE .PP استفاده از init\-hooks برای انجام یک عملیات هنگام راه‌اندازی کانتینر .IP .EX distrobox create \-\-image alpine:latest \-\-name test \-\-init\-hooks \[dq]touch /var/tmp/test1 && touch /var/tmp/test2\[dq] .EE .PP استفاده از pre\-init\-hooks برای انجام یک عملیات در ابتدای راه‌اندازی کانتینر (پیش از آغاز به کار هرگونه مدیر بسته) .IP .EX distrobox create \-i docker.io/almalinux/8\-init \-\-init \-\-name test \-\-pre\-init\-hooks \[dq]dnf config\-manager \-\-enable powertools && dnf \-y install epel\-release\[dq] .EE .PP استفاده از init برای ایجاد یک کانتینر Systemd (مشابه عملکرد یک LXC): .IP .EX distrobox create \-i ubuntu:latest \-\-name test \-\-additional\-packages \[dq]systemd libpam\-systemd pipewire\-audio\-client\-libraries\[dq] \-\-init .EE .PP استفاده از init برای ایجاد یک کانتینر OpenRC (مشابه عملکرد یک LXC): .IP .EX distrobox create \-i alpine:latest \-\-name test \-\-additional\-packages \[dq]openrc\[dq] \-\-init .EE .PP استفاده از قابلیت یکپارچه‌سازی درایورهای NVidia میزبان .IP .EX distrobox create \-\-image ubuntu:22.04 \-\-name ubuntu\-nvidia \-\-nvidia .EE .PP عدم استفاده از IP میزبان درون کانتینر: .IP .EX distrobox create \-\-image ubuntu:latest \-\-name test \-\-unshare\-netns .EE .PP ایجاد یک کانتینر ایزوله‌تر که در آن تنها $HOME، سوکت‌های اولیه و فایل‌سیستم میزبان (در /run/host) به اشتراک گذاشته می‌شوند: .IP .EX distrobox create \-\-name unshared\-test \-\-unshare\-all .EE .PP ایجاد یک کانتینر ایزوله‌تر به همراه سامانه init اختصاصی آن؛ این حالت عملکردی بسیار شبیه به یک کانتینر کامل LXC خواهد داشت: .IP .EX distrobox create \-\-name unshared\-init\-test \-\-unshare\-all \-\-init \-\-image fedora:latest .EE .PP استفاده از متغیرهای محیطی برای تعیین نام کانتینر، ایمیج و مدیر کانتینر: .IP .EX DBX_CONTAINER_MANAGER=\[dq]docker\[dq] DBX_NON_INTERACTIVE=1 DBX_CONTAINER_NAME=test\-alpine DBX_CONTAINER_IMAGE=alpine distrobox\-create .EE.SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .IP .EX DBX_CONTAINER_ALWAYS_PULL DBX_CONTAINER_CUSTOM_HOME DBX_CONTAINER_HOME_PREFIX DBX_CONTAINER_IMAGE DBX_CONTAINER_MANAGER DBX_CONTAINER_NAME DBX_CONTAINER_HOSTNAME DBX_NON_INTERACTIVE DBX_SUDO_PROGRAM .EE .PP متغیر DBX_CONTAINER_HOME_PREFIX مشخص می‌کند که دایرکتوری‌های خانگی کانتینرها در کجا قرار خواهند گرفت. اگر آن را به‌صورت \[ti]/dbx تعریف کنید، دایرکتوری خانگی همهٔ کانتینرهای بعدی \[ti]/dbx/$container_name خواهد بود. .SH "موارد تکمیلی (EXTRA)" گزینهٔ \f[CR]\-\-additional\-flags\f[R] یا \f[CR]\-a\f[R] برای تغییر مقادیر پیش‌فرض هنگام ساخت کانتینر مفید است. برای مثال: .IP .EX distrobox create \-i docker.io/library/archlinux \-n dev\-arch podman container inspect dev\-arch | jq \[aq].[0].HostConfig.PidsLimit\[aq] 2048 distrobox rm \-f dev\-arch distrobox create \-i docker.io/library/archlinux \-n dev\-arch \-\-volume $CBL_TC:/tc \-\-additional\-flags \[dq]\-\-pids\-limit \-1\[dq] podman container inspect dev\-arch | jq \[aq].[0].HostConfig,.PidsLimit\[aq] 0 .EE .PP فضاهای ذخیره‌سازی اضافی (volumes) را می‌توان با پرچم \f[CR]\-\-volume\f[R] مشخص کرد. این پرچم برای تعیین نقطهٔ اتصال (mount point) از همان استاندارد \f[CR]docker\f[R] و \f[CR]podman\f[R] پیروی می‌کند، بنابراین قالب آن به‌صورت \f[CR]\-\-volume SOURCE_PATH:DEST_PATH:MODE\f[R] است. .IP .EX distrobox create \-\-image docker.io/library/archlinux \-\-name dev\-arch \-\-volume /usr/share/:/var/test:ro .EE .PP هنگام ساخت کانتینر، می‌توان (با استفاده از additional\-flags) برخی متغیرهای محیطی را تعیین کرد که درون کانتینر ماندگار بوده و از محیط شما مستقل باشند: .IP .EX distrobox create \-\-image fedora:35 \-\-name test \-\-additional\-flags \[dq]\-\-env MY_VAR=value\[dq] .EE .PP گزینهٔ \f[CR]\-\-init\-hooks\f[R] برای افزودن دستورات به نقطهٔ ورود (init) کانتینر کاربرد دارد. این قابلیت برای ساخت کانتینرهایی با مجموعه‌ای از برنامه‌های از پیش نصب‌شده یا افزودن کاربران و گروه‌ها مفید است. .IP .EX distrobox create \-\-image fedora:35 \-\-name test \-\-init\-hooks \[dq]dnf groupinstall \-y \[rs]\[dq]C Development Tools and Libraries\[rs]\[dq]\[dq] .EE .PP گزینهٔ \f[CR]\-\-init\f[R] برای ساخت کانتینری مفید است که از سیستم init مجزای داخلی خود استفاده می‌کند. برای نمونه با استفاده از: .IP .EX distrobox create \-i docker.io/almalinux/8\-init \-\-init \-\-name test distrobox create \-i docker.io/library/debian \-\-additional\-packages \[dq]systemd\[dq] \-\-init \-\-name test\-debian .EE .PP در داخل کانتینر قادر خواهیم بود از واحدهای عادی systemd استفاده کنیم: .IP .EX \[ti]$ distrobox enter test user\[at]test:\[ti]$ sudo systemctl enable \-\-now sshd user\[at]test:\[ti]$ sudo systemctl status sshd ● sshd.service \- OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022\-01\-28 22:54:50 CET; 17s ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 291 (sshd) .EE .PP توجه داشته باشید که فعال‌سازی \f[CR]\-\-init\f[R] \f[B]یکپارچه‌سازی فرآیندهای میزبان را غیرفعال خواهد کرد\f[R]. از درون کانتینر قادر به دیدن و مدیریت فرآیندهای میزبان نخواهید بود. این امر به این دلیل ضروری است که \f[CR]/sbin/init\f[R] باید pid شماره ۱ باشد. .PP اگر می‌خواهید از ایمیجی استفاده کنید که از قبل آماده نشده است، لازم است بسته‌های اضافی را مشخص کنید: .IP .EX distrobox create \-i alpine:latest \-\-init \-\-additional\-packages \[dq]openrc\[dq] \-n test distrobox create \-i debian:stable \-\-init \-\-additional\-packages \[dq]systemd libpam\-systemd pipewire\-audio\-client\-libraries\[dq] \-n test distrobox create \-i ubuntu:22.04 \-\-init \-\-additional\-packages \[dq]systemd libpam\-systemd pipewire\-audio\-client\-libraries\[dq] \-n test distrobox create \-i archlinux:latest \-\-init \-\-additional\-packages \[dq]systemd\[dq] \-n test distrobox create \-i registry.opensuse.org/opensuse/tumbleweed:latest \-\-init \-\-additional\-packages \[dq]systemd\[dq] \-n test distrobox create \-i registry.fedoraproject.org/fedora:39 \-\-init \-\-additional\-packages \[dq]systemd\[dq] \-n test .EE .PP پرچم \f[CR]\-\-init\f[R] برای ایجاد کانتینرهای سیستمی مناسب است؛ جایی که کانتینر بیشتر شبیه به یک ماشین مجازی (VM) کامل عمل می‌کند تا یک کانتینر برنامه‌ای. در داخل آن سیستم init مجزا، نشست کاربری (user-session)، دیمن‌ها و غیره را در اختیار خواهید داشت. .PP پرچم \f[CR]\-\-home\f[R] به شما امکان می‌دهد یک دایرکتوری خانگی (HOME) سفارشی برای کانتینر مشخص کنید. توجه داشته باشید که این کار مانع از اتصال (mount) دایرکتوری خانگی میزبان نخواهد شد، اما تضمین می‌کند که پیکربندی‌ها و dotfileها آن را شلوغ نکنند. .PP پرچم \f[CR]\-\-root\f[R] به شما اجازه می‌دهد کانتینری با دسترسی‌های واقعی ریشه (root) بسازید. در اولین اجرای \f[CR]enter\f[R] از کاربر خواسته می‌شود تا یک گذرواژه تعیین کند. این کار به این منظور انجام می‌شود که در یک کانتینر با دسترسی ریشه (\f[B]rootful\f[R])، امکان اجرای sudo/su بدون گذرواژه فراهم نشود؛ چرا که \f[B]در این حالت، کاربر ریشه درون کانتینر، همان کاربر ریشه در بیرون کانتینر است!\f[R] .PP گزینهٔ \f[CR]\-\-absolutely\-disable\-root\-password\-i\-am\-really\-positively\-sure\f[R] از تنظیم گذرواژهٔ کاربر صرف‌نظر کرده و آن را خالی می‌گذارد. \f[B]این کار واقعاً خطرناک است و شما قطعاً و مؤکداً نباید آن را فعال کنید\f[R]. .PP از نسخهٔ 1.4.0 ابزار distrobox، هنگامی که کانتینر جدیدی می‌سازید، یک مدخل در فهرست برنامه‌های کاربردی نیز ایجاد می‌شود..SS یکپارچه‌سازی NVidia اگر میزبان شما دارای یک پردازنده گرافیکی NVidia با درایورهای اختصاصی نصب‌شده باشد، می‌توانید با استفاده از پرچم \f[CR]\-\-nvidia\f[R] آن‌ها را با مهمان‌ها یکپارچه‌سازی کنید: .PP \f[CR]distrobox create \-\-nvidia \-\-image ubuntu:latest \-\-name ubuntu\-nvidia\f[R] .PP توجه داشته باشید که \f[B]این قابلیت با سیستم‌های غیر glibc سازگار نیست\f[R] و برای کارکرد صحیح \f[B]به توزیع‌های تا حدی جدیدتر نیاز دارد\f[R]. .PP کارکرد این ویژگی روی موارد زیر آزمایش شده است: .IP \[bu] 2 Almalinux .IP \[bu] 2 Archlinux .IP \[bu] 2 Centos 7 و جدیدتر .IP \[bu] 2 Clearlinux .IP \[bu] 2 Debian 10 و جدیدتر .IP \[bu] 2 OpenSUSE Leap .IP \[bu] 2 OpenSUSE Tumbleweed .IP \[bu] 2 Rockylinux .IP \[bu] 2 Ubuntu 18.04 و جدیدتر .IP \[bu] 2 Void Linux (glibc) .\ .\" .TH "DISTROBOX\-ENTER" "1" "Mar 2026" "Distrobox" "User Manual" .SH "نام (NAME)" distrobox\-enter \- ورود به کانتینر distrobox .SH "توضیحات (DESCRIPTION)" دستور distrobox\-enter وظیفهٔ ورود به کانتینر با نام مشخص‌شده را بر عهده دارد. دستور پیش‌فرضی که اجرا می‌شود SHELL شماست، اما می‌توانید شل‌های دیگر یا دستورهای کاملی را برای اجرا مشخص کنید. اگر از آن داخل یک اسکریپت، یک برنامه یا یک سرویس استفاده می‌کنید، می‌توانید حالت \[en]headless را برای غیرفعال کردن tty و تعاملی بودن مشخص کنید. .SH "خلاصه دستور (SYNOPSIS)" \f[B]distrobox enter\f[R] .IP .EX \-\-name/\-n: نام برای distrobox پیش‌فرض: my\-distrobox \-\-/\-e: پایان آرگومان‌ها؛ اجرای باقی‌مانده به عنوان دستور هنگام ورود پیش‌فرض: شل پیش‌فرض ${USER} \-\-no\-tty/\-T: عدم ایجاد tty \-\-no\-workdir/\-nw: شروع همیشگی کانتینر از دایرکتوری خانگی کانتینر \-\-additional\-flags/\-a: پرچم‌های اضافی برای ارسال به دستور مدیر کانتینر \-\-help/\-h: نمایش این پیام \-\-root/\-r: راه‌اندازی podman/docker/lilipod با امتیازات root. توجه داشته باشید در صورت نیاز به root این روش نسبت به \[dq]sudo distrobox\[dq] ارجح است (نکته: در صورت نیاز به برنامه‌ای جز \[aq]sudo\[aq] برای امتیازات root، آن را از طریق متغیر محیطی DBX_SUDO_PROGRAM یا متغیر پیکربندی \[aq]distrobox_sudo_program\[aq] مشخص کنید) \-\-dry\-run/\-d: فقط چاپ دستور تولیدشده مدیر کانتینر \-\-verbose/\-v: نمایش جزئیات بیشتر \-\-version/\-V: نمایش نسخه .EE .SH "مثال‌ها (EXAMPLES)" ورود به یک distrobox با نام \[lq]example\[rq] .IP .EX distrobox\-enter example .EE .PP ورود به یک distrobox با مشخص کردن یک دستور .IP .EX distrobox\-enter \-\-name fedora\-toolbox\-35 \-\- bash \-l distrobox\-enter my\-alpine\-container \-\- sh \-l .EE .PP استفاده از پرچم‌های اضافی podman/docker/lilipod هنگام ورود به یک distrobox .IP .EX distrobox\-enter \-\-additional\-flags \[dq]\-\-preserve\-fds\[dq] \-\-name test \-\- bash \-l .EE .PP تعیین متغیرهای محیطی اضافی هنگام ورود به یک distrobox .IP .EX distrobox\-enter \-\-additional\-flags \[dq]\-\-env MY_VAR=value\[dq] \-\-name test \-\- bash \-l MY_VAR=value distrobox\-enter \-\-additional\-flags \[dq]\-\-preserve\-fds\[dq] \-\-name test \-\- bash \-l .EE .PP همچنین می‌توانید از متغیرهای محیطی برای تعیین مدیر کانتینر و نام کانتینر استفاده کنید: .IP .EX DBX_CONTAINER_MANAGER=\[dq]docker\[dq] DBX_CONTAINER_NAME=test\-alpine distrobox\-enter .EE.SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .IP .EX DBX_CONTAINER_NAME DBX_CONTAINER_MANAGER DBX_SKIP_WORKDIR DBX_SUDO_PROGRAM .EE .SH "اطلاعات بیشتر (EXTRA)" این دستور برای ورود به خود distrobox استفاده می‌شود. شخصاً، من فقط چندین نمایه (profile) در \f[CR]gnome\-terminal\f[R] خود ایجاد می‌کنم تا توزیع‌های متعددی در دسترس داشته باشم. .PP گزینهٔ \f[CR]\-\-additional\-flags\f[R] یا \f[CR]\-a\f[R] برای تغییر دستور پیش‌فرض هنگام اجرا در کانتینر مفید است. برای مثال: .IP .EX distrobox enter \-n dev\-arch \-\-additional\-flags \[dq]\-\-env my_var=test\[dq] \-\- printenv &| grep my_var my_var=test .EE .PP این کار همچنین با استفاده از متغیرهای محیطی معمولی امکان‌پذیر است: .IP .EX my_var=test distrobox enter \-n dev\-arch \-\-additional\-flags \-\- printenv &| grep my_var my_var=test .EE .PP اگر می‌خواهید وارد یک کانتینر با دسترسی ریشه (rootful) شوید به‌طوری‌که distrobox از برنامه‌ای غیر از \(lqsudo\(rq برای اجرای podman/docker/lilipod با دسترسی ریشه استفاده کند، مانند \(lqpkexec\(rq یا \(lqdoas\(rq، می‌توانید آن را با متغیر محیطی \f[CR]DBX_SUDO_PROGRAM\f[R] مشخص کنید. برای مثال، جهت استفاده از \(lqdoas\(rq برای ورود به یک کانتینر با دسترسی ریشه: .IP .EX DBX_SUDO_PROGRAM=\[dq]doas\[dq] distrobox enter \-n container \-\-root .EE .PP علاوه بر این، در یکی از مسیرهای فایل پیکربندی که distrobox پشتیبانی می‌کند، مانند \f[CR]\[ti]/.distroboxrc\f[R]، می‌توانید خط \f[CR]distrobox_sudo_program=\[dq]doas\[dq]\f[R] را نیز (برای مثال) اضافه کنید تا همیشه دستورهای distrobox مربوط به کانتینرهای با دسترسی ریشه را با استفاده از \(lqdoas\(rq اجرا کند. .\ .\" .TH "DISTROBOX\-EPHEMERAL" "1" "Mar 2026" "Distrobox" "User Manual" .SH "نام (NAME)" distrobox\-ephemeral \- ایجاد یک distrobox موقت با حذف خودکار .IP .EX distrobox ephemeral distrobox\-ephemeral .EE .SH "توضیحات (DESCRIPTION)" دستور distrobox\-ephemeral یک distrobox موقت ایجاد می‌کند که با خاتمه یافتن دستور، به طور خودکار نابود می‌شود. .SH "خلاصه دستور (SYNOPSIS)" \f[B]distrobox ephemeral\f[R] .IP .EX \-\-root/\-r: اجرای podman/docker/lilipod با دسترسی ریشه. توجه داشته باشید اگر به ریشه نیاز دارید، این روش بر \[dq]sudo distrobox\[dq] ترجیح داده می‌شود (نکته: در صورت نیاز به استفاده از برنامه‌ای غیر از \[aq]sudo\[aq] برای دسترسی ریشه، آن را از طریق متغیر محیطی DBX_SUDO_PROGRAM یا متغیر پیکربندی \[aq]distrobox_sudo_program\[aq] مشخص کنید) \-\-verbose/\-v: نمایش جزئیات بیشتر \-\-help/\-h: نمایش این پیام \-\-/\-e: پایان دادن به آرگومان‌ها، اجرای مابقی به عنوان دستوری برای اجرا هنگام ورود پیش‌فرض: پوستهٔ پیش‌فرض ${USER} \-\-version/\-V: نمایش نسخه .EE .SH "مثال‌ها (EXAMPLES)" .IP .EX distrobox\-ephemeral \-\-image alpine:latest \-\- cat /etc/os\-release distrobox\-ephemeral \-\-root \-\-verbose \-\-image alpine:latest \-\-volume /opt:/opt .EE .PP همچنین می‌توانید از گزینه‌های \f[B]distrobox\-create\f[R] برای سفارشی‌سازی کانتینر موقت جهت اجرا استفاده کنید. .SH "همچنین ببینید (SEE ALSO)" .IP .EX distrobox\-create \-\-help man distrobox\-create .EE.SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .IP .EX دستور distrobox\-ephemeral از distrobox\-create استفاده می‌کند؛ برای مشاهدهٔ فهرستی از متغیرهای محیطی پشتیبانی‌شده جهت استفاده، بخش «همچنین ببینید» در distrobox\-create(1) را بررسی کنید. .EE .\ .\" .TH "DISTROBOX\-EXPORT" "1" "Mar 2026" "Distrobox" "User Manual" .SH "نام (NAME)" distrobox\-export \- برون‌بری برنامه‌ها و فایل‌های باینری از کانتینر به میزبان .SH "توضیحات (DESCRIPTION)" \f[B]برون‌بری برنامه و فایل باینری\f[R] .PP دستور distrobox\-export وظیفهٔ برون‌بری یک برنامه یا یک فایل باینری را از کانتینر به سیستم میزبان بر عهده دارد. .PP برنامهٔ برون‌بری‌شده به‌سادگی در راه‌انداز معمول برنامه‌های شما در دسترس خواهد بود و به‌طور خودکار از کانتینری که از آن برون‌بری شده اجرا خواهد شد. .SH "خلاصه دستور (SYNOPSIS)" \f[B]distrobox\-export\f[R] .IP .EX \-\-app/\-a: نام برنامه برای برون‌بری یا مسیر مطلق به desktopfile برای برون‌بری \-\-bin/\-b: مسیر مطلق فایل باینری برای برون‌بری \-\-list\-apps: فهرست کردن برنامه‌های برون‌بری‌شده از این کانتینر \-\-list\-binaries فهرست کردن باینری‌های برون‌بری‌شده از این کانتینر، از \-ep برای تعیین مسیرهای سفارشی جستجو استفاده کنید \-\-delete/\-d: حذف برنامه یا باینری برون‌بری‌شده \-\-export\-label/\-el: برچسب برای افزودن به نام برنامهٔ برون‌بری‌شده. برای غیرفعال کردن از \[dq]none\[dq] استفاده کنید. پیش‌فرض: (on \[rs]$container_name) \-\-export\-path/\-ep: مسیر برون‌بری فایل باینری \-\-extra\-flags/\-ef: پرچم‌های اضافی برای افزودن به دستور \-\-enter\-flags/\-nf: پرچم‌های اضافی برای افزودن به distrobox\-enter \-\-sudo/\-S: مشخص کردن اینکه آیا مورد برون‌بری‌شده با sudo اجرا شود یا خیر \-\-help/\-h: نمایش این پیام راهنما \-\-verbose/\-v: نمایش خروجی با جزئیات بیشتر \-\-version/\-V: نمایش نسخه .EE .PP ممکن است بخواهید برنامه‌های گرافیکی یا ابزارهای خط فرمان (CLI) را در distrobox خود نصب کنید. استفاده از \f[CR]distrobox\-export\f[R] از \f[B]داخل\f[R] کانتینر به شما امکان می‌دهد تا مستقیماً از خود سیستم میزبان از آن‌ها استفاده کنید. .SH "مثال‌ها (EXAMPLES)" .IP .EX distrobox\-export \-\-app mpv [\-\-extra\-flags \[dq]flags\[dq]] [\-\-delete] [\-\-sudo] distrobox\-export \-\-bin /path/to/bin [\-\-export\-path \[ti]/.local/bin] [\-\-extra\-flags \[dq]flags\[dq]] [\-\-delete] [\-\-sudo] .EE .PP \f[B]مثال برون‌بری برنامه\f[R] .IP .EX distrobox\-export \-\-app abiword .EE .PP این ابزار به‌سادگی فایل‌های \f[CR].desktop\f[R] اصلی را به همراه آیکون‌های مورد نیاز کپی کرده، پیشوند \f[CR]/usr/local/bin/distrobox\-enter \-n distrobox_name \-e ...\f[R] را به دستورات اجرایی اضافه می‌کند و آن‌ها را در پوشهٔ خانگی (home) شما ذخیره می‌نماید تا مستقیماً از میزبان مانند یک برنامهٔ معمولی استفاده شوند. .IP .EX distrobox\-export \-\-app /opt/application/my\-app.desktop .EE .PP این کار از جستجو برای desktopfile در مسیرهای استاندارد صرف‌نظر کرده و تنها از مسیر فایل ارائه‌شده استفاده می‌کند. .PP \f[B]مثال برون‌بری باینری\f[R] .IP .EX distrobox\-export \-\-bin /usr/bin/code \-\-extra\-flags \[dq]\-\-foreground\[dq] \-\-export\-path $HOME/.local/bin .EE .PP در صورت برون‌بری باینری‌ها، باید مشخص کنید که آن را در \f[B]کجا\f[R] برون‌بری کند (\f[CR]\-\-export\-path\f[R]) و ابزار یک اسکریپت پوششی (wrapper script) کوچک ایجاد خواهد کرد که باینری مورد نظر را با \f[CR]distrobox\-enter \-e\f[R] از سیستم میزبان اجرا می‌کند. این ویژگی همراه با استفاده از \f[CR]direnv\f[R] برای داشتن نسخه‌های مختلف از یک باینری یکسان بر اساس \f[CR]env\f[R] یا پروژهٔ شما بسیار کاربردی است. .PP باینری‌های برون‌بری‌شده در \[lq]\[en]export\-path\[rq] انتخابی به صورت یک اسکریپت پوششی ایجاد می‌شوند که چه در سیستم میزبان و چه در کانتینر عملکردی کاملاً طبیعی دارد. .PP \f[B]پرچم‌های اضافی\f[R] .PP می‌توانید پرچم‌های اضافی را برای افزوده شدن به دستور مشخص کنید؛ برای مثال اگر می‌خواهید یک برنامهٔ electron را برون‌بری کنید، می‌توانید پرچم \[lq]\[en]foreground\[rq] را به دستور اضافه نمایید: .IP .EX distrobox\-export \-\-app atom \-\-extra\-flags \[dq]\-\-foreground\[dq] distrobox\-export \-\-bin /usr/bin/vim \-\-export\-path \[ti]/.local/bin \-\-extra\-flags \[dq]\-p\[dq] .EE .PP این قابلیت هم برای باینری‌ها و هم برای برنامه‌ها کار می‌کند. پرچم‌های اضافی تنها زمانی به کار می‌روند که برنامه یا باینری برون‌بری‌شده از سیستم میزبان اجرا شود؛ اجرای آن‌ها در داخل کانتینر شامل این پرچم‌ها نخواهد بود. .PP \f[B]لغو برون‌بری\f[R] .PP گزینهٔ \[lq]\[en]delete\[rq] وضعیت برون‌بری یک برنامه یا باینری را لغو (un\-export) می‌کند: .IP .EX distrobox\-export \-\-app atom \-\-delete distrobox\-export \-\-bin /usr/bin/vim \-\-export\-path \[ti]/.local/bin \-\-delete .EE .PP \f[B]اجرا به عنوان کاربر ریشه در کانتینر\f[R] .PP گزینهٔ \[lq]\[en]sudo\[rq] مورد برون‌بری‌شده را به عنوان کاربر ریشه (root) در داخل distrobox اجرا می‌کند. .PP \f[B]نکات\f[R] .PP توجه داشته باشید که می‌توانید از \[en]app یا \[en]bin استفاده کنید، اما نه هر دو با هم. [تصویر: \c .UR https://user-images.githubusercontent.com/598882/144294795-c7785620-bf68-4d1b-b251-1e1f0a32a08d.png app\-export .UE \c ] app\-export .PP نکته: برخی برنامه‌های electron مانند vscode و atom برای کارکرد از داخل کانتینر به پرچم‌های اضافی نیاز دارند؛ از گزینهٔ \f[CR]\-\-extra\-flags\f[R] برای ارائهٔ مجموعه‌ای از پرچم‌ها استفاده کنید، برای نمونه: .PP \f[CR]distrobox\-export \-\-app atom \-\-extra\-flags \[dq]\-\-foreground\[dq]\f[R] .\ .\" .TH "DISTROBOX\-GENERATE\-ENTRY" "1" "Mar 2026" "Distrobox" "User Manual".SH "نام (NAME)" distrobox generate\-entry \- ایجاد نماد میزکار برای یکی از distroboxهای موجود .SH "توضیحات (DESCRIPTION)" دستور distrobox\-generate\-entry یک نماد میزکار برای یکی از distroboxهای موجود ایجاد خواهد کرد. این نماد در زمان حذف distrobox متناظر، پاک خواهد شد. .SH "خلاصه دستور (SYNOPSIS)" \f[B]distrobox generate\-entry\f[R] .IP .EX \-\-help/\-h: نمایش این پیام \-\-all/\-a: اجرا برای تمام distroboxها \-\-delete/\-d: حذف مدخل \-\-icon/\-i: مشخص کردن یک نماد سفارشی [/path/to/icon] (پیش‌فرض auto) \-\-root/\-r: اجرا روی distroboxهای دارای دسترسی ریشه (rootful) \-\-verbose/\-v: نمایش جزئیات بیشتر \-\-version/\-V: نمایش نسخه .EE .SH "مثال‌ها (EXAMPLES)" ایجاد یک مدخل برای یک کانتینر .IP .EX distrobox generate\-entry my\-container\-name .EE .PP مشخص کردن یک نماد سفارشی برای مدخل .IP .EX distrobox generate\-entry my\-container\-name \-\-icon /path/to/icon.png .EE .PP ایجاد یک مدخل برای تمام distroboxها .IP .EX distrobox generate\-entry \-\-all .EE .PP حذف یک مدخل .IP .EX distrobox generate\-entry container\-name \-\-delete .EE .\ .\" .TH "DISTROBOX\-HOST\-EXEC" "1" "Mar 2026" "Distrobox" "User Manual" .SH "نام (NAME)" distrobox\-host\-exec \- اجرای دستورات روی سیستم میزبان از داخل کانتینر .SH "توضیحات (DESCRIPTION)" دستور distrobox\-host\-exec امکان اجرای دستور را روی میزبان، در حین حضور در داخل یک کانتینر فراهم می‌کند. .PP در پشت صحنه، distrobox\-host\-exec از \f[CR]host\-spawn\f[R] استفاده می‌کند؛ پروژه‌ای که امکان اجرای دوباره دستورات روی میزبان را فراهم می‌سازد. اگر این ابزار پیدا نشود، از کاربر خواسته می‌شود تا آن را نصب کند. .SH "خلاصه دستور (SYNOPSIS)" تنها کافی است هر دستور و تمام آرگومان‌های آن (در صورت وجود) را به \[lq]distrobox\-host\-exec\[rq] ارسال کنید. .IP .EX \-\-help/\-h: نمایش این پیام \-\-verbose/\-v: نمایش جزئیات بیشتر \-\-version/\-V: نمایش نسخه \-\-yes/\-Y: پاسخ خودکار بله به اعلان‌ها: در صورت عدم شناسایی host\-spawn، این ابزار روی سیستم مهمان نصب خواهد شد. این رفتار هنگام اجرا در یک پوسته غیرتعاملی پیش‌فرض است. .EE .PP اگر هیچ دستوری ارائه نشود، \[lq]$SHELL\[rq] را اجرا خواهد کرد. .PP به عنوان روشی دیگر، می‌توانید نام یک دستور را به \f[CR]distrobox\-host\-exec\f[R] پیوند نمادین (symlink) دهید و سپس همان دستور را با نامش از داخل یک کانتینر، روی میزبان فراخوانی کنید. .SH "مثال‌ها (EXAMPLES)".SS اجرای دستورهای تکی .IP .EX distrobox\-host\-exec ls distrobox\-host\-exec bash \-l distrobox\-host\-exec flatpak run org.mozilla.firefox distrobox\-host\-exec podman ps \-a .EE .SS ورود به پوسته میزبان .IP .EX \[ti]$: distrobox\-host\-exec # بدون دستور، \[dq]$SHELL\[dq] را روی میزبان اجرا می‌کند \[ti]$: distrobox\-host\-exec # این دستور اکنون روی میزبان اجرا می‌شود You must run distrobox\-host\-exec inside a container! .EE .SS ایجاد پیوند نمادین به دستورهای میزبان برای ایجاد یک پیوند نمادین (symlink) به \f[CR]distrobox\-host\-exec\f[R]، از نام دستور میزبان استفاده کنید. سپس می‌توانید دستور میزبان را از داخل کانتینر فراخوانی کنید. .IP .EX \[ti]$: git # ما git را در کانتینر نداریم bash: git: command not found \[ti]$: sudo ln \-s /usr/bin/distrobox\-host\-exec /usr/local/bin/git \[ti]$: git version git version 2.51.1 .EE .PP می‌توانید podman روی میزبان را از داخل کانتینر به صورت زیر کنترل کنید: .IP .EX \[ti]$: ln \-s /usr/bin/distrobox\-host\-exec /usr/local/bin/podman \[ti]$: ls \-l /usr/local/bin/podman lrwxrwxrwx. 1 root root 51 Jul 11 19:26 /usr/local/bin/podman \-> /usr/bin/distrobox\-host\-exec \[ti]$: podman version \&...این روی میزبان اجرا می‌شود... .EE .\ .\" .TH "DISTROBOX\-INIT" "1" "Mar 2026" "Distrobox" "User Manual" .SH "نام (NAME)" .IP .EX distrobox\-init \- مقداردهی اولیه distrobox (نباید به صورت دستی اجرا شود) .EE .SH "توضیحات (DESCRIPTION)" \f[B]مقداردهی اولیه distrobox (نباید به صورت دستی اجرا شود)\f[R] .PP دستور distrobox\-init نقطه ورود (entrypoint) یک distrobox ایجادشده است. توجه داشته باشید که این دستور حتماً باید از داخل یک distrobox اجرا شود و در صورت اجرا از روی سیستم میزبان، کار نخواهد کرد. .PP \f[B]این برنامه برای استفاده دستی طراحی نشده است، بلکه توسط distrobox\-create برای تنظیم نقطه ورود کانتینر به کار می‌رود.\f[R] .PP دستور distrobox\-init نصب وابستگی‌های ناموجود (مانند sudo)، راه‌اندازی کاربر و گروه‌ها، و سوار کردن (mount) دایرکتوری‌ها از میزبان را جهت اطمینان از یکپارچگی کامل بر عهده خواهد داشت. .SH "خلاصه دستور (SYNOPSIS)" \f[B]distrobox\-init\f[R] .IP .EX \-\-name/\-n: نام کاربر \-\-user/\-u: شناسه کاربر (UID) \-\-group/\-g: شناسه گروه (GID) \-\-home/\-d: مسیر دایرکتوری خانگی کاربر \-\-help/\-h: نمایش این پیام \-\-additional\-packages: بسته‌های تکمیلی برای نصب \-\-init/\-I: استفاده یا عدم استفاده از init \-\-pre\-init\-hooks: دستورهایی برای اجرا پیش از init \-\-nvidia: تلاش برای یکپارچه‌سازی درایورهای nVidia میزبان در مهمان \-\-upgrade/\-U: اجرای init در حالت ارتقا \-\-verbose/\-v: نمایش خروجی با جزئیات بیشتر \-\-version/\-V: نمایش نسخه \-\-: پایان آرگومان‌ها؛ اجرای باقی‌مانده به عنوان دستور در حین init .EE .SH "مثال‌ها (EXAMPLES)" .IP .EX distrobox\-init \-\-name test\-user \-\-user 1000 \-\-group 1000 \-\-home /home/test\-user distrobox\-init \-\-upgrade .EE .\ .\" .TH "DISTROBOX\-LIST" "1" "Mar 2026" "Distrobox" "User Manual".SH "نام (NAME)" .IP .EX distrobox list distrobox\-list .EE .SH "توضیحات (DESCRIPTION)" دستور distrobox\-list کانتینرهای distrobox موجود را فهرست می‌کند. این دستور آن‌ها را شناسایی کرده و به‌طور جداگانه از سایر کانتینرهای عادی فهرست می‌کند. .SH "خلاصه دستور (SYNOPSIS)" \f[B]distrobox list\f[R] .IP .EX \-\-help/\-h: نمایش این پیام \-\-no\-color: غیرفعال کردن قالب‌بندی رنگی \-\-root/\-r: اجرای podman/docker/lilipod با دسترسی‌های ریشه. توجه داشته باشید در صورت نیاز به ریشه، این روش نسبت به \[dq]sudo distrobox\[dq] ارجح است (نکته: در صورتی که استفاده از برنامه‌ای غیر از \[aq]sudo\[aq] برای دسترسی‌های ریشه ضروری است، آن را از طریق متغیر محیطی DBX_SUDO_PROGRAM یا متغیر پیکربندی \[aq]distrobox_sudo_program\[aq] مشخص کنید) \-\-verbose/\-v: نمایش جزئیات بیشتر \-\-version/\-V: نمایش نسخه .EE .SH "مثال‌ها (EXAMPLES)" .IP .EX distrobox\-list .EE .PP همچنین می‌توانید از متغیرهای محیطی برای مشخص کردن مدیر کانتینر استفاده کنید: .IP .EX DBX_CONTAINER_MANAGER=\[dq]docker\[dq] distrobox\-list .EE .SH "محیط (ENVIRONMENT)" .IP .EX DBX_CONTAINER_MANAGER DBX_SUDO_PROGRAM .EE [IMAGE: \c .UR https://user-images.githubusercontent.com/598882/147831082-24b5bc2e-b47e-49ac-9b1a-a209478c9705.png image .UE \c ] image .\ .\" .TH "DISTROBOX\-RM" "1" "Mar 2026" "Distrobox" "User Manual" .SH "نام (NAME)" .IP .EX distrobox rm distrobox\-rm .EE .SH "توضیحات (DESCRIPTION)" دستور distrobox\-rm یکی از کانتینرهای distrobox موجود را حذف می‌کند. .SH "خلاصه دستور (SYNOPSIS)" \f[B]distrobox rm\f[R] .IP .EX \-\-all/\-a: حذف تمام distroboxها \-\-force/\-f: اجبار در حذف \-\-rm\-home: حذف پوشه خانگی متصل‌شده در صورتی که با پوشه کاربر میزبان متفاوت باشد \-\-root/\-r: اجرای podman/docker/lilipod با دسترسی‌های ریشه. توجه داشته باشید در صورت نیاز به ریشه، این روش نسبت به \[dq]sudo distrobox\[dq] ارجح است (نکته: در صورتی که استفاده از برنامه‌ای غیر از \[aq]sudo\[aq] برای دسترسی‌های ریشه ضروری است، آن را از طریق متغیر محیطی DBX_SUDO_PROGRAM یا متغیر پیکربندی \[aq]distrobox_sudo_program\[aq] مشخص کنید) \-\-help/\-h: نمایش این پیام \-\-verbose/\-v: نمایش جزئیات بیشتر \-\-version/\-V: نمایش نسخه .EE .SH "مثال‌ها (EXAMPLES)" .IP .EX distrobox\-rm container\-name [\-\-force] [\-\-all] .EE .PP همچنین می‌توانید از متغیرهای محیطی برای مشخص کردن مدیر کانتینر و نام آن استفاده کنید: .IP .EX DBX_CONTAINER_MANAGER=\[dq]docker\[dq] DBX_CONTAINER_NAME=test\-alpine distrobox\-rm .EE.SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .IP .EX DBX_CONTAINER_MANAGER DBX_CONTAINER_NAME DBX_NON_INTERACTIVE DBX_SUDO_PROGRAM .EE .\ .\" .TH "DISTROBOX\-STOP" "1" "Mar 2026" "Distrobox" "User Manual" .SH "نام (NAME)" .IP .EX distrobox stop distrobox\-stop .EE .SH "توضیحات (DESCRIPTION)" دستور distrobox\-stop یک distrobox در حال اجرا را متوقف می‌کند. .PP distroboxها حتی پس از خروج از آن‌ها در حال اجرا باقی می‌مانند تا ورودهای بعدی بسیار سریع انجام شوند. از این طریق می‌توان آن‌ها را متوقف کرد. .SH "خلاصه دستور (SYNOPSIS)" \f[B]distrobox stop\f[R] .IP .EX \-\-all/\-a: متوقف کردن همه distroboxها \-\-yes/\-Y: غیرتعاملی، توقف بدون پرسش \-\-help/\-h: نمایش این پیام \-\-root/\-r: اجرای podman/docker/lilipod با امتیازات root. توجه داشته باشید که در صورت نیاز به root، این روش بر \[dq]sudo distrobox\[dq] ارجحیت دارد (نکته: در صورت لزوم استفاده از برنامه‌ای غیر از \[aq]sudo\[aq] برای امتیازات root، آن را از طریق متغیر محیطی DBX_SUDO_PROGRAM یا متغیر پیکربندی \[aq]distrobox_sudo_program\[aq] مشخص کنید) \-\-verbose/\-v: نمایش جزئیات بیشتر \-\-version/\-V: نمایش نسخه .EE .SH "مثال‌ها (EXAMPLES)" .IP .EX distrobox\-stop container\-name1 container\-name2 distrobox\-stop container\-name distrobox\-stop \-\-all .EE .PP همچنین می‌توانید از متغیرهای محیطی برای تعیین مدیر کانتینر و نام آن استفاده کنید: .IP .EX DBX_CONTAINER_MANAGER=\[dq]docker\[dq] DBX_CONTAINER_NAME=test\-alpine distrobox\-stop .EE .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" .IP .EX DBX_CONTAINER_MANAGER DBX_CONTAINER_NAME DBX_NON_INTERACTIVE DBX_SUDO_PROGRAM .EE .\ .\" .TH "DISTROBOX\-UPGRADE" "1" "Mar 2026" "Distrobox" "User Manual" .SH "نام (NAME)" .IP .EX distrobox\-upgrade .EE .SH "توضیحات (DESCRIPTION)" دستور distrobox\-upgrade وارد فهرست کانتینرهای مشخص‌شده می‌شود و با استفاده از مدیر بستهٔ کانتینر، ارتقا را انجام می‌دهد. .SH "خلاصه دستور (SYNOPSIS)" \f[B]distrobox upgrade\f[R] .IP .EX \-\-help/\-h: نمایش این پیام \-\-all/\-a: انجام برای همه distroboxها \-\-running: انجام فقط برای distroboxهای در حال اجرا \-\-root/\-r: اجرای podman/docker/lilipod با امتیازات root. توجه داشته باشید که در صورت نیاز به root، این روش بر \[dq]sudo distrobox\[dq] ارجحیت دارد (نکته: در صورت لزوم استفاده از برنامه‌ای غیر از \[aq]sudo\[aq] برای امتیازات root، آن را از طریق متغیر محیطی DBX_SUDO_PROGRAM یا متغیر پیکربندی \[aq]distrobox_sudo_program\[aq] مشخص کنید) \-\-verbose/\-v: نمایش جزئیات بیشتر \-\-version/\-V: نمایش نسخه .EE.SH "مثال‌ها (EXAMPLES)" ارتقای تمام distroboxها .IP .EX distrobox\-upgrade \-\-all .EE .PP ارتقای تمام distroboxهای در حال اجرا .IP .EX distrobox\-upgrade \-\-all \-\-running .EE .PP ارتقای یک distrobox مشخص .IP .EX distrobox\-upgrade alpine\-linux .EE .PP ارتقای فهرستی از distroboxها .IP .EX distrobox\-upgrade alpine\-linux ubuntu22 my\-distrobox123 .EE .PP \f[B]به‌روزرسانی خودکار تمام distroها\f[R] .PP می‌توانید یک سرویس systemd بسازید تا distrobox\-upgrade به‌صورت خودکار اجرا شود؛ این مثال نحوهٔ اجرای روزانهٔ آن را نشان می‌دهد: .PP \[ti]/.config/systemd/user/distrobox\-upgrade.service .IP .EX [Unit] Description=distrobox\-upgrade Automatic Update [Service] Type=simple ExecStart=distrobox\-upgrade \-\-all StandardOutput=null .EE .PP \[ti]/.config/systemd/user/distrobox\-upgrade.timer .IP .EX [Unit] Description=distrobox\-upgrade Automatic Update Trigger [Timer] OnBootSec=1h OnUnitInactiveSec=1d [Install] WantedBy=timers.target .EE .PP سپس کافی است دستور زیر را اجرا کنید: \f[CR]systemctl \-\-user daemon\-reload && systemctl \-\-user enable \-\-now distrobox\-upgrade.timer\f[R]