SUCK(1)

الاسم
suck - سحب تلقيم إخباري صغير من خادوم NNTP، مع تجنب الأمر NEWNEWS.

موجز
suck [ hostname ] [ @اسم_الملف ] [ -V ] [ -K ] [ -L[SL] ] [ -LF اسم_الملف ] [ -H ] [ -HF اسم_الملف ] [ -d[tmd] اسم_المجلد ] [ -s | -S اسم_الملف ] [ -e | -E اسم_الملف ] [ -a ] [ -m ] [ -b[irlf] ملف_الدفعة ] [ -r حجم_الملف ] [ -p الامتداد ] [ -U معرف_المستخدم ] [ -P كلمة_السر ] [ -Q ] [ -c ] [ -M ] [ -N رقم_المنفذ ] [ -W وقت_التوقف عدد_رسائل_التوقف ] [ -w وقت_التوقف عدد_رسائل_التوقف ] [ -l ملف_العبارة ] [ -D ] [ -R ] [ -q ] [ -C العدد ] [ -k ] [ -A ] [ -AL الملف_النشط ] [ -hl المستضيف_المحلي ] [ -bp ] [ -T المهلة ] [ -n ] [ -u ] [ -z ] [ -x ] [ -B ] [ -O ] [ -G ] [ -X ] [ -f ] [ -y مرشح_النشر ] [ -F ] [ -g ] [ -i عدد_للقراءة ] [ -Z ] [ -rc ] [ -lr ] [ -sg ] [ -ssl ] [ -SSL ]

خيارات صالحة في جميع الأنماط

hostname

قد يتضمن اسم المستضيف اختيارياً رقم المنفذ، على الصيغة المستضيف:المنفذ. إذا استُخدم هذا الخيار، سيُتجاهل أي رقم منفذ حُدد عبر الخيار -N.

@اسم_الملف

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

-a

يجبر هذا الخيار suck على تجميع أي مقالات منزلة في دفعة دائماً، حتى لو أُحبط suck لأي سبب. بدون هذا الخيار، سيجمع suck المقالات فقط إذا انتهى بنجاح أو أُلغي بواسطة إشارة (انظر أدناه).

-A

يخبر هذا الخيار suck بفحص المستضيف المحلي (المحدد بالخيار -hl) واستخدام ملفه النشط لبناء وتحديث sucknewsrc. إذا أضفت مجموعة إلى خادومك المحلي، سيضيفها suck إلى sucknewsrc وينزل المقالات. أو، إذا حذفت مجموعة من خادومك المحلي، فستُحذف من sucknewsrc. إذا كان النشر غير مسموح لمجموعة معينة، فسيُحول السطر في sucknewsrc إلى تعليق فقط. مع هذا الخيار، لن تضطر أبداً لتحرير sucknewsrc الخاص بك. في حال كان لديك مجموعات إخبارية (مثل control و junk) لا تريد تنزيلها، يمكنك وضع هذه المجموعات في ملف "active-ignore"، واحدة في كل سطر، وسيتجاهل suck هذه المجموعات عندما يفحص المستضيف المحلي. إذا كان نظامك يدعم regex()، فيمكنك استخدام التعبيرات النمطية في ملف active-ignore لتخطي مجموعات متعددة، مثلاً: fred.*. إذا استخدمت خيار -p (اللاحقة)، سيفحص suck وجود ملف active-ignore مع اللاحقة. إذا لم يكن موجوداً، سيفحص suck وجود الملف بدون اللاحقة.

ملاحظة: إذا كان المستضيف المحلي على منفذ غير قياسي، يمكن تحديد رقم المنفذ كجزء من اسم المستضيف، على الصيغة المستضيف:المنفذ.

ملاحظة: إذا استخدمت تعبيرات نمطية، سيضيف suck بصمت "^" إلى بداية اسم المجموعة، و "$" إلى نهاية اسم المجموعة إذا لم تكن موجودة بالفعل، بحيث إذا كان لديك "comp.os.linux"، فلن تطابق "comp.os.linux.answers" أو إذا كان لديك "alt.test" فلن تطابق "comp.alt.test".

-AL الملف_النشط

هذا الخيار مطابق للخيار -A، باستثناء أنه يقرأ الملف النشط من الملف المحلي المحدد بدلاً من قراءته من المستضيف المحلي. تنطبق جميع التحذيرات من الخيار -A على هذا الخيار أيضًا. إذا استُخدم كلا الخيارين في سطر الأوامر، يحاول suck أولاً استخدام الخيار -A، ثم إذا فشل يستخدم هذا الخيار.

-B

يخبر هذا الخيار suck بمحاولة تجميع أي مقالات في مجلده في دفعة قَبْل البدء في تنزيل الرسائل. يمكن أن يكون هذا مفيداً إذا واجهت مشكلة في التنزيل السابق. لن يعمل هذا الخيار إلا إذا حددت خيار دفعة (انظر أدناه). إذا لم تكن هناك رسائل لتجميعها، فقد تنتج بعض خيارات الدفعة رسائل تحذير؛ يمكن تجاهلها بأمان. أيضًا، إذا كانت ملفات الدفعة موجودة في نهاية التشغيل، في نمط inn-batch، فستُستبدل، لأن ملف الدفعة الجديد سيحتوي على جميع الرسائل. في نمط rnews، إذا كان ملف الدفعة موجوداً، فسيُحبط ولن يجمع أي رسائل.

-c

إذا حُدد هذا الخيار، سيقوم suck بالتنظيف وراء نفسه. يتضمن ذلك:
    1. نقل sucknewsrc إلى sucknewsrc.old
    2. نقل suck.newrc إلى sucknewsrc
    3. إزالة (rm) suck.sorted و suckothermsgs.

-C العدد

يخبر هذا الخيار suck بقطع الاتصال وإعادة فتحه كل عدد معين من المقالات. صُمم هذا لمحاربة خيار LIKE_PULLERS=DONT في INN، الذي يدمجه البعض عند التجميع. مع LIKE_PULLERS=DONT، سيتوقف INN مؤقتاً بين كل رسالة بعد 100 رسالة، مما يقلل سرعة التنزيل بشكل كبير. لا أوصي باستخدام هذا، ولكن إذا لم يكن لديك خيار آخر...

-dd اسم_المجلد

-dm اسم_المجلد

-dt اسم_المجلد

تحديد موقع الملفات المختلفة التي يستخدمها suck.

-dd اسم_المجلد = مجلد ملفات البيانات التي يستخدمها suck‏ (sucknewsrc suckkillfile suckothermsgs active-ignore sucknodownload)

-dm اسم_المجلد = مجلد لتخزين المقالات المنشأة في نمط الملفات المتعددة أو نمط الدفعة. لا تجعل هذا المجلد هو نفسه المستخدم للخيارات -dt أو -dd، وإلا ستفقد جميع ملفات الضبط الخاصة بك.

-dt اسم_المجلد = مجلد الملفات المؤقتة التي ينشئها suck‏ (suck.newrc, suck.sort, suck.restart, suck.killlog, suck.post).

-D

يخبر هذا الخيار suck بتسجيل رسائل تنقيح متنوعة في "debug.suck"، وهي مخصصة بشكل رئيس للمصين.

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

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

-f

يخبر هذا الخيار suck بإعادة الاتصال بعد إزالة التكرار وقبل تنزيل المقالات. هذا تحسباً لحالات تسبب فيها أوقات إزالة التكرار الطويلة في انتهاء المهلة في الطرف البعيد.

-F

يخبر هذا الخيار suck بإعادة الاتصال بعد قراءة الملف النشط المحلي وقبل تنزيل معرفات الرسائل (Msg-IDs). هذا تحسباً لحالات يكون فيها الملف النشط كبيراً، مما يسبب انتهاء المهلة في الطرف البعيد.

-g

يؤدي هذا الخيار إلى قيام suck بتنزيل ترويسات المقالات المختارة فقط. ونتيجة لذلك، يُتخطى أي تجميع للمقالات. يعمل هذا الخيار مع ملفات الإبادة (killfiles)، ومع ذلك، ستُتجاهل خيارات ملفات الإبادة مثل BODYSIZE>، لأن متن المقالة لن يُنزل أبداً.

-G

يؤدي هذا الخيار إلى عرض عدد الرسائل وأسطر حالة البايت في الثانية (BPS) بتنسيق مختلف قليلاً، وهو أكثر ملاءمة للاستخدام بواسطة برنامج مرشح (مثل واجهة مستخدم رسومية).

-H

سيؤدي هذا الخيار إلى تجاوز suck لفحص التاريخ.

-HF اسم_ملف_التاريخ

يخبر هذا الخيار suck بموقع ملف التاريخ. المبدئي هو /var/lib/news/history.

-hl المستضيف_المحلي

يحدد هذا الخيار اسم المستضيف المحلي. هذا الخيار مطلوب مع كل من الخيارين -A و -bp.

-i عدد_للقراءة

يخبر هذا الخيار suck بعدد المقالات التي سيتم تنزيلها إذا كنت تستخدم الخيار -A أو -AL وأُضيفت مجموعة جديدة. المبدئي معرف في suck_config.h (القيمة ACTIVE_DEFAULT_LASTREAD، وحالياً هي -100). ملاحظة: يجب أن يكون هذا عدداً سالباً (مثلاً -100، -50) أو 0 لتنزيل جميع المقالات المتوفرة حالياً في المجموعة.

-k

يخبر هذا الخيار suck بعدم إلحاق اللاحقة من الخيار -p بأسماء ملفات الإبادة، سواء ملف الإبادة الرئيس أو أي ملفات مجموعات. يتيح لك هذا الاحتفاظ بمجموعة واحدة من ملفات الإبادة لخواديم متعددة.

-K

سيؤدي هذا الخيار إلى تجاوز suck لفحص ملف (ملفات) الإبادة.

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

يخبر هذا الخيار suck بتحميل ملف عبارات بديل، بدلاً من استخدام الرسائل المدمجة. يتيح لك هذا جعل suck يطبع العبارات بلغة أخرى، أو يتيح لك تخصيص الرسائل بدون إعادة بناء suck. انظر أدناه.

-lr

يُستخدم هذا الخيار بالتزامن مع خيار أعلى مقالة في sucknewsrc، لتنزيل أقدم المقالات بدلاً من أحدثها. انظر ذلك القسم لمزيد من التفاصيل.

-L

يخبر هذا الخيار suck بعدم تسجيل المقالات المبادة في suck.killlog.

-LF اسم_الملف

يتيح لك هذا الخيار تجاوز المبدئي المدمج "suck.killlog" للملف الذي يحتوي على مدخلات السجل للمقالات المبادة.

-LL

يخبر هذا الخيار suck بإنشاء مدخلات سجل طويلة لكل مقالة مبادة. تحتوي المدخلة الطويلة على مدخلة السجل القصيرة وترويسة الرسالة المبادة.

-LS

يخبر هذا الخيار suck بإنشاء مدخلات سجل قصيرة لكل مقالة مبادة. تحتوي المدخلة القصيرة على اسم المجموعة والنمط الذي تمت مطابقته، بالإضافة إلى معرف الرسالة (MsgID) للمقالة المبادة.

-M

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

-n

يخبر هذا الخيار suck باستخدام رقم المقالة بدلاً من معرف الرسالة (MsgId) لجلب المقالات. من المفترض أن يكون هذا الخيار أقل وطأة على الخادوم البعيد. يمكنه أيضًا التخلص من المشكلات إذا كان مزود خدمة الإنترنت الخاص بك يحذف المقالات القديمة بسرعة وتتلقى أخطاء "المقالة غير موجودة" بشكل متكرر. أيضًا، إذا كان مزود الخدمة يستخدم DNEWS، فقد تحتاج إلى هذا الخيار ليعلم أنك تقرأ مقالات في مجموعة.

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

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

-O

يخبر هذا الخيار suck بتخطي المقالة الأولى عند إعادة التشغيل. يُستخدم هذا عندما تكون هناك مشكلة في مقالة على الخادوم البعيد. لبعض الأسباب، تنتهي مهلة بعض خواديم NNTP عندما تواجه مشكلة في مقالة معينة. ومع ذلك، عند إعادة التشغيل، تعود إلى نفس المقالة، وتنتهي المهلة مرة أخرى. يخبر هذا الخيار suck بتخطي المقالة الأولى عند إعادة التشغيل، حتى تتمكن من الحصول على بقية المقالات.

-p الامتداد

يُضاف هذا الامتداد إلى جميع الملفات بحيث يمكنك الحصول على تلقيمات مواقع متعددة. على سبيل المثال، إذا حددت -p .dummy، فسيقوم suck بالبحث عن sucknewsrc.dummy و suckkillfile.dummy وغيرها، وينشئ ملفاته المؤقتة بنفس الامتداد. سيتيح لك هذا الاحتفاظ بملفات sucknewsrc متعددة، واحد لكل موقع.

-q

يخبر هذا الخيار suck بعدم عرض رسائل البايت في الثانية (BPS) وعدد المقالات أثناء التنزيل. يكون مفيداً عند تشغيل suck دون إشراف، كما هو الحال في crontab.

-R

يخبر هذا الخيار suck بتخطي إعادة فحص خادوم الأخبار البعيد عند إعادة التشغيل. المبدئي هو إعادة فحص خادوم الأخبار بحثاً عن أي مقالات جديدة في كل مرة يعمل فيها suck، بما في ذلك عند إعادة التشغيل.

-rc

يخبر هذا الخيار suck بتغيير سلوكه عندما يعيد الخادوم البعيد ضبط عدادات المقالات الخاصة به. السلوك المبدئي هو إعادة ضبط lastread في sucknewsrc إلى عداد المقالات المرتفع الحالي. مع هذا الخيار، يعيد suck ضبط lastread في sucknewsrc إلى عداد المقالات المنخفض الحالي، مما يجعله يسحب جميع المقالات في المجموعة، ويستخدم روتينات historydb لإزالة تكرار المقالات الموجودة.

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

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

-sg

يخبر هذا الخيار suck بإضافة اسم المجموعة الحالية التي يتم تنزيلها، إذا كان معروفاً، إلى عرض البايت في الثانية (BPS). عادةً ما يكون الوقت الوحيد الذي لا يعرف فيه suck اسم المجموعة هو عند تنزيل مقالة عبر ملف suckothermsgs.

-ssl

يخبر هذا الخيار suck باستخدام SSL للتحدث مع الخادوم البعيد، إذا جُمّع suck مع دعم SSL.

-SSL

يخبر هذا الخيار suck باستخدام SSL للتحدث مع الخادوم المحلي، إذا جُمّع suck مع دعم SSL.

-T المهلة

يتجاوز هذا الخيار قيمة TIMEOUT المدمجة. هذا هو الوقت الذي ينتظره suck للبيانات من المستضيف البعيد قبل انتهاء المهلة والإحباط. قيمة المهلة بالثواني.

-u

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

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

-P كلمة_السر

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

-Q

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

-V

سيؤدي هذا الخيار إلى قيام suck بطباعة رقم الإصدار ثم الخروج.

-w pause_timer pause_nr_msgs

يتيح لك هذا الخيار إبطاء suck أثناء سحب المقالات. إذا أرسلت إلى suck إشارة محددة مسبقاً (المبدئية هي SIGUSR1، انظر suck_config.h)، فسيقوم suck بتبديل خيارات التوقف المبدئية (إذا حُددت بواسطة الخيار -W) بالقيم الموجودة في هذا الخيار. على سبيل المثال، إذا قمت بتشغيل suck مع -w 2 2، وأرسلت له SIGUSR1 (باستخدام kill)، فسيقوم suck بالتوقف لمدة ثانيتين بين كل رسالة وأخرى، مما يسمح للخادم "بأخذ أنفاسه". إذا أرسلت SIGUSR1 أخرى، فسيعيد suck خيارات التوقف المبدئية. إذا لم تُحدد أي خيارات توقف في سطر الأوامر (تجاهلت -W)، فسيعود suck إلى السحب بالسرعة الكاملة المبدئية.

-W pause_time pause_nr_msgs

يخبر هذا الخيار suck بالتوقف مؤقتاً بين تنزيل المقالات. تحتاج إلى تحديد مدة التوقف (بالثواني)، ووتيرة التوقف (كل X عدد من المقالات). مثال: -W 10 100 سيجعل suck يتوقف لمدة 10 ثوانٍ كل 100 مقالة. لماذا قد ترغب في فعل ذلك؟ يمكن لـ suck أن يسبب أحمالاً ثقيلة على الخادم البعيد، وهذا التوقف يسمح للخادم "بأخذ أنفاسه".

-x

يخبر هذا الخيار suck بعدم التحقق من وجود محرف الإغلاق > في معرفات الرسائل (Message-IDs). هذا الخيار مخصص لخوادم NNTP الضعيفة التي تقتطع معلومات XHDR عند 72 محرفاً.

-X

يخبر هذا الخيار suck بتجاوز ملفات الإبادة (killfiles) الخاصة بـ XOVER.

-y post_filter

هذا الخيار صالح فقط عند استخدام أي من أوضاع الدفعات (batch modes). يتيح لك تحرير أي من أو كل المقالات التي نُزلت قبل نشرها على المضيف المحلي. انظر أدناه لمزيد من التفاصيل.

-z

يخبر هذا الخيار suck بتجاوز عملية إزالة التكرار العادية. هذا مخصص في المقام الرئيس للأجهزة البطيئة حيث تستغرق إزالة التكرار وقتاً أطول مما يستغرقه تنزيل الرسائل. لا يوصى به.

-Z

يخبر هذا الخيار suck باستخدام الأمر XOVER بدلاً من الأمر XHDR لاسترداد المعلومات اللازمة لتنزيل المقالات. استخدم هذا إذا كان خادم الأخبار البعيد لا يدعم الأمر XHDR.

مكافئات الخيارات الطويلة
    -a --always_batch
    -bi --batch-inn
    -br --batch_rnews
    -bl --batch_lmove
    -bf --batch_innfeed
    -bp --batch_post
    -c --cleanup
    -dt --dir_temp
    -dd --dir_data
    -dm --dir_msgs
    -e --def_error_log
    -f --reconnect_dedupe
    -g --header_only
    -h --host
    -hl --localhost
    -k --kill_no_postfix
    -l --language_file
    -lr --low_read
    -m --multifile
    -n --number_mode
    -p --postfix
    -q --quiet
    -r --rnews_size
    -rc --resetcounter
    -s --def_status_log
    -sg --show_group
    -ssl --use_ssl
    -w --wait_signal
    -x --no_chk_msgid
    -y --post_filter
    -z --no_dedupe
    -A --active
    -AL --read_active
    -B --pre-batch
    -C --reconnect
    -D --debug
    -E --error_log
    -G --use_gui
    -H --no_history
    -HF --history_file
    -K --killfile
    -L --kill_log_none
    -LS --kill_log_short
    -LL --kill_log_long
    -M --mode_reader
    -N --portnr
    -O --skip_on_restart
    -P --password
    -Q --password_env
    -R --no_rescan
    -S --status_log
    -SSL --local_use_ssl
        -T --timeout
        -U --userid
        -V --version
        -W --wait
        -X --no_xover
        -Z --use_xover

الوصف

الوضع 1 - وضع المخرج القياسي (stdout)
    %suck
    %suck myhost.com

يقوم Suck بجلب الأخبار من خادم NNTP ويرسل المقالات إلى المخرج القياسي (stdout). يقبل Suck وسيطاً يمثل اسم خادم NNTP، أو إذا لم تقدم وسيطاً فسيستخدم متغير البيئة NNTPSERVER. يمكنك إعادة توجيه المقالات إلى ملف أو ضغطها فوراً مثل "suck server.domain | gzip -9 > output.gz". الآن الأمر متروك لك فيما تفعله بالمقالات. ربما يكون المخرج موجوداً بالفعل على جهازك المحلي لأنك استخدمت خط slip أو لا يزال يتعين عليك نقل المخرج إلى جهازك المحلي.

الوضع 2 - وضع الملفات المتعددة
    %suck -m
    %suck myhost.com -m

يقوم Suck بجلب الأخبار من خادم NNTP ويخزن كل مقالة في ملف منفصل. تُخزن في الدليل المحدد في suck_config.h أو عبر خيار سطر الأوامر -dm.

الوضع 3 - وضع الدفعة
    %suck myhost.com -b[irlf] batchfile
    أو %suck myhost.com -bp -hl localhost
    أو %suck myhost.com -bP NR -hl localhost
    %suck myhost.com -b[irlf] batchfile

سيقوم Suck بجلب مقالات الأخبار من خادم NNTP وتخزينها في ملفات، ملف لكل مقالة (وضع الملفات المتعددة). يعتمد موقع الملفات على التعريفات في suck_config.h وخيار سطر الأوامر -dm. بمجرد انتهاء suck من تنزيل المقالات، سيقوم بإنشاء ملف دفعة يمكن معالجته بواسطة innxmit أو rnews، أو سيستدعي lmove لوضع الملفات مباشرة بتنسيق news/group/number.

-bi - بناء ملف دفعة لـ innxmit. تُترك المقالات سليمة، ويُبنى ملف دفعة بقائمة تصاعدية للمسار الكامل لكل مقالة. ثم يمكن استدعاء innxmit:

    %innxmit localhost batchfile

-bl - سيستدعي suck الأداة lmove لوضع المقالات بتنسيق news/group/number. يجب عليك تقديم اسم ملف الإعداد في سطر الأوامر. تُمرر الوسائط التالية من suck إلى lmove:

    اسم ملف الإعداد (اسم ملف الدفعة المقدم مع هذا الخيار)
    الدليل المحدد للمقالات (-dm أو المبدئي المدمج).
    سجل الأخطاء لتسجيل الأخطاء فيه (-e أو -E)، إذا قُدم في سطر الأوامر.
    ملف العبارات (-l)، إذا قُدم في سطر الأوامر.
    خيار التنقيح، إذا قُدّم في سطر الأوامر.

-br - ابنِ ملف دفعة لـ rnews. تُدمج المقالات معًا، مع فاصل مقال بالحجم #!rnews. يمكن بعد ذلك تغذية rnews بهذا الملف:

    %rnews -S localhost batchfile

-r filesize حدد الحد الأقصى لحجم ملف الدفعة لـ rnews. يسمح لك هذا الخيار بتحديد الحجم الأقصى لملف الدفعة الذي سيُغذى به rnews. عند الوصول إلى هذا الحد، يُنشأ ملف دفعة جديد بعد الانتهاء من كتابة المقال الحالي في ملف الدفعة القديم. تحصل ملفات الدفعة الثانية والمتتالية على رقم تسلسل تصاعدي يلحق باسم الملف المحدد باستخدام -br. لاحظ أنه نظرًا لضرورة إنهاء كتابة المقال الحالي بعد الوصول إلى الحد، فإن الحد الأقصى لحجم الملف تقريبي فقط.

-bf - ابنِ ملف دفعة لـ innfeed. يحتوي ملف الدفعة هذا على معرف الرسالة (MsgID) والإصدار الكامل لكل مقال. الفرق الرئيس بين هذا وبين خيار innxmit هو أن ملف innfeed يُبنى أثناء تنزيل المقالات، بحيث يمكن لـ innfeed نشر المقالات، حتى أثناء تنزيل المزيد من المقالات.

-bp - يخبر هذا الخيار suck ببناء ملف دفعة، ونشر المقالات الموجودة في ملف الدفعة هذا إلى المستضيف المحلي (المحدد باستخدام خيار -hl). يستخدم هذا الخيار الأمر IHAVE لنشر جميع المقالات المنزلة إلى المستضيف المحلي. يسمى ملف الدفعة suck.post، ويوضع في الدليل المؤقت (-dt). يُحذف عند الانتهاء، كما تُحذف المقالات التي نُشرت بنجاح. إذا كان الخادم لا يريد المقال (عادةً لأنه موجود بالفعل على الخادم، أو لأنه قديم جدًا)، يُحذف المقال أيضًا. في حال حدوث أخطاء أخرى، لا يُحذف المقال. باستخدام سطر الأوامر التالي، يمكنك تنزيل ونشر المقالات دون القلق بشأن ما إذا كنت تستخدم INND أو CNEWS.

    %suck news.server.com -bp -hl localhost -A -c

-bP NR - يعمل هذا الخيار بشكل مطابق لـ -bp أعلاه، باستثناء أنه بدلاً من الانتظار حتى تُنزل جميع المقالات، سيقوم بنشرها إلى الخادم المحلي بعد تنزيل NR من المقالات.

    %suck news.server.com -bP 100 -hl localhost -A -c

ملف وسائط SUCK

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

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

SUCKNEWSRC

يبحث Suck عن ملف sucknewsrc ليرى المقالات التي تريدها والتي استلمتها بالفعل. تنسيق sucknewsrc بسيط جدًا. يتكون من سطر واحد لكل مجموعة إخبارية. يحتوي السطر على حقلين أو ثلاثة حقول.

الحقل الأول هو اسم المجموعة.

الحقل الثاني هو أعلى رقم مقال كان في المجموعة عندما نُزلت تلك المجموعة آخر مرة.

الحقل الثالث، وهو اختياري، يحد من عدد المقالات التي يمكن تنزيلها في أي وقت محدد. إذا كان هناك مقالات أكثر من هذا العدد، تُنزل الأحدث فقط. إذا كان الحقل الثالث 0، فلا تُنزل أي رسائل جديدة. إذا حُدد خيار سطر الأوامر -lr، فبدلاً من تنزيل أحدث المقالات، سيقوم suck بتنزيل أقدم المقالات بدلاً من ذلك.

تُفصل الحقول بمسافة.

    comp.os.linux.announce 1 [ 100 ]

عندما ينتهي suck، يُنشئ ملف suck.newrc الذي يحتوي على sucknewsrc الجديد مع أرقام المقالات المحدثة.

لإضافة مجموعة إخبارية جديدة، ما عليك سوى وضعها في sucknewsrc، مع تعيين أعلى رقم مقال كـ -1 (أو أي رقم أقل من 0). سيجلب suck حينها أحدث عدد X من الرسائل لتلك المجموعة الإخبارية. على سبيل المثال، سيؤدي -100 إلى قيام suck بتنزيل أحدث 100 مقال لتلك المجموعة.

لإخبار suck بتخطي مجموعة إخبارية، ضع # كأول حرف في السطر.

SUCKKILLFILE و SUCKXOVER
هناك نوعان من ملفات الإقصاء المدعومة في suck. الأول، عبر ملف suckkillfile، يقصي المقالات بناءً على المعلومات الموجودة في ترويسة المقال الفعلية أو متنه. الثاني، عبر ملف suckxover، يقصي المقالات بناءً على المعلومات المسترجعة عبر أمر NNTP المسمى XOVER. نُفذ النوعان بطريقتين مختلفتين جوهريًا. إقصاء suckkillfile يتم أثناء تنزيل المقالات، واحدًا تلو الآخر. أما إقصاء XOVER فيتم أثناء جلب suck لقائمة المقالات المراد تنزيلها، وقبل تنزيل مقال واحد. يمكنك استخدام أي منهما، أو لا شيء، أو كلا النوعين من ملفات الإقصاء.

SUCKKILLFILE وملفات الإبقاء/الإقصاء للمجموعة
إذا وُجد suckkillfile، فستُفحص ترويسات جميع المقالات ويُنزل المقال أو لا، بناءً على المعاملات في الملفات. إذا لم يُحدد خيار تسجيل (انظر خيارات -L أعلاه)، يُستخدم خيار التسجيل الطويل.

أسطر التعليقات مسموح بها في ملفات الإقصاء. يحتوي سطر التعليق على "#" في الموضع الأول. يُتجاهل كل شيء في سطر التعليق.

إليك كيفية عمل حزمة الإبقاء/الحذف بالكامل. تُفحص جميع المقالات مقابل ملف الإقصاء الرئيس (suckkillfile). إذا لم يُقصَ المقال بواسطة ملف الإقصاء الرئيس، يُحلل سطر مجموعته. إذا وُجد ملف مجموعة لإحدى المجموعات، يُفحص المقال مقابل ملف تلك المجموعة. إذا طابق ملف إبقاء، فيُحتفظ به، وإلا فإنه يوسم للحذف. إذا طابق ملف حذف، فإنه يوسم للحذف، وإلا فيُحتفظ به. يتم ذلك لكل مجموعة في سطر المجموعة.

ملاحظات: باستثناء معامل USE_EXTENDED_REGEX، لا تُمرر أي من هذه المعاملات من ملف الإقصاء الرئيس إلى ملف المجموعة الفردي. كل ملف إقصاء منفصل ومستقل. أيضًا، كل بحث غير حساس لحالة الأحرف ما لم يُحدد ذلك صراحةً ببدء سلسلة البحث بمحرف الاقتباس QUOTE (انظر أدناه). ومع ذلك، فإن جزء المعامل في تعبير البحث (جزء LOWLINE=، HILINE=) حساس لحالة الأحرف.

المعاملات
    LOWLINES=#######
    HILINES=#######
    NRGRPS=####
    NRXREF=####
    QUOTE=c
    NON_REGEX=c
    GROUP=keep groupname filename أو GROUP=delete groupname filename
    PROGRAM=pathname
    PERL=pathname
    TIEBREAKER_DELETE
    GROUP_OVERRIDE_MASTER
    USE_EXTENDED_REGEX
    XOVER_LOG_LONG
    HEADER:
    أي سطر ترويسة صالح:
    BODY:
    BODYSIZE>
    BODYSIZE<

جميع المعاملات صالحة في كل من ملف الإقصاء الرئيس وملفات المجموعة، باستثناء GROUP و PROGRAM و PERL و TIEBREAKER_DELETE و GROUP_OVERRIDE_MASTER. هذه صالحة فقط في ملف الإقصاء الرئيس.

معاملات ملفات الإقصاء/الإبقاء

HILINES= طابق أي مقال أطول من عدد الأسطر المحدد.

LOWLINES= طابق أي مقال أقصر من عدد الأسطر المحدد.

NRGRPS= سيطابق هذا السطر أي مقال يحتوي على مجموعات أكثر من العدد المحدد في سطر Newsgroups:. عادة ما يُستخدم هذا في ملف إقصاء لمنع المقالات التي تهدف للإغراق (المقال المغرق هو المقال الذي يُنشر في مجموعات كثيرة جدًا، مثل مخططات الثراء السريع، إلخ.)

NRXREF= سيطابق هذا السطر أي مقال يحتوي على مجموعات أكثر من العدد المحدد في سطر Xref:. هذا مانع إغراق آخر. تحذير: سطر Xref: ليس بدقة سطر Newsgroups:، لأنه يحتوي فقط على المجموعات المعروفة لخادم الأخبار. هذا الخيار هو الأكثر فائدة في ملف إقصاء xover، حيث لا توفر نظرات Xover عادةً سطر Newsgroups:، ولكنها توفر سطر Xref:.

HEADER: أي سطر ترويسة صالح: يسمح لك Suck بفحص أي سطر ترويسة واحد بحثًا عن نمط/سلسلة معينة، أو يمكنك فحص ترويسة المقال بالكامل. لفحص سطر فردي، فقط قم بتحديده، على سبيل المثال لفحص سطر From بحثًا عن boby@pixi.com، ستضع

    From:boby@pixi.com

لاحظ أن سطر الترويسة يطابق تمامًا ما هو موجود في المقال. لفحص سطر Followup-To:، ما عليك سوى وضعه كمعامل. للبحث في نفس سطر الترويسة عن عناصر بحث متعددة، يجب أن يكون كل عنصر بحث في سطر منفصل، مثل:
    From:boby@xxx
    From:nerd@yyy
    Subject:suck
    Subject:help
المعامل HEADER: هو حالة خاصة مما سبق. إذا استخدمت معامل HEADER:، فستُبحث الترويسة بالكامل عن العنصر. يُسمح لك بأسطر HEADER: متعددة في كل ملف إقصاء.

عندما يبحث suck عن النمط، فإنه يبحث فقط عما يلي :، والمسافات التي تلي : مهمة. مع المثال أعلاه "Subject:suck"، سنبحث في سطر ترويسة الموضوع عن سلسلة "suck". إذا كان المثال قد كُتب "Subject: suck"، فسيقوم suck بالبحث عن السلسلة " suck". لاحظ المسافة الإضافية.

إذا كان نظامك يحتوي على روتينات regex()، فإن العناصر المبحوث عنها يمكن أن تكون تعابير نمطية POSIX، بدلاً من مجرد سلاسل نصية. لاحظ أن خيار QUOTE= لا يزال مطبقًا، حتى على التعابير النمطية.

BODY: يسمح لك هذا المعامل بالبحث في متن مقال عن نص. مرة أخرى، إذا كان نظامك يحتوي على regex()، يمكنك استخدام التعابير النمطية، ويُطبق خيار QUOTE= أيضًا. يُسمح لك بأسطر BODY: متعددة في كل ملف إقصاء. تحذير: بعض تركيبات التعابير النمطية، خاصة مع .* في البداية (مثل BODY:.*jpg)، بالاشتراك مع المقالات الكبيرة، قد تؤدي إلى استهلاك كود التعابير النمطية لكميات هائلة من المعالج، وسيبدو suck وكأنه لا يفعل شيئًا.

BODYSIZE> سيطابق هذا المعامل مقالاً إذا كان حجم متنه (لا يشمل الترويسة) أكبر من هذا المعامل. يُحدد الحجم بالبايت.

BODYSIZE< سيطابق هذا المعامل مقالاً إذا كان حجم متنه أقل من هذا المعامل. يُحدد الحجم بالبايت.

QUOTE= يحدد هذا العنصر المحرف الذي يعرف سلسلة مقتبسة. المبدئي لهذا هو ". إذا بدأ عنصر بمحرف QUOTE، يُفحص العنصر كما هو (حالة الأحرف مهمة). إذا لم يبدأ العنصر بمحرف QUOTE، يُفحص العنصر دون مراعاة لحالة الأحرف.

NON_REGEX= يحدد هذا العنصر المحرف الذي يعرف سلسلة ليست تعبيرًا نمطيًا. المبدئي لهذا هو %. إذا بدأ عنصر بمحرف NON_REGEX، فلا يُفحص أبدًا بحثًا عن تعابير نمطية. إذا لم يبدأ العنصر بمحرف QUOTE، يحاول suck تحديد ما إذا كان تعبيرًا نمطيًا، وإذا كان كذلك، يستخدم regex() عليه. هذا العنصر موجود لتمكنك من إخبار suck بمعاملة سلاسل مثل "$$$$ MONEY $$$$" كعناصر ليست تعابير نمطية. إذا استخدمت محرفي QUOTE و NON_REGEX على سلسلة، فيجب أن يظهر محرف NON_REGEX أولاً.

GROUP= يسمح لك هذا السطر بتحديد معاملات إبقاء أو حذف على أساس مجموعة تلو الأخرى. هناك ثلاثة أجزاء لهذا السطر. يجب فصل كل جزء من هذا السطر بمسافة واحدة بالضبط. الجزء الأول هو إما "keep" (إبقاء) أو "delete" (حذف). إذا كان إبقاء، تُنزل فقط المقالات في تلك المجموعة التي تطابق المعاملات في ملف المجموعة. إذا كان حذف، فلا تُنزل المقالات في تلك المجموعة التي تطابق المعاملات. الجزء الثاني، اسم المجموعة، هو الاسم الكامل للمجموعة لفحص المقالات مقابل ملف المجموعة. قد يحتوي اسم المجموعة على * كآخر محرف، لمطابقة مجموعات متعددة، مثل: "comp.os.linux.*" ستطابق comp.os.linux.announce و comp.os.linux.answers، إلخ.. الجزء الثالث يحدد ملف المجموعة الذي يحتوي على المعاملات لفحص المقالات مقابلها. لاحظ أنه إذا حددت لاحقة بخيار -p، فستُلحق هذه اللاحقة باسم الملف عندما يبحث suck عنه، إلا إذا استخدمت خيار -k أعلاه.

GROUP_OVERRIDE_MASTER يسمح لك هذا بتخطي السلوك المبدئي لملف الإقصاء الرئيس. إذا كان هذا الخيار في ملف الإقصاء الرئيس، فإنه حتى لو وُسم مقال للحذف بواسطة ملف الإقصاء الرئيس، فسيُفحص مقابل ملفات المجموعة. إذا قالت ملفات المجموعة بعدم حذفه، فيُحتفظ بالمقال.

TIEBREAKER_DELETE يسمح لك هذا الخيار بتخطي المبدئي المدمج لفك الارتباط. يوجد احتمال بأن توُسم رسالة بواسطة أحد ملفات المجموعة كـ "مبقى"، ومن قبل ملف مجموعة آخر كـ "مقصى". المبدئي المدمج هو الاحتفاظ بالرسالة. سيقوم خيار TIEBREAKER_DELETE بتخطي ذلك، ويؤدي إلى حذف المقال.

USE_EXTENDED_REGEX يخبر هذا الخيار suck باستخدام التعابير النمطية الموسعة بدلاً من التعابير النمطية القياسية. يمكن استخدامه في ملف الإقصاء الرئيس، وفي هذه الحالة ينطبق على جميع ملفات الإقصاء، أو في ملف إقصاء فردي، حيث ينطبق فقط على المعاملات التي تليها في ملف الإقصاء.

XOVER_LOG_LONG يخبر هذا الخيار suck بتنسيق ملف الإقصاء المُولد من ملف إقصاء Xover بحيث يبدو كترویسة مقال. المخرج العادي هو مجرد طباعة سطر Xover من الخادم.

PROGRAM= يسمح هذا السطر لـ suck باستدعاء برنامج خارجي لفحص كل مقال. يمكنك تحديد أي وسائط بالإضافة إلى اسم البرنامج في هذا السطر. إذا كان هذا السطر في suckkillfile الخاص بك، فستُتجاهل جميع الأسطر الأخرى. بدلاً من ذلك، تُمرر الترويسات إلى البرنامج الخارجي، ويحدد البرنامج الخارجي ما إذا كان سيُنزل المقال أم لا. إليك كيفية عمل ذلك. سيقوم suck بتفريع (fork) برنامجك، مع إعادة توجيه stdin و stdout. سيقوم suck بتغذية الترويسات لبرنامجك عبر stdin، ويتوقع ردًا عبر stdout. إليك تدفق البيانات لكل مقال:

    1. سيكتب suck سلسلة بطول 8 بايت، تمثل طول سجل الترويسة في stdin الخاص بالبرنامج الخارجي. الطول بصيغة ascii، ومحاذى لليسار، وينتهي بسطر جديد (مثال: "1234 \n").
    2. سيقوم suck بعد ذلك بكتابة الترويسة في stdin الخاص بالبرنامج الخارجي.
    3. سينتظر suck رمز استجابة مكون من حرفين على stdout. رمز الاستجابة هذا هو إما "0\n" أو "1\n" (ليس صفرًا أو واحدًا ثنائيًا، بل صفر أو واحد بصيغة ASCII). إذا كان رمز الإرجاع صفرًا، فسينزل suck المقال، وإذا كان واحدًا، فلن ينزله.
    4. عندما لا يتبقى مقالات أخرى، سيكون الطول المكتوب (للمرحلة 1) صفرًا (مرة أخرى بصيغة ascii "0 \n"). سينتظر suck بعد ذلك البرنامج الخارجي ليخرج قبل المتابعة. يمكن للبرنامج الخارجي إجراء أي عمليات تنظيف يحتاجها، ثم يخرج. ملاحظة: لن يستمر suck في المعالجة حتى يخرج البرنامج الخارجي.

PERL= يسمح هذا السطر لـ suck باستدعاء روتين فرعي بلغة perl لفحص كل مقال. لاستخدام هذا الخيار، يجب عليك تحرير Makefile، وتحديدًا خيارات *PERL. إذا كان سطر PERL= في suckkillfile الخاص بك، فستُتجاهل جميع الأسطر الأخرى. بدلاً من ذلك، تُرسل الترويسة إلى الروتين الفرعي لـ perl، ويحدد الروتين ما إذا كان سيُنزل المقال أم لا. يحدد المعامل في سطر PERL= اسم ملف روتين perl، مثل:

    PERL=perl_kill.pl

انظر sample/perl_kill.pl للحصول على روتين فرعي نموذجي لـ perl. هناك نقطتان رئيستان في هذا النموذج. يجب أن تكون العبارة "package Embed::Persistant;" موجودة في ملف perl. هذا لضمان عدم تعارض أي أسماء متغيرات تنشئها مع أسماء المتغيرات في suck. بالإضافة إلى ذلك، يجب أن يكون الروتين الفرعي الذي تعرفه هو "perl_kill"، ما لم تقم بتغيير تعريف PERL_PACKAGE_SUB في suck_config.h. أيضًا، يجب أن يعيد روتينك الفرعي قيمة واحدة بالضبط، عدد صحيح، إما 0 أو 1. إذا أعاد الروتين 0، فيُنزل المقال، وإلا فلن يُنزل.

ملاحظات: يُصرف ملف perl مرة واحدة فقط، قبل تنزيل أي مقالات. هذا لمنع التأخيرات الطويلة بين المقالات أثناء إعادة تصريف روتين perl. أيضًا، يجب استخدام Perl 5.003 أو أحدث. بالإضافة إلى ذلك، نوصيك بتشغيل 'perl -wc filter' قبل استخدام المرشح الخاص بك، للتحقق من أخطاء بناء الجملة وتجنب المشكلات.

SUCKXOVER
إذا وُجد ملف suckxover، يستخدم suck أمر XOVER للحصول على معلومات عن المقالات ويقرر ما إذا كان سيُنزل المقال أم لا. تستخدم ملفات Xover نفس بناء جملة suckkillfiles، ولكنها تدعم مجموعة فرعية من الأوامر.

أوامر ملف الإقصاء التالية غير مدعومة في ملفات suckxover:
    NRGROUPS:
    HEADER:
    BODY:
    TIEBREAKER_DELETE:

ستُفحص أسطر الترويسة التالية فقط:
    Subject:
    From:
    Message-ID:
    References:

يحدد سلوك أوامر الحجم ( BODYSIZE> و BODYSIZE< و HILINES و LOWLINES ) الحجم الإجمالي للمقال (ليس فقط المتن) بالبايت أو الأسطر، على التوالي.

جميع المعاملات الأخرى مسموح بها. ومع ذلك، إذا استخدمت معاملاً غير صالح، فسيُتجاهل بصمت.

SUCKXOVER ومعاملات PROGRAM= أو PERL=
هذه المعاملات مدعومة في ملف suckxover، ومع ذلك فهي تعمل بشكل مختلف قليلاً عما هو موصوف أعلاه. الفرق الرئيس هو أنه قبل إرسال كل سطر xoverview فردي إلى برنامجك، سيرسل لك suck قائمة overview.fmt التي يسترجعها من الخادم. ملف overview.fmt هذا هو سطر مفصول بعلامات جدولة، يصف الحقول في كل سطر overview.fmt.

بالنسبة لمعامل PROGRAM=، سيرسل suck أولاً إلى برنامجك سلسلة بطول 8 بايت، وهي طول overview.fmt. نُسق هذا الطول مثل الأطوال أعلاه (انظر nr1 تحت PROGRAM=). بعد ذلك سيرسل suck ملف overview.fmt. بعد ذلك، يكون التدفق كما هو موصوف أعلاه. انظر sample/killxover_child.c للحصول على مثال.

بالنسبة للمعامل PERL=‎، يجب أن يحتوي برنامجك على روتينين فرعيين. الأول هو perl_overview، والذي سيستقبل overview.fmt ولا يعيد أي شيء. الروتين الفرعي الثاني هو perl_xover، والذي سيستقبل سطر xoverview ويعيد 0 أو 1، كما هو موضح في PERL=‎ أعلاه. راجع sample/perl_xover.pl للحصول على مثال.

SUCKOTHERMSGS
إذا وُجد الملف suckothermsgs، فيجب أن يحتوي على أسطر منسقة بإحدى ثلاث طرق. الطريقة الأولى هي سطر يحتوي على معرف رسالة (Message-ID)، مع تضمين <>، على سبيل المثال:

      <12345@somehost.com>

سيؤدي هذا إلى جلب المقالة ذات معرف الرسالة هذا.

الطريقة الثانية هي وضع اسم مجموعة ورقم مقالة في سطر يبدأ بعلامة !، على سبيل المثال:
      !comp.os.linux.announce 1

سيؤدي هذا إلى تنزيل تلك المقالة المحددة.

يمكنك أيضًا الحصول على مجموعة من المقالات من مجموعة باستخدام الصياغة التالية:
      !comp.os.linux.announce 1-10

أيًا كانت الطريقة التي تستخدمها، فإذا كانت المقالة المحددة موجودة، فسيُنزل، بالإضافة إلى أي مقالات جُلبت عبر sucknewsrc.‎. يمكن استخدام هذه الطرق للحصول على مقالة معينة في مجموعات أخرى، أو لتنزيل مقالة قُتلت (killed). هذه المقالات لا تُعالج من خلال روتينات قتل المقالات.

SUCKNODOWNLOAD
إذا وُجد sucknodownload، فيجب أن يتكون من أسطر تحتوي على معرف رسالة (Message-ID)، مع تضمين <>، على سبيل المثال:

      <12345@somehost.com>

سيؤدي هذا إلى عدم تنزيل المقالة ذات معرف الرسالة هذا أبدًا. يجب أن يبدأ معرف الرسالة في العمود الأول من السطر (بدون مسافات بادئة). يتجاوز هذا الملف suckothermsgs، فإذا وجدت مقالة في كليهما، فلن تُنزل.

مرشح بعدي
إذا حُدد الخيار -y post_filter في سطر الأوامر بالتزامن مع أي من أوضاع الدفعة، فسيستدعي suck المرشح البعدي المحدد، بعد تنزيل المقالات، وقبل تجميع/نشر المقالات. يُمرر للمرشح المجلد الذي تُخزن فيه المقالات (الخيار -dm). برنامج المرشح مسؤول عن تحليل محتويات المجلد. راجع sample/post_filter.pl للحصول على عينة مرشح بعدي. صُمم هذا الخيار للسماح لك بإضافة اسم مضيفك الخاص إلى ترويسة :Path، ولكن إذا كنت بحاجة إلى القيام بأي شيء آخر للرسائل، فيمكنك ذلك.

عبارات اللغات الأجنبية
إذا حُدد الخيار -l phrases أو وُجد الملف ‎/usr/local/lib/suck.phrases (المعرف في suck_config.h)، فسيحمل suck ملف عبارات لغة بديلة، ويستخدمه لجميع رسائل الحالة والأخطاء، بدلاً من الإعدادات المبدئية المدمجة. يتجاوز سطر الأوامر الإعداد المبدئي المدمج في حال وجود كليهما. يحتوي ملف العبارات على جميع الرسائل المستخدمة بواسطة suck و rpost و testhost و lmove، كل منها في سطر منفصل ومحاط بعلامات اقتباس. لتوليد ملف عبارات عينة، شغل make phrases من سطر الأوامر. سيؤدي هذا إلى إنشاء "phrases.engl"، وهو قائمة بالعبارات المبدئية. ما عليك سوى تحرير هذا الملف وتغيير العبارات الإنجليزية إلى اللغة التي تختارها، مع التأكد من إبقاء العبارات داخل علامات الاقتباس. قد تحتوي هذه العبارات على متغيرات لطباعة العناصر التي يوفرها البرنامج، مثل اسم المضيف. تُحدد المتغيرات بواسطة %vN% حيث N هو تسلسل تصاعدي لكل عبارة. قد توجد هذه المتغيرات بأي ترتيب في سطر العبارة، على سبيل المثال،
    "Hello, %v1%, welcome to %v2%"     أو
    "Welcome to %v2%, %v1%"
كلاهما عبارات صالحة. قد تحتوي العبارات على ‎\n أو ‎\r أو ‎\t لطباعة سطر جديد أو إرجاع العربة أو علامة جدولة، على التوالي. لاحظ أن السطر الأول من ملف العبارات هو رقم الإصدار الحالي. يُفحص هذا مقابل إصدار suck الذي يعمل، للتأكد من أن ملف العبارات هو الإصدار الصحيح.

إذا عدلت أيًا من الكود المصدري، وأضفت عبارات جديدة، فستحتاج إلى إعادة توليد phrases.h ليعمل كل شيء بشكل صحيح. لإعادة الإنشاء، ما عليك سوى تشغيل make phrases.h من سطر الأوامر.

التعامل مع الإشارات
يقبل Suck إشارتين، معرفتين في suck_config.h.‎. ستتسبب الإشارة الأولى (SIGTERM المبدئية) في إنهاء Suck لتنزيل المقالة الحالية، وتجميع أي مقالات نُزلت، والخروج دون خطأ.

ستتسبب الإشارة الثانية (SIGUSR1 المبدئية) في جعل suck يستخدم قيم الإيقاف المؤقت المعرفة بالخيار -w (انظر أعلاه).

رموز الخروج
سيخرج Suck برموز العودة التالية:
    0 = نجاح
    1 = لا توجد مقالات متاحة للتنزيل.
    2 = تلقى suck إجابة غير متوقعة لأمر أصدره إلى الخادم البعيد.
    3 = استُخدم الخيار -V.
    4 = لم يتمكن suck من إجراء استيثاق NNTP مع الخادم البعيد.
    -1 = خطأ عام.

التاريخ
    المؤلف الأصلي - Tim Smith (عنوان مجهول)
    المصينون -
    مارس 1995 - Sven Goldt (goldt@math.tu-berlin.de)
    يوليو 1995 - Robert A. Yetman (boby@pixi.com)

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

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

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

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