| lxc-unshare(1) | lxc-unshare(1) |
نام (NAME)
lxc-unshare - اجرای یک وظیفه در مجموعهای جدید از فضاهای نام (namespaces)
خلاصه دستور (SYNOPSIS)
lxc-unshare
{-s, --namespaces namespaces} [-u, --user user] [-H, --hostname
hostname] [-i, --ifname ifname] [-d, --daemon] [-M, --remount]
{command}
توضیحات (DESCRIPTION)
دستور lxc-unshare میتواند برای اجرای یک وظیفه در مجموعهای کلونشده از فضاهای نام (namespaces) استفاده شود. این دستور عمدتاً برای اهداف آزمایشی ارائه شده است. با وجود نامش، این دستور همیشه بهجای unshare از فراخوانی clone برای ایجاد وظیفه جدید با فضاهای نام تازه استفاده میکند. صرفنظر از آزمایش رگرسیونهای هسته، این موضوع تفاوت خاصی ایجاد نمیکند.
گزینهها (OPTIONS)
- -s, --namespaces namespaces
- فضاهای نام مورد نظر برای اتصال را به صورت فهرستی جداشده با خط عمودی (pipe)، مانند NETWORK|IPC مشخص میکند. مقادیر مجاز عبارتند از: MOUNT، PID، UTSNAME، IPC، USER و NETWORK. این قابلیت به کاربر امکان میدهد بستر فرایند را مثلاً به فضای نام شبکه کانتینر تغییر دهد در حالی که سایر فضاهای نام را مانند سیستم میزبان حفظ کند. (نماد خط عمودی باید اسکیپ شود، مانند MOUNT\|PID یا درون علامت نقلقول قرار گیرد، مانند "MOUNT|PID".)
- -u, --user user
- شناسه کاربری (userid) را که وظیفه جدید باید با آن اجرا شود، مشخص میکند.
- -H, --hostname hostname
- نام میزبان (hostname) را در کانتینر جدید تنظیم میکند. این گزینه تنها در صورتی مجاز است که فضای نام UTSNAME تعیین شده باشد.
- -i, --ifname interfacename
- رابط شبکه نامبرده را به درون کانتینر منتقل میکند. تنها در صورتی مجاز است که فضای نام NETWORK تعیین شده باشد. میتوانید این آرگومان را چندین بار مشخص کنید تا چندین رابط شبکه به درون کانتینر منتقل شوند.
- -d, --daemon
- تبدیل به دیمون (پیش از خروج منتظر پایان کانتینر نماند).
- -M, --remount
- سیستمفایلهای پیشفرض (/proc و /dev/shm و /dev/mqueue) را در کانتینر سوار (mount) میکند. تنها در صورتی مجاز است که فضای نام MOUNT تعیین شده باشد.
مثالها (EXAMPLES)
برای ایجاد یک شل جدید با فضای نام اختصاصی UTS (نام میزبان):
lxc-unshare -s UTSNAME /bin/bash
اگر نام میزبان در آن شل تغییر کند، این تغییر در سیستم میزبان منعکس نخواهد شد.
برای ایجاد یک شل در فضاهای نام جدید network، pid و mount:
lxc-unshare -s "NETWORK|PID|MOUNT" /bin/bash
شل حاصل دارای pid برابر با ۱ خواهد بود و هیچ رابط شبکهای را نخواهد دید. پس از سوار کردن دوباره /proc در آن شل:
mount -t proc proc /proc
خروجی ps نشان خواهد داد که هیچ فرایند دیگری در این فضای نام وجود ندارد.
برای ایجاد یک شل در فضاهای نام جدید network، pid، mount و hostname:
lxc-unshare -s "NETWORK|PID|MOUNT|UTSNAME" -M -H myhostname -i veth1 /bin/bash
شل حاصل دارای pid برابر با ۱ خواهد بود و دو رابط شبکه (lo و veth1) را مشاهده خواهد کرد. نام میزبان برابر با "myhostname" خواهد بود و پوشه /proc مجدداً سوار شده است. خروجی ps نشان خواهد داد که هیچ فرایند دیگری در این فضای نام وجود ندارد.
همچنین ببینید (SEE ALSO)
lxc(7), lxc-create(1), lxc-copy(1), lxc-destroy(1), lxc-start(1), lxc-stop(1), lxc-execute(1), lxc-console(1), lxc-monitor(1), lxc-wait(1), lxc-cgroup(1), lxc-ls(1), lxc-info(1), lxc-freeze(1), lxc-unfreeze(1), lxc-attach(1), lxc.conf(5)
| 2026-08-01 |