RNEWS(1) InterNetNews Documentation RNEWS(1)

rnews - تزریق مقاله‌های منفرد و دسته‌های مقالات UUCP

rnews [-abdNUv] [-h host] [-P port] [-rS server] [file]

دستور rnews مقاله‌های منفرد یا دسته‌های مقالات به سبک UUCP را به یک کارساز اخبار محلی یا دوردست تزریق می‌کند. این برنامه مقاله‌ها را از طریق فرمان IHAVE ارسال کرده و برای تزریق مقاله‌های دریافت شده از سایر منابع مناسب است؛ برای ارسال‌های محلی معمولاً باید از inews(1) استفاده شود. همچنین برای پردازش پیام‌های صف‌بندی‌شده‌ای که به عنوان مثال توسط nnrpd در زمان عدم دسترسی به innd ایجاد شده‌اند، استفاده می‌شود.

اگر اطلاعات احراز هویت برای کارساز دوردست در فایل passwd.nntp واقع در مسیر pathetc موجود باشد، آنگاه rnews از آن‌ها برای احراز هویت استفاده خواهد کرد.

پیام در صورت مشخص شدن از file، فایل‌های صف‌بندی‌شده (با گزینه -U) یا در صورت مشخص نشدن هیچ فایلی از ورودی استاندارد خوانده می‌شود. مقاله‌ها در صورت مشخص بودن گزینه‌های خط فرمان -r یا -S به کارساز مشخص‌شده ارسال می‌شوند؛ در غیر این صورت به کارساز تنظیم‌شده از طریق nnrpdposthost در inn.conf، وگرنه به کارساز محلی در "127.0.0.1" و در نهایت به کارساز تنظیم‌شده توسط server در inn.conf ارسال می‌گردند.

هنگام ارسال از طریق UUCP، مقاله‌های یوزنت (Usenet) معمولاً در یک دسته واحد جمع‌آوری می‌شوند تا سربار UUCP کاهش یابد. دسته‌ها همچنین می‌توانند فشرده‌سازی شوند تا زمان ارتباط کاهش یابد. اگر ورودی به rnews با نویسه‌های "#!" آغاز نشود، به عنوان یک مقاله خبری منفرد تلقی می‌شود؛ در غیر این صورت، سطر نخست ورودی به عنوان یک دستور دسته‌ای تفسیر می‌گردد.

اگر دستور دسته‌ای به این صورت باشد:

#! rnews <number>

آنگاه به اندازه <number> بایت بعدی (با شروع از سطر بعد) به عنوان یک مقاله خبری خوانده می‌شود. پس از پردازش آن مقاله، سطر بعدی مجدداً به عنوان یک دستور دسته‌ای تلقی خواهد شد.

اگر دستور به این صورت باشد:

#! cunbatch

آنگاه باقی‌مانده ورودی برای خارج شدن از حالت فشرده به "gzip -d" داده می‌شود، و سپس خروجی غیرفشرده حاصل به‌گونه‌ای بازخوانی می‌شود که گویی ورودی اصلی به rnews بوده است. بنابراین یک دسته فشرده‌شده باید با این سطر آغاز شود و شامل دسته‌ای از مقاله‌ها باشد که با سطرهای "#! rnews" از هم جدا شده و سپس با compress(1) فشرده شده‌اند. (دسته‌های فشرده‌شده با gzip(1) باید در عوض از "gunbatch" به عنوان دستور دسته‌ای استفاده کنند؛ INN صرفاً به این دلیل از gzip به جای compress استفاده می‌کند زیرا می‌تواند فشرده‌سازی به سبک compress را مدیریت کند و به دلیل مسائل مربوط به حق اختراع‌های قدیمی، نسبت به compress به طور گسترده‌تری در دسترس است.)

در غیر این صورت، اگر دستور هر کلمه دیگری باشد و گزینه -a داده نشده باشد، rnews تلاش می‌کند برنامه‌ای با آن نام را اجرا کند و به دنبال آن در پوشه pathbin/rnews.libexec می‌گردد. باقی‌مانده دسته به ورودی استاندارد آن برنامه داده شده و خروجی استاندارد برنامه به‌گونه‌ای در نظر گرفته می‌شود که گویی ورودی اصلی به rnews بوده است. INN به همراه سه پردازشگر استاندارد دسته به شرح زیر ارائه می‌شود:

این پردازشگر bzip2 را فراخوانی می‌کند و باید برای دسته‌های فشرده‌شده با bzip2 به کار رود.
این پردازشگر یک کدگذاری ASCII را خنثی می‌کند تا جریان باینری فشرده‌شده اصلی بازیابی شود و سپس آن را طبق آنچه در بالا توضیح داده شد از حالت فشرده خارج می‌سازد.
این پردازشگر gzip را فراخوانی می‌کند و باید برای دسته‌های فشرده‌شده با gzip به کار رود.

به طور پیش‌فرض، rnews به دنبال برنامه‌های بازگشایی بسته اضافی در زیرپوشه rnews.libexec از مسیر pathbin (همان‌طور که در inn.conf تنظیم شده) می‌گردد. اگر گزینه -a داده شود، از هیچ پردازشگر دسته‌ای اضافی استفاده نخواهد شد؛ تنها "rnews" و "cunbatch" به عنوان دستورات دسته‌ای معتبر شناخته خواهند شد.
به طور پیش‌فرض، rnews تمام مقالاتی را که توسط کارساز رد شوند یا به هر دلیلی (مانند مفقود بودن فیلد سربرگ) توسط rnews قابل تجزیه نباشند، ثبت و دور می‌ریزد. اگر گزینه -b داده شود، از مقالات ردشده در زیرپوشه bad از مسیر pathincoming (تنظیم‌شده در inn.conf) یک نسخه پشتیبان نیز تهیه خواهد شد.
اگر گزینه -d داده شود، rnews شناسه پیام (message-ID) و بدنه فیلد سربرگ Path هر مقاله‌ای را که توسط کارساز به عنوان تکراری رد شود، از طریق syslog ثبت می‌کند.
اگر گزینه -h داده شود، rnews شناسه پیام و host را از طریق syslog برای هر مقاله‌ای که به کارساز پیشنهاد می‌دهد ثبت می‌کند. این گزینه همراه با یک فید UUCP برای دریافت لاگ پیام‌های دریافت شده از طریق آن فید به کار می‌رود. همچنین اگر متغیر محیطی UU_MACHINE مقداردهی شده باشد این عمل انجام می‌شود، اما تنها در صورتی صورت می‌پذیرد که host یک رشته خالی نباشد. (بنابراین می‌توانید حتی در صورت تنظیم بودن UU_MACHINE با ارسال گزینه "-h ''" به rnews ثبت لاگ را خاموش کنید.)
در حالت عادی، اگر بازگشایی دسته ورودی ناموفق باشد، برای تلاش دوباره در آینده مجدداً در pathincoming صف‌بندی می‌شود. اگر گزینه -N داده شود، هیچ صف‌بندی مجددی انجام نمی‌گیرد و در صورت شکست در بازگشایی، rnews با وضعیت خروج ۹ پایان می‌یابد.
استفاده از port به عنوان پورت کارساز برای اتصال به جای nnrpdpostport (همان‌طور که در inn.conf تنظیم شده). توجه داشته باشید که این مقدار تنها زمانی استفاده می‌شود که rnews به کارساز محلی متصل نشود (به عبارت دیگر، هنگامی که گزینه -r یا -S داده شده یا nnrpdposthost تنظیم شده باشد).
گزینه‌های -r و -S هم‌معنی هستند. اگر هر یک از آن‌ها داده شود، مقاله‌ها به جای استفاده از کارساز محلی به server ارسال می‌شوند که این کار تنظیم nnrpdposthost در inn.conf را نیز لغو (بازنویسی) می‌کند.
اگر کارساز در دسترس نباشد، هر دو برنامه rnews و nnrpd ارسال‌ها را در فایل‌های جدید در پوشه pathincoming (مشخص‌شده در inn.conf) صف‌بندی می‌کنند. هنگامی که rnews با گزینه -U فراخوانی شود، آن پوشه را پیمایش کرده و تمام پیام‌های صف‌بندی‌شده موجود در آنجا را که نام فایل آن‌ها با "." آغاز نمی‌شود پردازش می‌کند و تلاش می‌کند تا آن‌ها را دوباره به کارساز ارسال کند. اجرای دوره‌ای این دستور از طریق cron برای دریافت و ارسال مقالاتی که به دلیل عدم دسترسی موقت کارساز صف‌بندی شده‌اند، ایده مناسبی است.
فعال‌سازی حالت پرگویی (verbose) با ردگیری‌های بیشتر، به‌ویژه ثبت دلیل رد شدن مقالات توسط کارساز در لاگ.

دستور rnews نمی‌تواند مقالاتی را که دارای نویسه‌های تهی (null) درون‌سازی‌شده هستند پردازش کند. (در حال حاضر سایر بخش‌های INN نیز قادر به این کار نیستند.)

نوشته‌شده توسط Rich $alz <rsalz@uunet.uu.net> برای InterNetNews. بازنویسی در قالب POD توسط Russ Allbery <eagle@eyrie.org>.

bzip2(1), compress(1), gzip(1), inews(1), inn.conf(5), innd(8), nnrpd(8), passwd.nntp(5).

2024-05-19 INN 2.7.4