'\" t .\" .\" Copyright (c) 2024 Ken McDonell. All Rights Reserved. .\" .\" This program is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License as published by the .\" Free Software Foundation; either version 2 of the License, or (at your .\" option) any later version. .\" .\" This program is distributed in the hope that it will be useful, but .\" WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY .\" or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License .\" for more details. .\" .TH PMLOGCOMPRESS 1 "PCP" "Performance Co-Pilot" .SH "نام (NAME)" \f3pmlogcompress\f1, \f3pmlogdecompress\f1 \- فشرده‌سازی و بازگشایی فایل‌های آرشیو PCP .SH "خلاصه دستور (SYNOPSIS)" \fBpmlogcompress\fR [\fB\-NV?\fR] [\fB\-A\fR \fIarg\fR] [\fB\-C\fR \fIconffile\fR] [\fB\-c\fR \fIproglist\fR] [\fB\-f\fR \fIprog\fR] [\fB\-l\fR \fIlimit\fR] [\fB\-o\fR \fItype\fR] [\fB\-Z\fR \fImin\fR] \fIarchive\fR ... .br \fBpmlogdecompress\fR [\fB\-NV?\fR] [\fB\-t\fR \fIdir\fR] \fIarchive\fR ... .SH "توضیحات (DESCRIPTION)" دستورهای .B pmlogcompress و .B pmlogdecompress از فشرده‌سازی و بازگشایی فایل‌هایی که یک آرشیو Performance Co-Pilot (PCP) را تشکیل می‌دهند، پشتیبانی می‌کنند؛ برای توضیحات درباره فایل‌های مختلفی که اجزای یک آرشیو PCP هستند به .BR LOGARCHIVE (5) مراجعه کنید. .PP آرگومان‌های .I archive می‌توانند نام یک تک‌فایل در یک آرشیو PCP یا نام‌پایه (basename) یک آرشیو PCP باشند، مشابه قالبی که توسط .BR pmlogbasename (1) تولید می‌شود. در حالت اول، .B pmlogcompress تنها همان فایل را فشرده (یا .B pmlogdecompress بازگشایی) می‌کند، اما در حالت دوم، .B pmlogcompress تلاش خواهد کرد .B تمام فایل‌هایی را که بخشی از آرشیو PCP مرتبط هستند فشرده (یا .B pmlogdecompress بازگشایی) کند. .PP برای بازگشایی، پسوند نام هر فایل مرتبط با .I archive ابزار بازگشایی مورد استفاده را تعیین می‌کند. .SH "گزینه‌ها (OPTIONS)" گزینه‌های خط فرمان موجود عبارتند از: .TP 5 \fB\-A\fR \fIarg\fR, \fB\-\-arg\fR=\fIarg\fR از .I arg به عنوان یک آرگومان برای برنامه فشرده‌سازی استفاده می‌شود؛ به احتمال زیاد همراه با گزینه .B \-f مفید است تا انتخاب برنامه فشرده‌سازی قطعی باشد. .RS 5 .PP پردازش .I arg پیچیده نیست، بنابراین باید از متغیرهای شل، نویسه‌های گریز (escape)، نویسه‌های تطبیق الگوی شل (``glob'') و فاصله‌ها در آن خودداری شود. .PP استفاده از چند گزینه .B \-A مجاز است و .B تمام آرگومان‌های .I arg استفاده خواهند شد. .RE .TP \fB\-C\fR \fIconffile\fR, \fB\-\-config\fR=\fIconffile\fR همان‌طور که در ادامه توضیح داده شده است، متغیرهایی که رفتار .B pmlogcompress را کنترل می‌کنند در فایل پیکربندی .IR $PCP_SYSCONF_DIR/pmlogcompress/defaults تعریف شده‌اند. گزینه .I \-C امکان استفاده از یک فایل پیکربندی جایگزین، .IR conffile ، را فراهم می‌کند. .TP \fB\-c\fR \fIproglist\fR, \fB\-\-command\fR=\fIproglist\fR بسته به سایر گزینه‌های خط فرمان و در دسترس بودن برنامه‌های فشرده‌سازی نصب‌شده، انتخاب برنامه هنگام فشرده‌سازی ممکن است متفاوت باشد. گزینه .B \-c امکان تعیین یک .B فهرست از برنامه‌های فشرده‌سازی را فراهم می‌کند، خواه با چند گزینه .B \-c یا با جدا کردن نام برنامه‌ها در .I proglist توسط دونقطه (:)، مشابه نمادگذاری .B $PATH در شل. .RS 5 .PP مقدار پیش‌فرض برای .I proglist برابر با .BR zstd:xz:bzip2:gzip است. .RE .TP \fB\-f\fR \fIprog\fR, \fB\-\-use\fR=\fIprog\fR اگر تنها یک برنامه برای فشرده‌سازی مد نظر باشد، می‌توان آن را با استفاده از گزینه .B \-f مشخص کرد. اثر این گزینه مانند این است که تنها یک گزینه .B \-c استفاده شده باشد و .I proglist دقیقاً شامل یک نام برنامه، یعنی .IR prog ، باشد. .TP \fB\-l\fR \fIlimit\fR, \fB\-\-lower-limit\fR=\fIlimit\fR هنگام فشرده‌سازی، فایل‌های کوچک‌تر از .I limit (به بایت) در نظر گرفته نمی‌شوند. .RS 5 .PP مقدار پیش‌فرض برای .I limit برابر با 4096 است. .RE .TP \fB\-N\fR, \fB\-\-show-me\fR کاری انجام نده، اما دستورهایی را که اجرا می‌شدند نمایش بده. .TP \fB\-o\fR \fItype\fR, \fB\-\-optimize\fR=\fItype\fR هنگام فشرده‌سازی، گزینه .B \-o تلاش خواهد کرد برنامه‌ای از .I proglist (گزینه .B \-c در بالا را ببینید) انتخاب کند که «بهترین» کارایی را دارد؛ به طوری که .I type می‌تواند .B space برای انتخاب برنامه‌ای باشد که کوچک‌ترین فایل خروجی را تولید می‌کند، یا .B time برای انتخاب برنامه‌ای باشد که کمترین زمان پردازنده (CPU) را مصرف می‌کند. .RS 5 .PP اگر .I archive نام‌پایه یک آرشیو باشد، بزرگ‌ترین فایل از میان فایل‌های مرتبط با آرشیو PCP برای آزمایش انتخاب می‌شود، در غیر این صورت خود .I archive برای آزمایش استفاده خواهد شد. .PP استفاده از این گزینه بدین معناست که هر یک از فایل‌های انتخاب‌شده .I archive چندین بار فشرده خواهند شد، بنابراین به احتمال زیاد .B \-o در آزمایش‌ها همراه با .B \-N (و احتمالاً \fB\-V\fP) برای تعیین بهترین ابزار فشرده‌سازی متناسب با محیط محلی و آرشیوهای PCP استفاده می‌شود. .RE.TP \fB\-t\fR \fIdir\fR, \fB\-\-dir\fR=\fIdir\fR هنگام خارج کردن از حالت فشرده، هر فایل فشرده‌شده‌ای (به‌طور پیش‌فرض) با معادل غیرفشرده‌اش جایگزین خواهد شد. گزینهٔ .B \-t این رفتار را تغییر می‌دهد تا یک نسخهٔ همسان و غیرفشرده از .I archive در دایرکتوری .I dir ایجاد شود. .RS 5 .PP اگر .I archive یک فایل منفرد باشد، تنها همان فایل در .I dir از حالت فشرده خارج می‌شود، اما اگر .I archive نام پایهٔ یک آرشیو باشد، آن‌گاه .B تمامی فایل‌های .I archive در .I dir کپی شده و در صورت لزوم از حالت فشرده خارج خواهند شد. .PP اگر یک فایل فشرده .B نباشد، ابتدا تلاش خواهد شد تا یک پیوند سخت (hard link) در .I dir با .BR ln (1) ایجاد شود و در صورت ناموفق بودن این کار، یک رونوشت با .BR cp (1) تهیه می‌شود. .PP دایرکتوری .I dir باید پیش از اجرای .B pmlogdecompress وجود داشته باشد. .RE .TP \fB\-V\fR, \fB\-\-verbose\fR افزایش پرگویی خروجی. .TP \fB\-Z\fR \fImin\fR, \fB\-\-min-zstd-size\fR=\fImin\fR ابزار .BR xz (1) برای فایل‌های ورودی کوچک، فایل‌های فشردهٔ کم‌حجم‌تری تولید می‌کند، اما از جایی به بعد اندازهٔ فایل ورودی به‌حدی بزرگ می‌شود که .BR zstd (1) فایل‌های فشردهٔ کم‌حجم‌تری تولید می‌کند و .B zstd معمولاً بسیار سریع‌تر است. .RS 5 .PP هنگامی که هر دوی .B xz و .B xstd مد نظر باشند (گزینهٔ .B \-c در بالا را ببینید)، آن‌گاه گزینهٔ .B \-Z به کاربر اجازه می‌دهد نقطهٔ گذار از .B xz به .B zstd را تنظیم کند؛ فایل‌های ورودی کوچک‌تر از .I min (به بایت) با .B xz فشرده می‌شوند، وگرنه از .B zstd استفاده خواهد شد. .PP مقدار پیش‌فرض برای .I min برابر 52428800 (50MiB) است. .RE .TP \fB\-?\fR, \fB\-\-help\fR نمایش پیام راهنمای استفاده و خروج..SH "نکته (NOTE)" برای اکثر کاربران، .B pmlogcompress و .B pmlogdecompress به‌طور مستقیم استفاده نخواهند شد، زیرا نیازی به فشرده‌سازی و وافشرده‌سازی صریح آرشیوهای PCP نیست. .PP در عوض، در صورت فعال بودن فشرده‌سازی آرشیو، این کار به‌طور غیرمستقیم از طریق اسکریپت‌های مدیریت آرشیو PCP یعنی .BR pmlogger_check (1)، .BR pmlogger_daily (1) و .B pmlogger_rewrite (1) با استفاده از .B pmlogcompress انجام خواهد شد. .PP وافشرده‌سازی به‌طور شفاف در طول بازپخش آرشیو توسط توابعی که «رابط برنامه‌نویسی سنجه‌های کارایی» (PMAPI) را پیاده‌سازی می‌کنند، مدیریت می‌شود. .SH "متغیرها (VARIABLES)" .B pmlogcompress از تعدادی متغیر استفاده می‌کند که می‌توان از آن‌ها برای سفارشی‌سازی رفتار برنامه بهره برد. مقادیر پیش‌فرض در فایل پیکربندی .IR $PCP_SYSCONF_DIR/pmlogcompress/defaults تعریف شده‌اند، اما می‌توان آن‌ها را با مقداردهی متغیرهایی با همان نام در محیط بازنویسی کرد. همچنین برخی از گزینه‌های خط فرمان، متغیرهای تنظیم‌شده در فایل پیکربندی یا محیط را بازنویسی می‌کنند. .PP جدول زیر متغیرها و معادل آن‌ها با برخی از گزینه‌های خط فرمان را شرح می‌دهد. .TS box,center; lfB | lfB | lfB l | l | lx. متغیر T{ گزینه خط فرمان T} توضیحات _ PCP_COMPRESS_PROGS \fB\-c\fR \fIproglist\fR T{ .ad l .hy 0 فهرستی از برنامه‌ها که با دونقطه (colon) از هم جدا شده‌اند تا به نوبت بررسی شوند. اگر تنها یک برنامه در فهرست ذکر شده باشد، برای تمام عملیات‌های فشرده‌سازی فقط استفاده از همان برنامه در نظر گرفته می‌شود. T} \fB\-f\fR \fIprog\fR T{ .ad l .hy 0 حالت خلاصه برای یک .I proglist که تنها شامل یک .I prog است. T} _ PCP_COMPRESS_MIN_FILESIZE \fB\-l\fR \fIlimit\fR T{ .ad l .hy 0 فایل‌های آرشیو کوچک‌تر از این مقدار هرگز فشرده نخواهند شد. T} _ PCP_COMPRESS_ZSTD_MIN_FILESIZE \fB\-f\fR \fIprog\fR T{ .ad l .hy 0 فایل‌های آرشیو کوچک‌تر از این مقدار هرگز با .BR zstd (1) فشرده نخواهند شد. T} _ PCP_COMPRESS_ZSTD_ARGS T{ .ad l .hy 0 \fB\-A\fR \fIarg\fR \fB\-f zstd\fR T} T{ .ad l .hy 0 آرگومان‌های خط فرمان جهت استفاده با .BR zstd (1). T} _ PCP_COMPRESS_XZ_ARGS T{ .ad l .hy 0 \fB\-A\fR \fIarg\fR \fB\-f xz\fR T} T{ .ad l .hy 0 آرگومان‌های خط فرمان جهت استفاده با .BR xz (1). T} _ PCP_COMPRESS_BZIP2_ARGS T{ .ad l .hy 0 \fB\-A\fR \fIarg\fR \fB\-f bzip2\fR T} T{ .ad l .hy 0 آرگومان‌های خط فرمان جهت استفاده با .BR bzip2 (1). T} _ PCP_COMPRESS_GZIP_ARGS T{ .ad l .hy 0 \fB\-A\fR \fIarg\fR \fB\-f gzip\fR T} T{ .ad l .hy 0 آرگومان‌های خط فرمان جهت استفاده با .BR gzip (1). T} .TE.SH "فایل‌ها (FILES)" .PD 0 .TP 10 .I $PCP_SYSCONF_DIR/pmlogcompress/defaults تنظیمات پیش‌فرض برای متغیرهای مورد استفاده توسط .B pmlogcompress .PD .SH "محیط PCP (PCP ENVIRONMENT)" متغیرهای محیطی با پیشوند .B PCP_ برای پارامتربندی نام‌های فایل و دایرکتوری مورد استفاده توسط PCP به کار می‌روند. در هر بار نصب، فایل .I /etc/pcp.conf شامل مقادیر محلی برای این متغیرها است. متغیر .B $PCP_CONF می‌تواند برای تعیین یک فایل پیکربندی جایگزین استفاده شود، همان‌طور که در .BR pcp.conf (4) شرح داده شده است. .PP دستور .B pmlogcompress متغیرهای اختصاصی بیشتری با مقادیر پیش‌فرض در .I $PCP_SYSCONF_DIR/pmlogcompress/defaults دارد، همان‌گونه که در بالا شرح داده شد. .SH "همچنین ببینید (SEE ALSO)" .BR PCPIntro (1)، .BR bzip2 (1)، .BR gzip (1)، .BR pmlogbasename (1)، .BR pmlogger (1)، .BR pmlogger_check (1)، .BR pmlogger_daily (1)، .BR pmlogger_rewrite (1)، .BR xz (1)، .BR zstd (1)، .BR PMAPI (3) و .BR LOGARCHIVE (5). .\" control lines for scripts/man-spell .\" +ok+ xstd zstd .\" +ok+ PCP_COMPRESS_GZIP_ARGS PCP_COMPRESS_MIN_FILESIZE .\" +ok+ PCP_COMPRESS_PROGS PCP_COMPRESS_XZ_ARGS PCP_COMPRESS_ZSTD_ARGS .\" +ok+ PCP_COMPRESS_ZSTD_MIN_FILESIZE .\" +ok+ {man-spell splitting PCP_COMPRESS_BZIP2_ARGS} PCP_COMPRESS_BZIP _ARGS