| PMLOGCOMPRESS(1) | General Commands Manual | PMLOGCOMPRESS(1) |
نام (NAME)
pmlogcompress, pmlogdecompress - فشردهسازی و بازگشایی فایلهای آرشیو PCP
خلاصه دستور (SYNOPSIS)
pmlogcompress [-NV?] [-A arg]
[-C conffile] [-c proglist] [-f
prog] [-l limit] [-o type] [-Z
min] archive ...
pmlogdecompress [-NV?] [-t dir] archive
...
توضیحات (DESCRIPTION)
دستورهای pmlogcompress و pmlogdecompress از فشردهسازی و بازگشایی فایلهایی که یک آرشیو Performance Co-Pilot (PCP) را تشکیل میدهند، پشتیبانی میکنند؛ برای توضیحات درباره فایلهای مختلفی که اجزای یک آرشیو PCP هستند به LOGARCHIVE(5) مراجعه کنید.
آرگومانهای archive میتوانند نام یک تکفایل در یک آرشیو PCP یا نامپایه (basename) یک آرشیو PCP باشند، مشابه قالبی که توسط pmlogbasename(1) تولید میشود. در حالت اول، pmlogcompress تنها همان فایل را فشرده (یا pmlogdecompress بازگشایی) میکند، اما در حالت دوم، pmlogcompress تلاش خواهد کرد تمام فایلهایی را که بخشی از آرشیو PCP مرتبط هستند فشرده (یا pmlogdecompress بازگشایی) کند.
برای بازگشایی، پسوند نام هر فایل مرتبط با archive ابزار بازگشایی مورد استفاده را تعیین میکند.
گزینهها (OPTIONS)
گزینههای خط فرمان موجود عبارتند از:
- -A arg, --arg=arg
- از arg به عنوان یک آرگومان برای برنامه فشردهسازی استفاده میشود؛ به احتمال زیاد همراه با گزینه -f مفید است تا انتخاب برنامه فشردهسازی قطعی باشد.
پردازش arg پیچیده نیست، بنابراین باید از متغیرهای شل، نویسههای گریز (escape)، نویسههای تطبیق الگوی شل (``glob'') و فاصلهها در آن خودداری شود.
استفاده از چند گزینه -A مجاز است و تمام آرگومانهای arg استفاده خواهند شد.
- -C conffile, --config=conffile
- همانطور که در ادامه توضیح داده شده است، متغیرهایی که رفتار pmlogcompress را کنترل میکنند در فایل پیکربندی $PCP_SYSCONF_DIR/pmlogcompress/defaults تعریف شدهاند. گزینه -C امکان استفاده از یک فایل پیکربندی جایگزین، conffile، را فراهم میکند.
- -c proglist, --command=proglist
- بسته به سایر گزینههای خط فرمان و در دسترس بودن برنامههای فشردهسازی نصبشده، انتخاب برنامه هنگام فشردهسازی ممکن است متفاوت باشد. گزینه -c امکان تعیین یک فهرست از برنامههای فشردهسازی را فراهم میکند، خواه با چند گزینه -c یا با جدا کردن نام برنامهها در proglist توسط دونقطه (:)، مشابه نمادگذاری $PATH در شل.
مقدار پیشفرض برای proglist برابر با zstd:xz:bzip2:gzip است.
- -f prog, --use=prog
- اگر تنها یک برنامه برای فشردهسازی مد نظر باشد، میتوان آن را با استفاده از گزینه -f مشخص کرد. اثر این گزینه مانند این است که تنها یک گزینه -c استفاده شده باشد و proglist دقیقاً شامل یک نام برنامه، یعنی prog، باشد.
- -l limit, --lower-limit=limit
- هنگام فشردهسازی، فایلهای کوچکتر از limit (به بایت) در نظر گرفته نمیشوند.
مقدار پیشفرض برای limit برابر با 4096 است.
- -N, --show-me
- کاری انجام نده، اما دستورهایی را که اجرا میشدند نمایش بده.
- -o type, --optimize=type
- هنگام فشردهسازی، گزینه -o تلاش خواهد کرد برنامهای از proglist (گزینه -c در بالا را ببینید) انتخاب کند که «بهترین» کارایی را دارد؛ به طوری که type میتواند space برای انتخاب برنامهای باشد که کوچکترین فایل خروجی را تولید میکند، یا time برای انتخاب برنامهای باشد که کمترین زمان پردازنده (CPU) را مصرف میکند.
اگر archive نامپایه یک آرشیو باشد، بزرگترین فایل از میان فایلهای مرتبط با آرشیو PCP برای آزمایش انتخاب میشود، در غیر این صورت خود archive برای آزمایش استفاده خواهد شد.
استفاده از این گزینه بدین معناست که هر یک از فایلهای انتخابشده archive چندین بار فشرده خواهند شد، بنابراین به احتمال زیاد -o در آزمایشها همراه با -N (و احتمالاً -V) برای تعیین بهترین ابزار فشردهسازی متناسب با محیط محلی و آرشیوهای PCP استفاده میشود. -t dir, --dir=dir هنگام خارج کردن از حالت فشرده، هر فایل فشردهشدهای (بهطور پیشفرض) با معادل غیرفشردهاش جایگزین خواهد شد. گزینهٔ -t این رفتار را تغییر میدهد تا یک نسخهٔ همسان و غیرفشرده از archive در دایرکتوری dir ایجاد شود.
اگر archive یک فایل منفرد باشد، تنها همان فایل در dir از حالت فشرده خارج میشود، اما اگر archive نام پایهٔ یک آرشیو باشد، آنگاه تمامی فایلهای archive در dir کپی شده و در صورت لزوم از حالت فشرده خارج خواهند شد.
اگر یک فایل فشرده نباشد، ابتدا تلاش خواهد شد تا یک پیوند سخت (hard link) در dir با ln(1) ایجاد شود و در صورت ناموفق بودن این کار، یک رونوشت با cp(1) تهیه میشود.
دایرکتوری dir باید پیش از اجرای pmlogdecompress وجود داشته باشد.
- -V, --verbose
- افزایش پرگویی خروجی.
- -Z min, --min-zstd-size=min
- ابزار xz(1) برای فایلهای ورودی کوچک، فایلهای فشردهٔ کمحجمتری تولید میکند، اما از جایی به بعد اندازهٔ فایل ورودی بهحدی بزرگ میشود که zstd(1) فایلهای فشردهٔ کمحجمتری تولید میکند و zstd معمولاً بسیار سریعتر است.
هنگامی که هر دوی xz و xstd مد نظر باشند (گزینهٔ -c در بالا را ببینید)، آنگاه گزینهٔ -Z به کاربر اجازه میدهد نقطهٔ گذار از xz به zstd را تنظیم کند؛ فایلهای ورودی کوچکتر از min (به بایت) با xz فشرده میشوند، وگرنه از zstd استفاده خواهد شد.
مقدار پیشفرض برای min برابر 52428800 (50MiB) است.
- -?, --help
- نمایش پیام راهنمای استفاده و خروج..SH "نکته (NOTE)" برای اکثر کاربران، pmlogcompress و pmlogdecompress بهطور مستقیم استفاده نخواهند شد، زیرا نیازی به فشردهسازی و وافشردهسازی صریح آرشیوهای PCP نیست.
در عوض، در صورت فعال بودن فشردهسازی آرشیو، این کار بهطور غیرمستقیم از طریق اسکریپتهای مدیریت آرشیو PCP یعنی pmlogger_check(1)، pmlogger_daily(1) و pmlogger_rewrite (1) با استفاده از pmlogcompress انجام خواهد شد.
وافشردهسازی بهطور شفاف در طول بازپخش آرشیو توسط توابعی که «رابط برنامهنویسی سنجههای کارایی» (PMAPI) را پیادهسازی میکنند، مدیریت میشود.
متغیرها (VARIABLES)
pmlogcompress از تعدادی متغیر استفاده میکند که میتوان از آنها برای سفارشیسازی رفتار برنامه بهره برد. مقادیر پیشفرض در فایل پیکربندی $PCP_SYSCONF_DIR/pmlogcompress/defaults تعریف شدهاند، اما میتوان آنها را با مقداردهی متغیرهایی با همان نام در محیط بازنویسی کرد. همچنین برخی از گزینههای خط فرمان، متغیرهای تنظیمشده در فایل پیکربندی یا محیط را بازنویسی میکنند.
جدول زیر متغیرها و معادل آنها با برخی از گزینههای خط فرمان را شرح میدهد.
| متغیر | گزینه خط فرمان | توضیحات |
| PCP_COMPRESS_PROGS | -c proglist | فهرستی از برنامهها که با دونقطه (colon) از هم جدا شدهاند تا به نوبت بررسی شوند. اگر تنها یک برنامه در فهرست ذکر شده باشد، برای تمام عملیاتهای فشردهسازی فقط استفاده از همان برنامه در نظر گرفته میشود. |
| -f prog | حالت خلاصه برای یک proglist که تنها شامل یک prog است. | |
| PCP_COMPRESS_MIN_FILESIZE | -l limit | فایلهای آرشیو کوچکتر از این مقدار هرگز فشرده نخواهند شد. |
| PCP_COMPRESS_ZSTD_MIN_FILESIZE | -f prog | فایلهای آرشیو کوچکتر از این مقدار هرگز با zstd (1) فشرده نخواهند شد. |
| PCP_COMPRESS_ZSTD_ARGS | -A arg -f zstd | آرگومانهای خط فرمان جهت استفاده با zstd (1). |
| PCP_COMPRESS_XZ_ARGS | -A arg -f xz | آرگومانهای خط فرمان جهت استفاده با xz (1). |
| PCP_COMPRESS_BZIP2_ARGS | -A arg -f bzip2 | آرگومانهای خط فرمان جهت استفاده با bzip2 (1). |
| PCP_COMPRESS_GZIP_ARGS | -A arg -f gzip | آرگومانهای خط فرمان جهت استفاده با gzip (1). |
| "فایلها (FILES)" | ||
| 0 | ||
| 10 | ||
| $PCP_SYSCONF_DIR/pmlogcompress/defaults | ||
| تنظیمات پیشفرض برای متغیرهای مورد استفاده توسط | ||
| pmlogcompress | ||
| "محیط PCP (PCP ENVIRONMENT)" | ||
| متغیرهای محیطی با پیشوند | ||
| PCP_ | ||
| برای پارامتربندی نامهای فایل و دایرکتوری مورد استفاده توسط PCP به کار میروند. | ||
| در هر بار نصب، فایل | ||
| /etc/pcp.conf | ||
| شامل مقادیر محلی برای این متغیرها است. | ||
| متغیر | ||
| $PCP_CONF | ||
| میتواند برای تعیین یک فایل پیکربندی جایگزین استفاده شود، | ||
| همانطور که در | ||
| pcp.conf (4) | ||
| شرح داده شده است. | ||
| دستور | ||
| pmlogcompress | ||
| متغیرهای اختصاصی بیشتری با مقادیر پیشفرض در | ||
| $PCP_SYSCONF_DIR/pmlogcompress/defaults | ||
| دارد، همانگونه که در بالا شرح داده شد. | ||
| "همچنین ببینید (SEE ALSO)" | ||
| PCPIntro (1)، | ||
| bzip2 (1)، | ||
| gzip (1)، | ||
| pmlogbasename (1)، | ||
| pmlogger (1)، | ||
| pmlogger_check (1)، | ||
| pmlogger_daily (1)، | ||
| pmlogger_rewrite (1)، | ||
| xz (1)، | ||
| zstd (1)، | ||
| PMAPI (3) | ||
| و | ||
| LOGARCHIVE (5). | ||
| PCP | Performance Co-Pilot |