RPOST(1)

الاسم
rpost - نشر مقالة إلى خادم أخبار NNTP

موجز
rpost [ اسم_المضيف ] [ @اسم_الملف ] [ -s | -S اسم_الملف ] [ -e | -E اسم_الملف ] [ -b ملف_الدفعة ] [ -r ملف_rnews مسار_rnews ] [ -p بادئة ] [ -Q ] [ -d ] [ -U معرف_المستخدم ] [ -P كلمة_السر ] [ -M ] [ -N رقم_المنفذ ] [ -l ملف_العبارات ] [ -D ] [ -T مهلة ] [ -u ] [ -n ]

[ -F ملف_بيرل ] [ -i ] [ -z ] [ -f مرشح $$o=<ملف_خرج> وسيط_مرشح1 ... ]

الوصف
Rpost سينشر مقالة أو أكثر، محددة بواسطة اسم_المضيف. إذا لم يُحدد اسم المضيف، سيستخدم rpost متغير البيئة NNTPSERVER. قد يتضمن اسم المضيف رقم المنفذ اختيارياً، بالصيغة مضيف:منفذ إذا استُخدمت هذه الصيغة، سيُتجاهل أي رقم منفذ محدد عبر الخيار -N.

خيارات عامة

@اسم_الملف

يخبر هذا الخيار rpost بقراءة خيارات أخرى من ملف بالإضافة إلى سطر الأوامر.

-D يخبر هذا الخيار rpost بتسجيل رسائل تصحيح متنوعة إلى "debug.suck"، بشكل أساسي لاستخدام المطور.

-e|-E اسم_الملف

سترسل هذه الخيارات جميع رسائل الخطأ (التي تُعرض عادةً على المخرج القياسي للأخطاء)، إلى ملف بديل. النسخة الصغيرة، -e، سترسل رسائل الخطأ إلى المبدئي المدمج والمعرف في suck_config.h. القيمة المبدئية هي suck.errlog. النسخة الكبيرة، -E، تتطلب معامل اسم الملف. سترسل جميع رسائل الخطأ حينها إلى هذا الملف.

-i

يخبر هذا الخيار rpost بتجاهل 201 (النشر غير مسموح) من رسالة الترحيب ومحاولة النشر على أي حال. ترسل بعض خوادم الأخبار (inn-2.3.1) 201 النشر غير مسموح عند استخدام أوامر AUTHINFO للتحقق من إذن النشر.

-l ملف_العبارات

يخبر هذا الخيار rpost بتحميل ملف عبارات بديل، بدلاً من استخدام الرسائل المضمنة. يتيح لك هذا جعل rpost يطبع العبارات بلغة أخرى، أو يسمح لك بتخصيص الرسائل دون إعادة البناء. راجع "FOREIGN LANGUAGE PHRASES" في suck.1 لمزيد من التفاصيل.

-M

يخبر هذا الخيار rpost بإرسال أمر "mode reader" إلى الخادم البعيد. إذا تلقيت رسالة أمر غير صالح من rpost فوراً بعد إعلان الترحيب، فجرب هذا الخيار.

-n

يخبر هذا الخيار rpost بعرض اسم الملف أثناء رفعه.

-N رقم_المنفذ

يخبر هذا الخيار rpost باستخدام رقم منفذ NNRP بديل عند الاتصال بالمضيف، بدلاً من رقم المنفذ المبدئي، 119.

-s|-S اسم_الملف

سترسل هذه الخيارات جميع رسائل الحالة (التي تُعرض عادةً على المخرج القياسي)، إلى ملف بديل. النسخة الصغيرة، -s، سترسل رسائل الحالة إلى المبدئي المدمج والمعرف في suck_config.h. القيمة المبدئية هي /dev/null، لذا لن تُعرض أي رسائل حالة. النسخة الكبيرة، -S، تتطلب معامل اسم الملف. سترسل جميع رسائل الحالة حينها إلى هذا الملف.

-T يتجاوز هذا الخيار قيمة TIMEOUT المضمنة في التجميع. هذه هي المدة التي ينتظرها rpost للحصول على بيانات من المضيف البعيد قبل انتهاء المهلة والإجهاض.

-u يخبر هذا الخيار rpost بإرسال أمر AUTHINFO USER فور الاتصال بالخادم البعيد، بدلاً من انتظار طلب الاستيثاق. يجب توفير الخيارين -U و -P عند استخدام هذا الخيار.

-U معرف_المستخدم -P كلمة_السر

يسمح لك هذان الخياران بتحديد معرف مستخدم وكلمة مرور، إذا كان خادم NNTP يتطلبهما.

-Q

يتيح لك هذا الخيار تحديد معرف المستخدم وكلمة السر عبر متغيرات البيئة "NNTP_USER" و "NNTP_PASS" بدلاً من سطر الأوامر. يمنع هذا مشكلة أمنية محتملة حيث يمكن لشخص يقوم بأمر ps رؤية تسجيل الدخول وكلمة السر الخاصة بك.

-z يخبر هذا الخيار rpost باستخدام SSL للتواصل مع المضيفين البعيدين، إذا تم تجميع SSL في rpost.

وضع STDIN
rpost

rpost اسم_المضيف

يقرأ rpost مقالة واحدة من stdin ويرسلها إلى خادم NNTP. يجب أن تحتوي المقالة على ترويسة من سطرين على الأقل، وهما Newsgroups: و Subject: وجسم (المقالة). يجب فصل الترويسة والجسم بسطر جديد. لا يغير Rpost المقالة بأي شكل.

يستخدم Rpost أمر POST لنشر مقالتك، تماماً مثل أي قارئ أخبار قياسي. هذا مفيد عند استخدام SLIP و PPP، لأن معظم المزودين لا يسمحون بأي طريقة أخرى لنشر المقالات (مثل nntpsend أو innxmit).

وضع الدفعة

rpost اسم_المضيف -b ملف_الدفعة -p بادئة -d

يتيح لك وضع الدفعة هذا إعطاء rpost قائمة بالمقالات، وجعلها كلها منشورة.

-b ملف_دفعة

قائمة بالمقالات التي سيتم نشرها. هذه المعلمة مطلوبة. يحتوي هذا الملف على مقالة واحدة لكل سطر، حيث يمثل السطر المسار إلى الملف الذي يحتوي على المقالة. على سبيل المثال:

    -b /usr/spool/news/out.going/pixi

إذا واجهت أي مشاكل في رفع مقالة معينة، فسيتم إنشاء ملف "فاشل". سيُسمى "batchfile".fail، ويحتوي على السطر من ملف الدفعة هذا للمقالة(المقالات) التي لم تُرفع بنجاح. يمكن استخدام هذا الملف لإعادة تشغيل الرسائل الفاشلة عبر rpost. ملاحظة: المقالات المكررة لا تُعتبر خطأً لملف الفشل.

-d

في حالة نجاح تحميل المقالات، سيؤدي هذا الخيار إلى قيام rpost
 بحذف الملف الدفعي المحدد في الخيار -b.

-p بادئة

إذا كان ملف الدفعة لا يحتوي على مسار كامل، بل مسار جزئي، فيجب تحديد هذه المعلمة. هذا مفيد عندما يتم إنشاء ملف الدفعة بواسطة برنامج آخر. على سبيل المثال، يسرد Inn المسار في ملف out.going بالنسبة إلى دليله الأساسي /usr/spool/news. في هذه الحالة، استخدم فقط:

     -p /usr/spool/news

وضع RNEWS
rpost اسم_المضيف -r ملف_rnews مسار_rnews

يسمح لك هذا الخيار باستخدام ملف(ملفات) rnews المُنشأة للنشر. يتطلب معلمتين.

ملف_rnews - هذا هو الاسم الأساسي لملفات rnews. إذا كان لديك ملف(ملفات) rnews تُسمى batch1، batch2، إلخ، فستكون هذه الوسيطة "batch".

مسار_rnews - هذا هو المسار إلى موقع ملفات rnews.
    -r batch /usr/tmp/rnews

-d

إذا نجح رفع جميع المقالات من أي من ملفات rnews، فسيؤدي هذا الخيار إلى حذف rpost لملف rnews المحدد ذلك.

أوضاع التصفية
-f مرشح $$o=<ملف_مخرج> وسيطة_مرشح1 وسيطة_مرشح2 ...

في العديد من الحالات، يجب معالجة كل مقالة قبل أن يقبلها NNTP البعيد. هذا الخيار، وخيار مرشح perl المضمن أدناه، يسمحان لك بذلك. لا تعمل هذه المرشحات في وضع STDIN، بل في وضعي الدفعة وrnews أعلاه. لاحظ أن الخيار -f .... يجب أن يكون الخيار الأخير، حيث يتم تمرير كل ما يليه إلى المرشح، باستثناء ما هو مذكور أدناه. هناك ثلاث معلمات مطلوبة مع هذا:

$$o=<ملف_مخرج>    - <ملف_مخرج> هو اسم الملف الذي ينتجه المرشح
الخاص بك والذي سيتم رفعه إلى خادم NNTP البعيد. هذا لا يُمرر إلى برنامج المرشح الخاص بك. يمكن تحديد هذا في أي مكان في سطر الأوامر بعد وسيطة المرشح -f، سواء قبل اسم المرشح أو بعده.

مرشح - اسم البرنامج الذي سيتم استدعاؤه. كل ما يتبع المرشح، باستثناء $$o، هو وسائط تُمرر إلى المرشح.

وسيطة1 - الوسيطة الأولى لبرنامج/نص المرشح الخاص بك. من المرجح أن تكون $$i، والتي يملؤها rpost باسم المقالة التي تحتاج إلى التنظيف.

وسيطة2 ... - يمكن تحديد أي وسائط إضافية مطلوبة.

دعنا نوضح هذا قليلاً بمثال. بعض خوادم NNTP لا تحب استلام مقالات مع تعبئة NNTP-Posting-Host. أنشئ نص shell قصير لحذف هذا من ملف:

-myscr--------------------------------------------

#!/bin/sh

sed -e "/^NNTP-Posting-Host/d" $1 > $2

-end myscr----------------------------------------

ثم استدعِ rpost هكذا:
    rpost localhost -b /usr/spool/news/out.going/pixi -f myscr \$\$o=/tmp/FILTERED_MSG \$\$i /tmp/FILTERED_MSG

ثم، قبل رفع كل مقالة، يتم استدعاء myscr هكذا:
    myscr infilename /tmp/FILTERED_MSG

بعد انتهاء myscr، يرفع rpost المقال المنظف، المخزن في /tmp/FILTERED_MSG، إلى خادم NNTP البعيد.

ملاحظة:
يجب تخطي $$o و $$i باستخدام إما الخطوط المائلة العكسية كما أعلاه، أو بعلامات الاقتباس المفردة، لمنع الصدفة من محاولة تفسير هذه كمتغيرات. عدم تخطيها سيؤدي إلى عدم عمل rpost!

-F perlfilter

يسمح لك هذا الخيار باستخدام مرشح perl مدمج لتصفية مقالاتك. لاستخدام هذا، يجب عليك تحرير Makefile، وتعريف خيارات PERL_ المختلفة. له مزايا عديدة على الخيار -f أعلاه. لأنه perl مدمج، لا يتم تنفيذ forks و execls()، لذا يجب أن يكون أسرع. أيضًا، لا تحتاج للقلق بشأن وسائط البرنامج وتخطي $$، إلخ كما أعلاه.

عند بدء التشغيل، سيحمل rpost ملف perlfilter المحدد ويحلله بحثًا عن أخطاء بناء الجملة. ثم، لكل مقال سيتم رفعه، سيدعو rpost الروتين الفرعي "perl_rpost"، الموجود في ملف perlfilter. راجع sample/put.news.pl للحصول على مثال عملي كامل. هناك ثلاث نقاط رئيسية يجب أن تكون على دراية بها عند إنشاء المرشح الخاص بك.

    1. يجب أن يحتوي ملف perlfilter على السطر "package Embed::Persistant;"، حتى لا تتعارض المتغيرات في ملف perlfilter مع متغيرات rpost، ويجب تسمية الروتين الفرعي "perl_rpost". يمكن تغيير ذلك بتحرير تعريف PERL_RPOST_SUB في suck_config.h.

    2. يستقبل الروتين الفرعي perl_rpost اسم ملف الإدخال كوسيط وحيد، ويجب أن يعيد المسار الكامل لموقع المقال المصفى كسلسلة عددية مفردة (return $outfile).

    3. يجب على الروتين الفرعي إغلاق ملف الإخراج (الذي يحتوي على الوسيطة المصفاة) بشكل صريح قبل العودة. وذلك لأن perl سيقوم فقط بإغلاق آلي عند اكتمال البرنامج (في حالتنا عند خروج rpost)، أو عند إعادة استخدام مقبض الملف (في المرة التالية التي يتم فيها استدعاء الروتين الفرعي). إذا لم يتم الإغلاق، فمن المرجح أن يوجد ملف بحجم 0 بايت عندما يحاول rpost نشر المقال، وستنتج أخطاء.

تحذير:

كن حذرًا جدًا مما يحذفه برنامج المرشح من المقال. حذف السطر الخطأ يمكن أن يكون له آثار سيئة لاحقًا. على سبيل المثال، لا تحذف سطر MSG-ID، حيث يمكن أن يتسبب ذلك في نشر رسالة واحدة عدة مرات، اعتمادًا على تكوين كل من خادم الأخبار المحلي والبعيد.

ملف وسائط RPOST

إذا حددت @filename في سطر الأوامر، سيقرأ rpost من filename ويحلله بحثًا عن أي وسائط ترغب في تمريرها إلى rpost. تحدد نفس الوسائط في هذا الملف كما تفعل في سطر الأوامر. يمكن أن تكون الوسائط في سطر واحد، أو موزعة على أكثر من سطر. يمكنك أيضًا استخدام التعليقات. تبدأ التعليقات بـ '#' وتستمر حتى نهاية السطر. جميع وسائط سطر الأوامر تتجاوز الوسائط في الملف. إحدى مزايا استخدام الملف بدلاً من سطر الأوامر هي أنك لا تحتاج إلى تخطي أي أحرف خاصة، مثل $.

    # ملف وسائط نموذجي
    -b batch # خيار ملف الدفعة
    -M    # استخدم خيار قارئ الوضع

قيم الخروج
يعيد Rpost قيم الخروج التالية:

    0 = نجاح
    1 = خطأ في نشر مقال
    2 = غير قادر على القيام باستيثاق NNTP مع الخادم البعيد.
    3 = إجابة غير متوقعة للأمر عند القيام باستيثاق NNTP.
    -1 = خطأ مميت آخر.

انظر أيضًا
suck(1), testhost(1), lpost(1).

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.