.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "DOCHECKGROUPS 8" .TH DOCHECKGROUPS 8 2022-07-10 "INN 2.7.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" docheckgroups \- پردازش پیام‌های کنترلی checkgroups و خروجی دادن فهرستی از تغییرات .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBdocheckgroups\fR [\fB\-u\fR] [\fIinclude-pattern\fR [\fIexclude-pattern\fR]] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" دستور \&\fBdocheckgroups\fR معمولاً توسط \fBcontrolchan\fR جهت پردازش پیام‌های کنترلی checkgroups اجرا می‌شود. این ابزار فهرستی از گروه‌های خبری را به همراه توضیحات آن‌ها از ورودی استاندارد می‌خواند. این فهرست باید مشابه پروندهٔ newsgroups(5) قالب‌بندی شده باشد: هر خط شامل نام یک گروه خبری و به دنبال آن یک یا چند نویسهٔ تب (tabulation) و سپس توضیحات آن است. .PP ابزار \&\fBdocheckgroups\fR فقط وجود گروه‌های خبری‌ای را بررسی می‌کند که با \fIinclude-pattern\fR (یک عبارت باقاعدهٔ \fBegrep\fR مانند \&\f(CW\*(C`^comp\e..*$\*(C'\fR برای گروه‌های خبری آغازشونده با \&\f(CW\*(C`comp.\*(C'\fR) مطابقت داشته باشند و با \fIexclude-pattern\fR (که آن نیز یک عبارت \fBegrep\fR است) مطابقت نداشته باشند، مگر برای گروه‌های خبری ذکرشده در پروندهٔ \fIpathetc\fR/localgroups. این پرونده نیز مشابه پروندهٔ newsgroups(5) قالب‌بندی می‌شود و باید شامل گروه‌های خبری محلی باشد که در غیر این صورت ممکن بود برای حذف پیشنهاد شوند. نیازی به قرار دادن گروه‌های خبری محلی سلسله‌مراتب‌هایی که هیچ پیام کنترلی checkgroups برای آن‌ها ارسال نمی‌شود نیست، مگر اینکه متن‌های checkgroups را برای آن‌ها به صورت دستی پردازش کنید. خطوطی که با علامت هش (\f(CW\*(C`#\*(C'\fR) آغاز می‌شوند در این پرونده نادیده گرفته می‌شوند. تمامی گروه‌های خبری و توضیحات ذکرشده در \fIpathetc\fR/localgroups به پیام‌های checkgroups پردازش‌شده الحاق می‌شوند. .PP اگر \fIexclude-pattern\fR مشخص شود، \fIinclude-pattern\fR نیز باید پیش از آن داده شود (می‌توانید از یک رشتهٔ خالی ("") استفاده کنید اگر می‌خواهید همهٔ گروه‌های خبری را شامل شود). با این وجود، \fBdocheckgroups\fR تنها گروه‌های خبری موجود در سلسله‌مراتب‌های سطح بالایی را بررسی می‌کند که در checkgroups حضور دارند. .PP سپس، \fBdocheckgroups\fR پرونده‌های \fIactive\fR و \fInewsgroups\fR را بررسی کرده و فهرستی از تغییرات (در صورت وجود) را در خروجی استاندارد خود نمایش می‌دهد. این برنامه به صورت پیش‌فرض هیچ تغییری اعمال نمی‌کند؛ تنها مشخص می‌سازد که چه مواردی باید تغییر کنند: .IP \(bu 2 گروه‌های خبری که باید حذف شوند (در پروندهٔ \fIactive\fR وجود دارند اما در checkgroups نیستند) و دستورهای مربوط به \fBctlinnd\fR برای انجام این کار؛ .IP \(bu 2 گروه‌های خبری که باید اضافه شوند (در پروندهٔ \fIactive\fR نیستند اما در checkgroups وجود دارند) و دستورهای مربوط به \fBctlinnd\fR برای انجام این کار؛ .IP \(bu 2 گروه‌های خبری که وضعیت نظارت آن‌ها به اشتباه مدیریت‌شده (moderated) یا مدیریت‌نشده (unmoderated) علامت خورده است (هم در پروندهٔ \fIactive\fR و هم در checkgroups وجود دارند اما وضعیت آن‌ها مغایرت دارد) و دستورهای مربوط به \fBctlinnd\fR برای اصلاح آن؛ .IP \(bu 2 توضیحاتی که باید حذف شوند (در پروندهٔ \fInewsgroups\fR وجود دارند اما در checkgroups نیستند)؛ .IP \(bu 2 توضیحاتی که باید اضافه شوند (در پروندهٔ \fInewsgroups\fR نیستند اما در checkgroups وجود دارند). .PP خروجی \fBdocheckgroups\fR را می‌توان به \fBmod-active\fR هدایت (pipe) کرد (که سرور خبر را متوقف می‌کند، پروندهٔ \fIactive\fR را مطابق آن به‌روزرسانی کرده، دوباره بارگذاری می‌کند و فعالیت سرور خبر را از سر می‌گیرد) یا به پوسته ارسال نمود (دستورهای \fBctlinnd\fR یکی‌یکی پردازش خواهند شد). به‌منظور به‌روزرسانی پروندهٔ \fInewsgroups\fR، باید گزینهٔ \fB\-u\fR به \fBdocheckgroups\fR داده شود. .PP هنگام پردازش دستی یک checkgroups، همواره توصیه می‌شود ابتدا خروجی خام \fBdocheckgroups\fR را بررسی کنید. سپس، اگر همه‌چیز درست به نظر رسید، از \fBmod-active\fR و پرچم \fB\-u\fR استفاده نمایید. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB\-u\fR 4 .IX Item "-u" اگر این پرچم داده شود، \fBdocheckgroups\fR پروندهٔ \fInewsgroups\fR را به‌روزرسانی خواهد کرد: توضیحات منسوخ را حذف کرده و توضیحات جدید را اضافه می‌کند. همچنین این پرونده را بر اساس الفبا مرتب نموده و قالب کلی آن را بهبود می‌بخشد (برای توضیح در مورد تعداد تب‌های ترجیحی، newsgroups(5) را ببینید). .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" برای درک بهتر نحوهٔ کار \fBdocheckgroups\fR، در اینجا مثال‌هایی با پروندهٔ \fIactive\fR زیر آورده شده است: .PP .Vb 6 \& a.first 0000000000 0000000001 y \& a.second.announce 0000000000 0000000001 y \& a.second.group 0000000000 0000000001 y \& b.additional 0000000000 0000000001 y \& b.third 0000000000 0000000001 y \& c.fourth 0000000000 0000000001 y .Ve .PP پروندهٔ \fInewsgroups\fR زیر (با استفاده از تب‌ها): .PP .Vb 5 \& a.first First group. \& a.second.announce Announce group. \& a.second.group Second group. \& b.third Third group. \& c.fourth Fourth group. .Ve .PP و پروندهٔ \fIlocalgroups\fR زیر (با استفاده از تب‌ها): .PP .Vb 1 \& b.additional A local newsgroup I want to keep. .Ve .PP پیام checkgroups مورد پردازش در پروندهٔ \fItest\fR قرار دارد که شامل موارد زیر است: .PP .Vb 5 \& a.first First group. \& a.second.announce Announce group. (Moderated) \& a.second.group Second group. \& b.third Third group. \& c.fourth Fourth group. .Ve .PP اگر دستور زیر را اجرا کنیم: .PP .Vb 1 \& cat test | docheckgroups .Ve .PP دستور \&\fBdocheckgroups\fR گزارش می‌دهد که گروه a.second.announce به اشتباه مدیریت‌نشده (unmoderated) علامت‌گذاری شده و توضیحات آن منسوخ است. افزون بر این، دو توضیح جدید برای افزودن ذکر خواهند شد (توضیح جدید برای a.second.announce و توضیح از دست رفته برای b.additional \-\-\ که در واقع باید در پروندهٔ \fInewsgroups\fR باشد و نه تنها در \fIlocalgroups\fR). اکنون که خروجی \fBdocheckgroups\fR را بررسی کرده و با تغییرات موافقیم، آن را با پرچم \fB\-u\fR اجرا می‌کنیم تا پروندهٔ \fInewsgroups\fR به‌روزرسانی شود و خروجی استاندارد را به \fBmod-active\fR هدایت می‌کنیم تا پروندهٔ \fIactive\fR به‌روزرسانی شود: .PP .Vb 1 \& cat test | docheckgroups \-u | mod\-active .Ve .PP تمام شد! .PP اکنون فرض کنید این دستور را اجرا کنیم: .PP .Vb 1 \& cat test | docheckgroups "^c\e..*$" .Ve .PP هیچ خروجی‌ای تولید نمی‌شود (در واقع، همه‌چیز برای سلسله‌مراتب c.* درست است). نتیجه مشابه می‌بود اگر پروندهٔ \fItest\fR تنها شامل checkgroups برای سلسله‌مراتب c.* می‌بود (\fBdocheckgroups\fR سلسله‌مراتب‌های a.* و b.* را بررسی نمی‌کرد، حتی اگر در \fIinclude-pattern\fR قرار داشتند). .PP به‌منظور بررسی هم a.* و هم c.*، می‌توانید اجرا کنید: .PP .Vb 1 \& cat test | docheckgroups "^a\e..*$|^c\e..*$" .Ve .PP و اگر می‌خواهید a.* بررسی شود اما a.second.* بررسی نشود، می‌توانید اجرا کنید: .PP .Vb 1 \& cat test | docheckgroups "^a\e..*$" "^a\e.second\e..*$" .Ve .PP در مثال ما، \fBdocheckgroups\fR سپس گروه‌های a.second.announce و a.second.group را برای حذف پیشنهاد می‌کند زیرا آن‌ها در پروندهٔ \fIactive\fR وجود دارند (همین موضوع برای توضیحات آن‌ها نیز صدق می‌کند). با این حال، اگر مایلید a.second.announce را نگه دارید، کافی است این گروه را به \fIlocalgroups\fR اضافه کنید تا \fBdocheckgroups\fR دیگر آن را برای حذف مطرح نکند. .SH "پرونده‌ها (FILES)" .IX Header "FILES" .IP \fIpathbin\fR/docheckgroups 4 .IX Item "pathbin/docheckgroups" خود اسکریپت شل که برای پردازش checkgroups استفاده می‌شود. .IP \fIpathetc\fR/localgroups 4 .IX Item "pathetc/localgroups" فهرست گروه‌های خبری محلی به همراه توضیحات آن‌ها. .SH "تاریخچه (HISTORY)" .IX Header "HISTORY" مستندات توسط Julien Elie برای InterNetNews نوشته شده است. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBactive\fR\|(5)، \fBcontrolchan\fR\|(8)، \fBctlinnd\fR\|(8)، \fBmod\-active\fR\|(8)، \fBnewsgroups\fR\|(5).