umoci-repack(1)(#) - umoci-repack(1)(#)
Aleksa Sarai DECEMBER 2016

umoci repack - بسته‌بندی مجدد یک باندل زمان اجرای OCI در یک برچسب ایمیج

umoci repack --image=image[:tag] [--compress=compression-type] [--no-history] [--history.comment=comment] [--history.created_by=created_by] [--history.author=author] [--history-created=date] [--refresh-bundle] bundle

با دریافت یک باندل OCI تغییریافته که با umoci-unpack(1) (در مسیر داده‌شدهٔ bundle) استخراج شده است، دستور umoci-repack(1) تفاوت‌های سیستم‌فایل (delta) را برای rootfs باندل OCI محاسبه می‌کند. این تفاوت‌ها برای تولید یک لایهٔ دلتا استفاده می‌شوند، که سپس به مانیفست ایمیج اصلی (که به‌عنوان آرگومان برای umoci-unpack(1) استفاده شده بود) ضمیمه شده و با یک برچسب ایمیج جدید برچسب‌گذاری می‌شود. در فاصلهٔ بین فراخوانی umoci-unpack(1) و umoci-repack(1)، کاربران «نباید» به هیچ نحوی ایمیج OCI را تغییر دهند (به‌ویژه «نباید» از umoci-gc(1) استفاده کنید).

تمام تنظیمات --uid-map و --gid-map از مقادیر ذخیره‌شدهٔ مشخص‌شده در umoci-unpack(1) استنتاج می‌شوند، بنابراین در umoci-repack(1) در دسترس نیستند.

اگر --no-history مشخص نشده باشد، یک مدخل تاریخچه برای این تغییر به ایمیج OCI برچسب‌گذاری‌شده ضمیمه می‌شود (که پرچم‌های مختلف --history. مقادیر مورد استفاده را کنترل می‌کنند). برای مشاهدهٔ تاریخچه، umoci-stat(1) را ببینید.

توجه داشته باشید که برچسب ایمیج اصلی (استفاده‌شده با umoci-unpack(1)) تغییر نخواهد کرد مگر اینکه مقصد umoci-repack(1) همان برچسب ایمیج اصلی باشد.

گزینه‌های عمومی در umoci(1) تعریف شده‌اند.

--image=image[:tag]
برچسب مقصد برای ایمیج OCI بسته‌بندی‌شدهٔ مجدد. image باید مسیری به یک ایمیج معتبر OCI باشد (و همان image که در umoci-unpack(1) برای ایجاد bundle استفاده شده است) و tag باید یک نام برچسب معتبر باشد. اگر برچسب دیگری از پیش نامی یکسان با tag داشته باشد، بازنویسی خواهد شد. اگر tag ارائه نشود، مقدار پیش‌فرض آن "latest" خواهد بود.

--compress=compression-type
نوع فشرده‌سازی مورد استفاده هنگام ایجاد یک لایهٔ جدید را مشخص می‌کند. انواع فشرده‌سازی پشتیبانی‌شده عبارتند از none، gzip و zstd. دستور umoci-unpack(1) به‌طور شفاف از تمام روش‌های فشرده‌سازی که می‌توانید با --compress مشخص کنید پشتیبانی می‌کند.


مقدار ویژهٔ auto باعث می‌شود umoci(1) مناسب‌ترین الگوریتم فشرده‌سازی را بر اساس نحوهٔ فشرده‌سازی لایه‌های پیشین به‌طور خودکار انتخاب کند (تلاش خواهد کرد از الگوریتم فشرده‌سازی تازه‌ترین لایه‌ای که پشتیبانی می‌کند استفاده کند). توجه داشته باشید که auto هرگز فشرده‌سازی none را به‌طور خودکار انتخاب نخواهد کرد، زیرا فشرده‌نکردن آرشیوهای tar(1) به‌هیچ‌وجه توصیه نمی‌شود.


اگر هیچ compression-type مشخص نشود، مقدار پیش‌فرض auto خواهد بود.

--no-history
باعث می‌شود هیچ مدخل تاریخچه‌ای برای این عملیات افزوده نشود. استفاده از این گزینه با umoci-repack(1) توصیه نمی‌شود، زیرا باعث می‌شود تاریخچه شامل همهٔ لایه‌های ایمیج نباشد -- و در نتیجه موجب سردرگمی ابزارهایی خواهد شد که به تاریخچهٔ ایمیج نگاه می‌کنند.

--history.comment=comment
توضیح برای مدخل تاریخچهٔ متناظر با این تغییر ایمیج. در صورت نامشخص بودن، umoci(1) یک مقدار وابسته به پیاده‌سازی تولید خواهد کرد.

--history.created_by=created_by
مدخل CreatedBy برای مدخل تاریخچهٔ متناظر با این تغییر ایمیج. در صورت نامشخص بودن، umoci(1) یک مقدار وابسته به پیاده‌سازی تولید خواهد کرد.

--history.author=author
مقدار نویسنده برای مدخل تاریخچهٔ متناظر با این تغییر ایمیج. در صورت نامشخص بودن، این مقدار برابر با مقدار نویسندهٔ ایمیج پس از اعمال هرگونه تغییر توسط این فراخوانی از umoci-config(1) خواهد بود.

--history-created=date
تاریخ ایجاد برای مدخل تاریخچهٔ متناظر با این تغییرات ایمیج. این مقدار باید یک مهرزمانی با قالب ISO8601 باشد (به date(1) مراجعه کنید). در صورت نامشخص بودن، از زمان فعلی استفاده می‌شود.

--refresh-bundle
مشخص می‌کند که آیا فراداده‌های باندل OCI (یعنی فراداده‌های mtree و umoci) پس از بسته‌بندی مجدد ایمیج به‌روزرسانی شوند یا خیر. در صورت تنظیم، وضعیت جدید باندل باید معادل استخراج برچسب ایمیج جدید باشد.

دستورات زیر یک ایمیج را با استفاده از skopeo(1) از یک رجیستری docker(1) دریافت کرده، آن را با umoci-unpack(1) استخراج کرده، تغییر داده و سپس مجدداً بسته‌بندی می‌کنند.

% skopeo copy docker://opensuse/amd64:42.2 oci:image:latest
# umoci unpack --image image bundle
# touch bundle/rootfs/a_new_file
# umoci repack --image image:new-42.2 bundle

umoci(1), umoci-unpack(1)

umoci repack