| containers-storage.conf(5) | راهنمای لینوکس | containers-storage.conf(5) |
نام (NAME)
containers-storage.conf - ساختار و نحو فایل پیکربندی فضای ذخیرهسازی کانتینر
توضیحات (DESCRIPTION)
فایل پیکربندی STORAGE تمامی گزینههای ذخیرهسازی کانتینر در دسترس را برای ابزارهایی که از فضای ذخیرهسازی اشتراکی کانتینر استفاده میکنند، در قالب TOML مشخص میکند تا به آسانی قابل ویرایش و مدیریت نسخه باشد.
قالب (FORMAT)
از قالب TOML به عنوان کدگذاری فایل پیکربندی استفاده میشود. هر گزینه و زیرجدول فهرستشده در اینجا، ذیل یک جدول سراسری به نام "storage" قرار میگیرد. هیچ گزینه بدون جدولی استفاده نمیشود. قالب TOML را میتوان به صورت ساده به شکل زیر نشان داد:
[table] option = value [table.subtable1] option = value [table.subtable2] option = value
جدول STORAGE
جدول storage از گزینههای زیر پشتیبانی میکند:
driver="" درایور ذخیرهسازی کانتینر مبتنی بر رونوشت هنگام نوشتن (COW یا Copy On Write). درایورهای معتبر عبارتند از "overlay"، "vfs"، "btrfs" و "zfs". برخی از درایورها (برای مثال "zfs" و "btrfs") ممکن است در صورت عدم پشتیبانی هسته (kernel) سیستم شما از آن سیستم فایل کار نکنند. درایورهای معتبر در حالت بدون ریشه (rootless) عبارتند از "btrfs"، "overlay" و "vfs".
graphroot="" دایرکتوری گراف ذخیرهسازی کانتینر (پیشفرض: /var/lib/containers/storage یا در حالت بدون ریشه $XDG_DATA_HOME/containers/storage یا $HOME/.local/share/containers/storage بسته به اینکه $XDG_DATA_HOME تنظیم شده باشد یا خیر). دایرکتوری پیشفرض برای ذخیره تمام محتوای قابل نوشتنی که توسط برنامههای ذخیرهسازی کانتینر ایجاد میشود. مسیر graphroot از جایگزینی متغیرهای محیطی پشتیبانی میکند (مانند $HOME/containers/storage). هنگام تغییر مکان graphroot در یک سیستم دارای SELinux، اطمینان حاصل کنید که برچسبگذاری آن با برچسبهای مکان پیشفرض مطابقت دارد؛ با استفاده از دستورات زیر:
# semanage fcontext -a -e /var/lib/containers/storage /NEWSTORAGEPATH # restorecon -R -v /NEWSTORAGEPATH
در حالت بدون ریشه به صورت زیر تنظیم میکنید:
# semanage fcontext -a -e $HOME/.local/share/containers NEWSTORAGEPATH $ restorecon -R -v /NEWSTORAGEPATH
rootless_storage_path="" منسوخ شده است، به جای آن از graphroot استفاده کنید. برای تغییر مسیر برای تمام کاربران بدون ریشه، فایل پیکربندی حاوی graphroot را در دایرکتوری storage.rootless.conf.d/ قرار دهید.
imagestore="" مسیر ذخیرهسازی ایمیجها (پیشفرض برابر با graphroot در نظر گرفته میشود). مسیر imagestore که متفاوت از graphroot است. به طور پیشفرض، ایمیجها در کتابخانه ذخیرهسازی در graphroot ذخیره میشوند. در صورت مشخص شدن imagestore، ایمیجهای تازهدریافتشده در مکان imagestore ذخیره خواهند شد. سایر موارد ذخیرهسازی همچنان در graphroot نگهداری میشوند. هنگام استفاده از درایور overlay، ایمیجهایی که قبلاً در graphroot ذخیره شدهاند همچنان در دسترس باقی میمانند. در لایههای درونی، کتابخانه ذخیرهسازی graphroot را به عنوان یک additionalImageStore متصل میکند تا این رفتار ممکن گردد.
یک کاربرد متداول برای فیلد imagestore برای کاربرانی است که نیاز دارند سیستمهای فایل را روی پارتیشنهای مختلف تفکیک کنند. پارتیشن imagestore ایمیجها را ذخیره میکند و پارتیشن graphroot محتوای کانتینر ایجادشده از ایمیجها را ذخیره مینماید.
گزینه imagestore در صورت تنظیم، باید متفاوت از graphroot باشد.
runroot="" دایرکتوری اجرای موقت ذخیرهسازی کانتینر (پیشفرض: /run/containers/storage یا در حالت بدون ریشه $XDG_RUNTIME_DIR/containers یا /tmp/storage-run-$UID/containers بسته به اینکه $XDG_RUNTIME_DIR تنظیم شده باشد). دایرکتوری پیشفرض برای نگهداری تمام محتوای موقت قابل نوشتن ایجادشده توسط برنامههای ذخیرهسازی کانتینر. این مسیر باید روی یک tmpfs قرار داشته باشد. این مسیر از جایگزینی متغیرهای محیطی پشتیبانی میکند (مانند $HOME/containers/storage).
driver_priority=[] فهرست اولویت درایورهای ذخیرهسازی که در صورت مشخص نشدن درایور، یکی پس از دیگری برای انتخاب درایور ذخیرهسازی آزمایش میشوند. نخستین درایور ذخیرهسازی در این فهرست که قابل استفاده باشد، به عنوان درایور جدید انتخاب میشود و سایر موارد بعدی بررسی نخواهند شد. اگر هیچیک از درایورهای این فهرست قابل استفاده نباشند، آنگاه تمام درایورهای شناختهشده آزمایش شده و نخستین درایور فعال انتخاب خواهد شد. به طور پیشفرض، درایور ذخیرهسازی از طریق گزینه driver تنظیم میشود. اگر تعریف نشده باشد، بهترین درایور با توجه به پلتفرم فعلی انتخاب میشود. این گزینه به شما امکان میدهد این فهرست اولویت داخلی را با یک فهرست سفارشی بازنویسی کنید تا درایورهای خاصی ترجیح داده شوند. تنظیم این گزینه تنها زمانی اثر دارد که ذخیرهسازی محلی هنوز مقداردهی اولیه نشده باشد و نام درایور نیز تنظیم نشده باشد.
transient_store = "false"|"true"
حالت ذخیرهسازی گذرا (transient store) باعث میشود تمام متادیتای کانتینر در فضای ذخیرهسازی موقت (یعنی runroot در بالا) ذخیره شود. این روش سریعتر است، اما با راهاندازی مجدد سیستم پایدار نمیماند. همچنین در زمان بالا آمدن سیستم باید عملیات پاکسازی حافظه اضافی انجام گیرد، بنابراین این گزینه در بیشتر پیکربندیها باید غیرفعال باقی بماند. (پیشفرض: false)
جدول گزینههای ذخیرهسازی (STORAGE OPTIONS TABLE)
جدول storage.options از گزینههای زیر پشتیبانی میکند:
additionalimagestores=[] مسیرهای مربوط به مخازن اضافی ایمیج کانتینر. معمولاً اینها فقطخواندنی (read/only) هستند و روی اشتراکهای شبکه دوردست ذخیره میشوند.
root-auto-userns-user="" گزینه root-auto-userns-user نام کاربری است که میتواند برای جستجوی یک یا چند محدوده UID/GID در فایلهای /etc/subuid و /etc/subgid استفاده شود. این محدودهها به کانتینرهایی که برای ایجاد خودکار فضای نام کاربر (user namespace) پیکربندی شدهاند، اختصاص مییابد. کانتینرهایی که برای ساخت خودکار فضای نام کاربر تنظیم شدهاند همچنان میتوانند با کانتینرهایی که نگاشت صریح دارند همپوشانی داشته باشند. این تنظیم هنگام اجرا در حالت بدون ریشه نادیده گرفته میشود.
auto-userns-min-size=1024 حداقل اندازه برای فضای نام کاربری که به طور خودکار ایجاد میشود.
auto-userns-max-size=65536 حداکثر اندازه برای فضای نام کاربری که به طور خودکار ایجاد میشود.
disable-volatile=true اگر disable-volatile تنظیم شود، بهینهسازی اتصال "volatile" برای تمامی کانتینرها غیرفعال میشود.
جدول گزینههای دریافت ذخیرهسازی (STORAGE PULL OPTIONS TABLE)
جدول storage.options.pull_options از کلیدهای زیر پشتیبانی میکند:
enable_partial_images="true"|"false" فعالسازی ویژگی "zstd:chunked" که امکان دریافتهای جزئی (partial pulls) و استفاده مجدد از محتوای موجود بر روی سیستم را فراهم میکند. این گزینه به طور پیشفرض غیرفعال است و برای استفاده باید صریحاً فعال شود. برای اطلاعات بیشتر در مورد zstd:chunked، به ⟨https://github.com/containers/storage/blob/main/docs/containers-storage-zstd-chunked.md⟩ مراجعه کنید. این گزینه یک «بولین رشتهای» است: "false"|"true" (نمیتواند بولین بومی TOML باشد).
use_hard_links="false"|"true" به containers/storage دستور میدهد در صورتی که فایلی کاملاً مشابه از قبل در فضای ذخیرهسازی وجود داشته باشد، به جای ایجاد فایلهای جدید در ایمیج، از پیوندهای سخت (hard links) استفاده کند. این گزینه یک «بولین رشتهای» است: "false"|"true" (نمیتواند بولین بومی TOML باشد).
ostree_repos="" مسیر به مخزن ostree که ممکن است حاوی محتوای از پیش دریافتشده باشد و بتوان از آن برای جلوگیری از دریافت محتوا از رجیستری کانتینر استفاده کرد.
convert_images="false"|"true" در صورت تنظیم بر روی "true"، بسته containers/storage ایمیجهایی را که از قبل در قالب zstd:chunked نیستند، پیش از پردازش به آن قالب تبدیل میکند تا از مزایای حذف دادههای تکراری محلی و پیوند سخت بهرهمند شود. این یک عملیات سنگین و هزینهبر است بنابراین به طور پیشفرض فعال نیست. این گزینه یک «بولین رشتهای» است: "false"|"true" (نمیتواند بولین بومی TOML باشد).
insecure_allow_unpredictable_image_contents="false"|"true" این گزینه تقریباً هرگز نباید تنظیم شود. این گزینه امکان دریافت جزئی ایمیجها را بدون تضمین اینکه «دریافت جزئی» و دریافت کامل هر دو به محتوای یکسان برای ایمیج منجر شوند، فراهم میسازد. این به سیستم اجازه میدهد ایمیجهای estargz و نسخههای اولیه ایمیجهای zstd:chunked را دریافت کند؛ در غیر این صورت، این لایهها همواره از مسیر سنتی و دریافت غیرجزئی استفاده میکنند.
این گزینه باید بسیار به ندرت فعال شود، تنها در صورتی که تمام ایمیجهایی که احتمالاً بر روی این سیستم دریافت میشوند، تضمینشده باشند (مثلاً با استفاده از یک خطمشی امضا) که از یک سیستم ساخت مورد اعتماد میآیند که به سلامت و یکپارچگی ایمیج آسیبی نمیزند.
اگر این الزام یکپارچگی غیرفعال شود، ایمیجهای مخرب میتوانند به شیوهای ساخته شوند که سایر سازوکارهای بازرسی را دور بزنند؛ بنابراین حضور بیشتر سایر سازوکارهای بازرسی جایگزینی برای الزام فوق مبنی بر اعتماد به سیستم ساخت نخواهد بود.
به عنوان یک اثر جانبی، فعالسازی این گزینه همچنین شناسههای ایمیج را غیرقابل پیشبینی میکند (معمولاً برابر با مقدار سنتی منطبق بر هش پیکربندی نخواهد بود).
این گزینه یک «بولین رشتهای» است: "false"|"true" (نمیتواند بولین بومی TOML باشد).
جدول گزینههای ذخیرهسازی برای BTRFS
جدول storage.options.btrfs از گزینههای زیر پشتیبانی میکند:
min_space="" حداقل فضا را در یک حجم btrfs مشخص میکند.
size="" حداکثر اندازه یک ایمیج کانتینر. این فلگ میتواند برای تعیین سهمیه (quota) روی اندازه ایمیجهای کانتینر استفاده شود. (قالب: []، که واحد آن b (بایت)، k (کیلوبایت)، m (مگابایت) یا g (گیگابایت) است).
جدول گزینههای ذخیرهسازی برای OVERLAY
جدول storage.options.overlay از گزینههای زیر پشتیبانی میکند:
ignore_chown_errors = "false" گزینه ignore_chown_errors میتواند تنظیم شود تا به یک کاربر غیرممتاز که با یک UID منفرد درون یک فضای نام کاربر اجرا میشود، اجازه دهد کانتینرها را اجرا کند. کاربر میتواند هر ایمیجی را حتی ایمیجهای دارای چندین UID دریافت کرده و استفاده کند. توجه داشته باشید که چندین UID در کانتینر به uid پیشفرض فشرده (squash) میشوند. این ایمیجها هیچ جداسازی بین کاربران در کانتینر نخواهند داشت. (پیشفرض: "false") این گزینه یک «بولین رشتهای» است: "false"|"true" (نمیتواند بولین بومی TOML باشد).
inodes="" حداکثر تعداد inode در یک لایه خواندنی/نوشتنی. از این فلگ میتوان برای تعیین سهمیه روی تعداد inodeهای تخصیصیافته به یک لایه خواندنی/نوشتنی کانتینر استفاده کرد.
force_mask = "0000|shared|private" گزینه ForceMask ماسک دسترسیهای مورد استفاده برای فایلها و دایرکتوریهای جدید را مشخص میکند. مقادیر "shared" و "private" پذیرفته میشوند. (پیشفرض: ""). ماسکهای دسترسی در مبنای هشت (Octal) نیز پذیرفته میشوند.
- ``: تنظیم نشده است. تمام فایلها/دایرکتوریها با همان دسترسیهای شناساییشده درون ایمیج تنظیم میشوند.
- private: معادل 0700 است. تمام فایلها/دایرکتوریها با دسترسی 0700 تنظیم میشوند. مالک دسترسی rwx به فایلها دارد و هیچ کاربر دیگری در سیستم نمیتواند به فایلها دسترسی داشته باشد. از این تنظیم میتوان برای دایرکتوریهای خانگی مبتنی بر شبکه استفاده کرد.
- shared: معادل 0755 است. مالک دسترسی rwx به فایلها دارد و هر کس دیگری میتواند آنها را بخواند، دسترسی داشته باشد و اجرا کند. این تنظیم برای به اشتراکگذاری فضای ذخیرهسازی کانتینر با سایر کاربران مفید است. برای نمونه، فضای ذخیرهسازی متعلق به root میتواند به عنوان یک مخزن اضافی با کاربران بدون ریشه به اشتراک گذاشته شود. توجه: تمام فایلهای درون ایمیج برای هر کاربری در سیستم قابل خواندن و اجرا میشوند. حتی فایل /etc/shadow درون ایمیج شما اکنون توسط هر کاربری قابل خواندن خواهد بود.
OCTAL: کاربران میتوانند دسترسیهای هشتهشتی دیگر را آزمایش کنند.
نکته: فلگ force_mask یک ویژگی آزمایشی است و ممکن است در آینده تغییر کند. هنگامی که "force_mask" تنظیم میشود، ماسک دسترسی اصلی در صفت گسترده "user.containers.override_stat" ذخیره میشود و گزینه "mount_program" حتماً باید مشخص شود. برنامههای اتصال مانند "/usr/bin/fuse-overlayfs" به جای دسترسیهای "force_mask"، دسترسیهای صفت گسترده را به فرآیندهای درون کانتینر ارائه میدهند.
mount_program="" مسیر
یک برنامه
سفارشی را
مشخص
میکند تا
به جای
استفاده از
پیشفرضهای
هسته برای
اتصال
سیستم فایل
استفاده
شود. در حالت
بدون ریشه،
بدون
قابلیت CAP_SYS_ADMIN،
بسیاری از
هستهها از
اتصال
سیستمهای
فایل overlay
جلوگیری
میکنند و
شما را ملزم
به تعیین mount_program
مینمایند.
گزینه mount_program
همچنین در
سیستمهایی
که
ذخیرهسازی
زیرین
مبتنی بر
سیستمهای
فایل btrfs، zfs، overlay
یا ecryptfs است،
الزامی
میباشد.
mount_program = "/usr/bin/fuse-overlayfs"
mountopt="" فهرستی جداشده با کاما از گزینههای پیشفرض برای اتصال ایمیجهای کانتینر. مقدار پیشنهادی "nodev" است. گزینههای اتصال در صفحه راهنمای mount(8) مستند شدهاند.
skip_mount_home="false" به درایورهای ذخیرهسازی دستور میدهد که اتصال بایند خصوصی (PRIVATE bind mount) روی دایرکتوری خانگی خود ایجاد نکنند. این گزینه یک «بولین رشتهای» است: "false"|"true" (نمیتواند بولین بومی TOML باشد).
size="" حداکثر اندازه یک لایه خواندنی/نوشتنی. این فلگ میتواند برای تعیین سهمیه بر روی اندازه یک لایه خواندنی/نوشتنی کانتینر استفاده شود. (قالب: []، که در آن واحد برابر با b (بایت)، k (کیلوبایت)، m (مگابایت) یا g (گیگابایت) است).
use_composefs = "false" استفاده از ComposeFS برای اتصال لایههای داده ایمیج. پشتیبانی از ComposeFS آزمایشی است و برای استفاده در محیط عملیاتی توصیه نمیشود. این گزینه یک «بولین رشتهای» است: "false"|"true" (نمیتواند بولین بومی TOML باشد).
sync="none|filesystem" حالت همگامسازی سیستم فایل برای ایجاد لایه. (پیشفرض: "none")
- none: بدون همگامسازی. عملیات لایه بدون فراخوانی syncfs() تکمیل میشود.
- filesystem: همگامسازی پیش از تکمیل. تمام عملیات نوشتن معلق پیش از علامتگذاری لایه به عنوان موجود، روی سیستم فایل نوشته میشوند (flush). این امر به جلوگیری از خرابی دادهها در صورت کرش کردن سیستم یا قطع برق در طول عملیات لایه کمک میکند.
جدول گزینههای ذخیرهسازی برای VFS
جدول storage.options.vfs از گزینههای زیر پشتیبانی میکند:
ignore_chown_errors = "false" گزینه ignore_chown_errors میتواند تنظیم شود تا به یک کاربر غیرممتاز که با یک UID منفرد درون یک فضای نام کاربر اجرا میشود، اجازه دهد کانتینرها را اجرا کند. کاربر میتواند هر ایمیجی را حتی ایمیجهای دارای چندین UID دریافت کرده و استفاده نماید. توجه داشته باشید که چندین UID به uid پیشفرض در کانتینر فشرده میشوند. این ایمیجها هیچ تفکیکی بین کاربران در کانتینر نخواهند داشت. این گزینه یک «بولین رشتهای» است: "false"|"true" (نمیتواند بولین بومی TOML باشد).
sync="none|filesystem" حالت همگامسازی سیستم فایل برای ایجاد لایه. (پیشفرض: "none")
- none: بدون همگامسازی. عملیات لایه بدون فراخوانی syncfs() تکمیل میشود.
- filesystem: همگامسازی پیش از تکمیل. تمام عملیات نوشتن معلق پیش از علامتگذاری لایه به عنوان موجود، روی سیستم فایل نوشته میشوند. این امر به جلوگیری از خرابی دادهها در صورت کرش سیستم یا قطع برق در حین عملیات لایه کمک میکند.
جدول گزینههای ذخیرهسازی برای ZFS
جدول storage.options.zfs از گزینههای زیر پشتیبانی میکند:
fsname="" نام سیستم فایل برای درایور zfs.
mountopt="" فهرستی جداشده با کاما از گزینههای پیشفرض برای اتصال ایمیجهای کانتینر. مقدار پیشنهادی "nodev" است. گزینههای اتصال در صفحه راهنمای mount(8) مستند شدهاند.
size="" حداکثر اندازه یک ایمیج کانتینر. این فلگ میتواند برای تعیین سهمیه بر روی اندازه ایمیجهای کانتینر استفاده شود. (قالب: []، که واحد آن b (بایت)، k (کیلوبایت)، m (مگابایت) یا g (گیگابایت) است).
برچسبگذاری SELINUX (SELINUX LABELING)
هنگام اجرا روی یک سیستم دارای SELinux، اگر دایرکتوری graphroot فضای ذخیرهسازی کانتینرها را جابجا کنید، باید اطمینان حاصل نمایید که برچسبگذاری درست است.
با تنظیم یک رکورد معادلسازی، SELinux را از فضای ذخیرهسازی کانتینر جدید آگاه سازید. این کار به SELinux میگوید محتوای زیر مسیر جدید را طوری برچسبگذاری کند که گویی در زیر /var/lib/containers/storage ذخیره شده است.
semanage fcontext -a -e /var/lib/containers NEWSTORAGEPATH restorecon -R -v NEWSTORAGEPATH
در حالت بدون ریشه، به صورت زیر تنظیم میکنید:
semanage fcontext -a -e $HOME/.local/share/containers NEWSTORAGEPATH restorecon -R -v NEWSTORAGEPATH
دستور semanage در بالا به SELinux میگوید برچسبگذاری پیشفرض NEWSTORAGEPATH را مطابق با /var/lib/containers تنظیم کند. دستور restorecon به SELinux میگوید برچسبها را بر روی محتوای واقعی اعمال نماید.
اکنون تمام محتوای جدید ایجادشده در این دایرکتوریها به طور خودکار با برچسب صحیح ایجاد خواهند شد.
سهمیهبندی (QUOTAS)
فضای ذخیرهسازی کانتینر، کنترلهای سهمیه پروژه XFS را برای کانتینرها و حجمهای ذخیرهسازی overlay پیادهسازی میکند. دایرکتوری مورداستفاده برای ذخیره کانتینرها باید یک سیستم فایل XFS باشد و با گزینه pquota متصل شده باشد.
نمونه ورودی در /etc/fstab:
/dev/podman/podman-var /var xfs defaults,x-systemd.device-timeout=0,pquota 1 2
فضای ذخیرهسازی کانتینر برای هر کانتینر و حجم توکار شناسههای پروژه (project id) تولید میکند، اما این شناسههای پروژه باید برای سیستم فایل XFS یکتا باشند.
از ابزار xfs_quota میتوان برای تخصیص شناسه پروژه به دایرکتوری درایور ذخیرهسازی استفاده کرد، برای مثال:
echo 100000:/var/lib/containers/storage/overlay >> /etc/projects echo 200000:/var/lib/containers/storage/volumes >> /etc/projects echo storage:100000 >> /etc/projid echo volumes:200000 >> /etc/projid xfs_quota -x -c 'project -s storage volumes' /<xfs mount point>
در مثال بالا، شناسه پروژه دایرکتوری ذخیرهسازی به عنوان "start offset" استفاده میشود و به همه کانتینرها شناسههای پروژه بزرگتر (برای مثال >= 100000) اختصاص مییابد. سپس شناسه پروژه دایرکتوری حجمها به عنوان "start offset" استفاده خواهد شد و به همه حجمها شناسههای پروژه بزرگتر (برای مثال >= 200000) تخصیص مییابد. این روشی است برای جلوگیری از تداخل مدیریت xfs_quota با containers/storage.
فایلها (FILES)
مکانهای جستجوی زیر استفاده میشوند:
- /usr/share/containers/storage.conf
- /usr/share/containers/storage.conf.d/
- /usr/share/containers/storage.rootful.conf.d/ (فقط هنگام UID == 0)
- /usr/share/containers/storage.rootless.conf.d/ (فقط هنگام UID > 0)
- /usr/share/containers/storage.rootless.conf.d/<UID>/ (فقط هنگام UID > 0)
- /etc/containers/storage.conf
- /etc/containers/storage.conf.d/
- /etc/containers/storage.rootful.conf.d/ (فقط هنگام UID == 0)
- /etc/containers/storage.rootless.conf.d/ (فقط هنگام UID > 0)
- /etc/containers/storage.rootless.conf.d/<UID>/ (فقط هنگام UID > 0)
- $XDG_CONFIG_HOME/containers/storage.conf یا اگر $XDG_CONFIG_HOME تنظیم نشده باشد $HOME/.config/containers/storage.conf
- $XDG_CONFIG_HOME/containers/storage.conf.d/ یا اگر $XDG_CONFIG_HOME تنظیم نشده باشد $HOME/.config/containers/storage.conf.d/
برای توضیحات دقیقتر درباره نحوه بارگذاری فایلها به containers-config(5) مراجعه کنید.
/etc/projects - تعاریف ریشه پروژه ماندگار XFS /etc/projid - فایل نگاشت نام پروژه XFS
همچنین ببینید (SEE ALSO)
containers-config(5), semanage(8), restorecon(8), mount(8), fuse-overlayfs(1), xfs_quota(8), projects(5), projid(5)
تاریخچه (HISTORY)
مه ۲۰۱۷، در ابتدا توسط Dan Walsh dwalsh@redhat.com تدوین شد ⟨mailto:dwalsh@redhat.com⟩ قالب کپیشده از صفحه راهنمای crio.conf ایجادشده توسط Aleksa Sarai asarai@suse.de ⟨mailto:asarai@suse.de⟩
| مه ۲۰۱۷ | Containers |