lxc-copy(1) lxc-copy(1)

lxc-copy - رونوشت گرفتن از یک کانتینر موجود


lxc-copy
{-n, --name name} [-P, --lxcpath path] {-N, --newname newname} [-p, --newpath newpath] [-B, --backingstorage backingstorage] [-s, --snapshot] [-a, --allowrunning] [-K, --keepname] [-D, --keepdata] [-M, --keepmac] [-L, --fssize size [unit]] [-- hook arguments]

lxc-copy
{-n, --name name} [-P, --lxcpath path] [-N, --newname newname] [-p, --newpath newpath] {-e, --ephemeral} [-B, --backingstorage backingstorage] [-s, --snapshot] [-a, --allowrunning] [-K, --keepname] [-D, --keepdata] [-M, --keepmac] [-L, --fssize size [unit]] [-- hook arguments]

lxc-copy
{-n, --name name} [-P, --lxcpath path] [-N, --newname newname] [-p, --newpath newpath] {-e, --ephemeral} [-B, --backingstorage backingstorage] [-s, --snapshot] [-t, --tmpfs] [-K, --keepname] [-M, --keepmac] [-- hook arguments]

lxc-copy
{-n, --name name} [-P, --lxcpath path] {-N, --newname newname} [-p, --newpath newpath] {-R, --rename}

دستور lxc-copy رونوشت‌هایی (گذرا یا غیرگذرا) از کانتینرهای موجود ایجاد کرده و به صورت اختیاری آن‌ها را اجرا می‌کند.

دستور lxc-copy از کانتینرهای موجود کپی تهیه می‌کند. این رونوشت‌ها می‌توانند شبیه‌سازی کامل (کلون) از کانتینر اصلی باشند که در این صورت کل سیستم‌فایل ریشه کانتینر به کانتینر جدید رونوشت می‌شود؛ یا می‌توانند اسنپ‌شات (تصویر لحظه‌ای)، یعنی نسخه‌های کم‌حجم با قابلیت رونوشت هنگام نوشتن (copy-on-write) از کانتینر اصلی باشند. در این حالت، فضای ذخیره‌سازی پشتیبان (backing storage) مشخص‌شده برای رونوشت باید از اسنپ‌شات پشتیبانی کند. این موارد در حال حاضر شامل btrfs، lvm (دستگاه‌های lvm از اسنپ‌شاتِ اسنپ‌شات‌ها پشتیبانی نمی‌کنند)، overlay و zfs می‌شوند.

فضای ذخیره‌سازی پشتیبان رونوشت از همان نوع کانتینر اصلی خواهد بود. اسنپ‌شات‌های overlay از کانتینرهای مبتنی بر دایرکتوری از این قاعده مستثنی هستند.

هنگامی که گزینه -e مشخص شود، یک اسنپ‌شات گذرا (ephemeral) از کانتینر اصلی ایجاد و اجرا می‌شود. کانتینرهای گذرا مقدار lxc.ephemeral = 1 را در فایل پیکربندی خود خواهند داشت و هنگام خاموش شدن نابود (حذف) خواهند شد. هنگامی که -e در ترکیب با -D استفاده شود، یک اسنپ‌شات غیرگذرا از کانتینر اصلی ایجاد و راه‌اندازی می‌شود. کانتینرهای گذرا همچنین می‌توانند با فلگ -t روی یک tmpfs قرار گیرند. نکته: اگر یک کانتینر گذرا که روی tmpfs قرار دارد بازراه‌اندازی (reboot) شود، در حال حاضر تمام تغییرات اعمال‌شده در آن از دست خواهد رفت!

هنگامی که -e مشخص شود و نام جدیدی از طریق -N تعیین نشده باشد، یک نام تصادفی برای اسنپ‌شات انتخاب خواهد شد.

کانتینرهایی که با -e ایجاد و راه‌اندازی می‌شوند می‌توانند اتصالات (mounts) سفارشی داشته باشند. این اتصالات با فلگ -m مشخص می‌شوند. در حال حاضر دو نوع اتصال پشتیبانی می‌شود: bind و overlay. انواع اتصالات به عنوان زیرگزینه‌هایی برای فلگ -m تعیین می‌شوند و می‌توان آن‌ها را چندین بار و با کاما از یکدیگر جدا کرد. اتصالات overlay در حال حاضر در قالب -m overlay=/src:/dest مشخص می‌شوند. هنگامی که هیچ مقصدی (dest) مشخص نشده باشد، dest با مبدا (src) یکسان خواهد بود. اتصالات bind فقط‌خواندنی به صورت -m bind=/src:/dest:ro و اتصالات bind خواندنی-نوشتنی به صورت -m bind=/src:/dest:rw تعیین می‌شوند. اتصالات bind خواندنی-نوشتنی حالت پیش‌فرض هستند و در صورت نیاز به اتصال خواندنی-نوشتنی می‌توان rw را حذف کرد. در صورت عدم تعیین dest، مقصد با src یکسان خواهد بود. یک مثال برای اتصالات متعدد: -m bind=/src1:/dest1:ro,bind=/src2:ro,overlay=/src3:/dest3.

اتصالات، گزینه‌ها و قالب‌های پشتیبانی‌شده از طریق فلگ -m ممکن است در آینده تغییر کنند.

نام برای رونوشت جدید.
مسیر برای رونوشت جدید.
تغییر نام کانتینر اصلی.
ایجاد یک اسنپ‌شات از کانتینر اصلی. فضای ذخیره‌سازی پشتیبان برای رونوشت باید از اسنپ‌شات پشتیبانی کند. این موارد در حال حاضر شامل btrfs، lvm، overlay و zfs است.
اجازه ایجاد اسنپ‌شات از یک کانتینر در حال اجرا. این کار ممکن است بسته به سیستم‌فایل و برنامه‌های مورد استفاده، موجب خرابی داده‌ها یا از دست رفتن اطلاعات شود. با احتیاط استفاده کنید.
اجرای اسنپ‌شات در پیش‌زمینه. کنسول اسنپ‌شات به tty جاری متصل خواهد شد. (این گزینه فقط در ترکیب با -e قابل استفاده است.)
اجرای اسنپ‌شات به صورت دیمون (این حالت پیش‌فرض برای کانتینرهای گذرا است). از آنجا که کانتینر دیگر tty ندارد، در صورت بروز خطا چیزی نمایش داده نخواهد شد و می‌توان از پرونده گزارش برای بررسی خطا استفاده کرد. (این گزینه فقط در ترکیب با -e قابل استفاده است.)
مشخص کردن اتصال برای یک اسنپ‌شات. آرگومان opts برای نوع اتصال می‌تواند از نوع {bind, overlay} باشد؛ به عنوان مثال -m bind=/src:/dest:ro,overlay=/src:/dest (این گزینه در حال حاضر فقط در ترکیب با -e قابل استفاده است).
هنگامی که این گزینه مشخص شود، کانتینر گذرا روی یک tmpfs قرار خواهد گرفت. نکته: بازراه‌اندازی کانتینر گذرایی که روی tmpfs قرار دارد در حال حاضر باعث از دست رفتن تمام تغییرات اعمال‌شده در آن خواهد شد. این فلگ تنها برای کانتینرهای گذرایی کار می‌کند که با فلگ -e ایجاد شده باشند. کانتینر اصلی که اسنپ‌شات گذرا از آن ساخته می‌شود باید به صورت یک دایرکتوری ساده ذخیره شده باشد.
مشخص کردن نوع فضای ذخیره‌سازی پشتیبان مورد استفاده برای رونوشت، که در آن 'backingstorage' از انواع 'btrfs'، 'dir'، 'lvm'، 'loop'، 'overlay' یا 'zfs' است.
مشخص کردن اندازه برای یک سیستم‌فایل 'lvm'.
هنگامی که این گزینه مشخص شود، نام میزبان (hostname) کانتینر اصلی برای رونوشت حفظ می‌شود.
هنگامی که این گزینه به همراه -e مشخص شود، یک کانتینر غیرگذرا ایجاد و اجرا می‌شود.
هنگامی که این گزینه مشخص شود، آدرس MAC کانتینر اصلی برای رونوشت حفظ می‌شود.

اگر کانتینری که از آن کپی گرفته می‌شود یک یا چند مورد lxc.hook.clone تعریف کرده باشد، این قلاب‌های مشخص‌شده برای کانتینر جدید فراخوانی خواهند شد. ۳ آرگومان نخست ارسالی به قلاب کلون عبارتند از نام کانتینر، بخش ('lxc') و نوع قلاب ('clone'). آرگومان‌های اضافی ارسال‌شده به lxc-copy، از آرگومان ۴ به بعد به برنامه قلاب ارسال می‌شوند. متغیر محیطی LXC_ROOTFS_MOUNT مسیری را که سیستم‌فایل ریشه کانتینر تحت آن متصل شده ارائه می‌دهد. نام مسیر فایل پیکربندی در LXC_CONFIG_FILE، نام کانتینر جدید در LXC_NAME، نام کانتینر قدیمی در LXC_SRC_NAME و مسیر یا دستگاهی که rootfs روی آن قرار دارد در LXC_ROOTFS_PATH ذخیره می‌شود.

این گزینه‌ها میان بیشتر دستورات lxc مشترک هستند.

-?, -h, --help
نمایش پیام راهنمای کامل‌تر نسبت به حالت معمول.
نمایش پیام نحوه استفاده از دستور.
بی‌صدا کردن و جلوگیری از نمایش پیام‌های خروجی.
استفاده از یک مسیر جایگزین برای ذخیره کانتینر. مقدار پیش‌فرض /var/lib/lxc است.
هدایت خروجی گزارش‌ها به پرونده جایگزین FILE. حالت پیش‌فرض عدم ثبت لاگ در فایل است.
تنظیم اولویت ثبت گزارش‌ها روی LEVEL. اولویت پیش‌فرض لاگ‌ها ERROR است. مقادیر مجاز عبارتند از: FATAL، ALERT، CRIT، WARN، ERROR، NOTICE، INFO، DEBUG، TRACE.

توجه داشته باشید که این گزینه اولویت وقایع ثبت‌شده در پرونده لاگ جایگزین را تنظیم می‌کند و تاثیری بر وقایع ERROR چاپ‌شده در خروجی خطای استاندارد (stderr) ندارد.

استفاده از شناسه کانتینر NAME. قالب شناسه کانتینر یک رشته الفبایی-عددی است.
مشخص کردن فایل پیکربندی جهت تنظیم قابلیت‌های مجازی‌سازی و ایزولاسیون کانتینر.

در صورت وجود، این فایل پیکربندی حتی اگر از قبل یک فایل پیکربندی در کانتینر ساخته‌شده (از طریق lxc-create) وجود داشته باشد، استفاده خواهد شد.

نمایش شماره نسخه برنامه.

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