virt-builder-repository(1) Virtualization Support virt-builder-repository(1)

virt-builder-repository - ساخت آسان مخزن منبع برای virt-builder

virt-builder-repository /path/to/repository
   [-i|--interactive] [--gpg-key KEYID]

ابزار virt-builder ابزاری برای ساخت سریع ماشین‌های مجازی جدید است. این ابزار می‌تواند برای استفاده از مخازن الگو پیکربندی شود. با این حال، ایجاد و نگهداری یک مخزن شامل وظایف متعددی است که می‌توانند خودکار شوند. دستور virt-builder-repository ابزاری برای کمک به مدیریت این مخازن است.

دستور virt-builder-repository روی فایل‌های موجود در دایرکتوری مشخص‌شده به عنوان آرگومان پیمایش کرده، فایل‌هایی با نام منتهی به "qcow2"، "raw"، "img" یا بدون پسوند را فشرده می‌کند، داده‌ها را از آن‌ها استخراج کرده و فایل "index" را ایجاد یا به‌روزرسانی می‌کند.

بخشی از داده‌های مرتبط با ایمیج که برای فایل index مورد نیاز است، از طریق خود فایل ایمیج قابل محاسبه نیستند. virt-builder-repository ابتدا تلاش می‌کند آن‌ها را در فایل index موجود بیابد. اگر داده‌ها پس از این مرحله همچنان مفقود باشند، در حالت تعاملی (interactive) از کاربر درخواست می‌شوند، در غیر این صورت خطایی رخ خواهد داد.

اگر یک "KEYID" ارائه شود، فایل index تولیدشده با این کلید GPG امضا خواهد شد..SH "مثال‌ها (EXAMPLES)"

یک پوشه ایجاد کرده و فایل‌های الگوی دیسک ایمیج را در آن کپی کنید. سپس دستوری مانند زیر را اجرا نمایید:

virt-builder-repository --gpg-key "joe@hacker.org" -i /path/to/folder

توجه داشته باشید که این دستورِ نمونه در حالت تعاملی (interactive) اجرا می‌شود. برای اجرا در حالت خودکار، پیش از اجرای دستور باید یک فایل نمایهٔ (index) کمینه ایجاد شود که حاوی بخش‌هایی مانند این باشد:

[template_id]
file=template_filename.qcow.xz

در صورتی که پارامتر --no-compression مشخص نشده باشد، مقدار file باید با نام ایمیج همراه با پسوند ".xz" مطابقت داشته باشد، یا اگر فشرده‌سازی در کار نباشد، با نام ایمیج یکسان باشد. سایر داده‌های اختیاری را می‌توان از قبل پر کرد. مقادیر پیش‌فرض با بازرسی دیسک ایمیج محاسبه می‌شوند. برای اطلاعات بیشتر، بخش «Creating and signing the index file» در virt-builder(1) را ببینید.

در این سناریو، یک ایمیج جدید یا ویرایش جدیدی از یک ایمیج موجود باید به مخزن اضافه شود. فایل‌های الگوی ایمیج مربوطه را در پوشهٔ مخزن قرار دهید.

برای به‌روزرسانی ویرایش یک ایمیج، فایل باید همان نام نسخهٔ موجود را داشته باشد (بدون پسوند "xz").

همانند سناریوی ایجاد مخزن، می‌توان قطعه‌ای کمینه را برای حالت خودکار به فایل نمایه اضافه کرد. این کار حتی روی نمایهٔ امضاشده نیز قابل انجام است، هرچند ممکن است ایدهٔ عجیبی به نظر برسد: نمایه دوباره توسط ابزار امضا خواهد شد.

برای حذف یک ایمیج از مخزن، کافی است پیش از اجرای virt-builder-repository، فایل ایمیج مربوطه را حذف کنید.

سپس اجرای دستور زیر فایل نمایه را تکمیل و به‌روزرسانی خواهد کرد:

virt-builder-repository --gpg-key "joe@hacker.org" -i /path/to/folder

برنامهٔ virt-builder-repository در یک پوشهٔ موقت درون همان پوشهٔ مخزن کار می‌کند. اگر در هنگام اجرای ابزار مشکلی رخ دهد، مخزن بدون دستکاری و دست‌نخورده باقی می‌ماند.

نمایش راهنما.
مشخص کردن یک باینری جایگزین برای gpg(1) (GNU Privacy Guard). همچنین می‌توانید از این گزینه برای افزودن پارامترهای gpg استفاده کنید؛ برای مثال جهت تعیین یک دایرکتوری خانگی جایگزین:
virt-builder-repository --gpg "gpg --homedir /tmp" [...]

همچنین می‌توان از این گزینه برای جلوگیری از درخواست عبارت عبور (passphrase) کلید توسط gpg استفاده کرد:

virt-builder-repository --gpg "gpg --passphrase-file /tmp/pass --batch" [...]
مشخص کردن کلید GPG مورد استفاده برای امضای فایل نمایهٔ مخزن. اگر مشخص نشود، نمایه بدون امضا باقی می‌ماند. "KEYID" برای شناسایی کلید GPG مورد نظر به کار می‌رود. این مقدار به گزینهٔ --default-key در gpg فرستاده می‌شود و بنابراین می‌تواند یک نشانی رایانامه یا یک اثرانگشت (fingerprint) باشد.

یادداشت: به‌طور پیش‌فرض، virt-builder-repository کلید را در جاکلیدی (keyring) کلیدهای GPG کاربر جستجو می‌کند.

درخواست تعاملی برای داده‌های ناموجود. مقادیر پیش‌فرض از روی دیسک ایمیج محاسبه می‌شوند.

هنگام درخواست داده، وارد کردن "-" معادل خالی گذاشتن مقدار است. از این قابلیت می‌توان برای جلوگیری از تنظیم مقدار پیش‌فرض محاسبه‌شده استفاده کرد.

عدم فشرده‌سازی ایمیج‌های الگو.
این گزینه برای ماشین‌پسندتر کردن خروجی هنگام پردازش و تجزیه توسط برنامه‌های دیگر به کار می‌رود. بخش «MACHINE READABLE OUTPUT» را در ادامه ببینید.
استفاده از توالی‌های رنگی ANSI برای رنگی کردن پیام‌ها. این حالت پیش‌فرض هنگامی است که خروجی یک tty باشد. اگر خروجی برنامه به یک فایل هدایت شود، توالی‌های رنگی ANSI غیرفعال خواهند شد مگر اینکه از این گزینه استفاده کنید.
عدم چاپ پیام‌های پیشرفت عادی.
فعال‌سازی پیام‌های اشکال‌زدایی (debug) و/یا تولید خروجی پرجزئیات.

هنگام گزارش باگ‌ها، از این گزینه استفاده کرده و خروجی کامل را به گزارش خود پیوست کنید.

نمایش شمارهٔ نسخه و خروج.
شکستن خطوط (wrap) پیام‌های خطا، هشدار و اطلاعاتی. این حالت پیش‌فرض هنگامی است که خروجی یک tty باشد. اگر خروجی برنامه به یک فایل هدایت شود، شکستن خطوط غیرفعال می‌شود مگر اینکه از این گزینه استفاده کنید.
فعال‌سازی ردگیری (tracing) فراخوانی‌های API کتابخانهٔ libguestfs..SH "خروجی ماشین‌خوان (MACHINE READABLE OUTPUT)" گزینهٔ --machine-readable می‌تواند برای ماشین‌خوان‌تر کردن خروجی استفاده شود، که هنگام فراخوانی virt-builder-repository از دیگر برنامه‌ها، رابط‌های گرافیکی (GUI) و غیره کاربردی است.

از این گزینه به تنهایی برای بررسی قابلیت‌های باینری virt-builder-repository استفاده کنید. یک خروجی معمول به این صورت است:

$ virt-builder-repository --machine-readable
virt-builder-repository

فهرستی از قابلیت‌ها، در هر خط یکی چاپ می‌شود و برنامه با وضعیت 0 خارج می‌شود.

امکان تعیین یک رشتهٔ قالب‌بندی برای کنترل خروجی وجود دارد؛ «ADVANCED MACHINE READABLE OUTPUT» را در guestfs(3) ببینید.

این برنامه در صورت موفقیت 0، یا در صورت بروز خطا مقداری غیر صفر برمی‌گرداند.

virt-builder(1) http://libguestfs.org

Cédric Bosdonnat mailto:cbosdonnat@suse.com

Copyright (C) 2016-2025 SUSE Inc.

این برنامه یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU General Public License) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد (Free Software Foundation) منتشر شده است، چه نسخهٔ 2 مجوز یا (به انتخاب خودتان) هر نسخهٔ بالاتری بازتوزیع کرده و/یا تغییر دهید.

این برنامه با این امید توزیع می‌شود که مفید باشد، اما بدون هرگونه ضمانت؛ حتی ضمانت ضمنی قابل فروش بودن یا مناسب بودن برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.

شما باید همراه با این برنامه یک نسخه از مجوز عمومی همگانی گنو را دریافت کرده باشید؛ در غیر این صورت، به آدرس زیر مکاتبه کنید: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

برای دریافت فهرستی از باگ‌های libguestfs، از این پیوند استفاده کنید: https://bugzilla.redhat.com/buglist.cgi?component=libguestfs&product=Virtualization+Tools

برای گزارش یک باگ جدید در libguestfs، از این پیوند استفاده کنید: https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools

هنگام گزارش یک باگ، لطفاً موارد زیر را ارائه دهید:

  • نسخهٔ libguestfs.
  • جایی که libguestfs را از آن دریافت کرده‌اید (برای مثال کدام توزیع لینوکس، کامپایل‌شده از سورس، و غیره)
  • باگ را به‌طور دقیق توضیح داده و روشی برای بازتولید آن ارائه دهید.
  • دستور libguestfs-test-tool(1) را اجرا کرده و خروجی کامل و ویرایش‌نشده را در گزارش باگ قرار دهید.
2026-07-11 guestfs-tools-1.56.0