SEND-UUCP(8) InterNetNews Documentation SEND-UUCP(8) نام (NAME) send-uucp - ارسال مقاله‌های یوزنت از طریق UUCP خلاصه دستور (SYNOPSIS) send-uucp [site ...] توضیحات (DESCRIPTION) برنامهٔ send-uucp فایل‌های دسته‌ای (batch files) ایجادشده توسط innd(8) را برای ارسال مقاله‌های یوزنت (Usenet) به سایت‌های UUCP پردازش می‌کند. این برنامه یک فایل پیکربندی را برای کنترل نحوهٔ رفتار خود با سایت‌های مختلف می‌خواند. معمولاً این برنامه به‌طور دوره‌ای از طریق cron اجرا می‌شود تا دسته‌ها را کنار هم قرار داده و آن‌ها را به سایت‌های راه‌دور UUCP ارسال کند. این برنامه کاهش مصرف پهنای باند و ارسال خبر به سایت‌های راه‌دور UUCP را که نمی‌توانند خوراک بی‌درنگ (real-time feed) دریافت کنند (برای نمونه در صورتی که روی اتصالات Dial-up باشند) امکان‌پذیر می‌سازد. گزینه‌ها (OPTIONS) هرگونه آرگومان ارائه‌شده به برنامه به عنوان فهرستی از سایت‌های مشخص‌شده در send-uucp.cf تفسیر می‌شود که باید برای آن‌ها دسته‌ها تولید شوند. اگر هیچ آرگومانی ارائه نشود، دسته‌ها برای تمام سایت‌های فهرست‌شده در آن فایل پیکربندی تولید خواهند شد. پیکربندی (CONFIGURATION) سایت‌هایی که مقاله‌ها باید به آن‌ها ارسال شوند باید در فایل پیکربندی send-uucp.cf واقع در pathetc (همان‌طور که در inn.conf تنظیم شده است) پیکربندی شوند. هر سایت با خطی به شکل زیر مشخص می‌شود: site[:host[:funnel]] [compressor [maxsize [batchtime]]] site نام سایت خبری در حال پیکربندی. این نام باید با یک نام سایت از newsfeeds(5) مطابقت داشته باشد. host نام میزبان UUCP که دسته‌ها باید برای این سایت به آن ارسال شوند. در صورت حذف، از نام سایت خبری به عنوان نام میزبان UUCP استفاده خواهد شد. funnel در مورد سایتی که به عنوان قیف (funnel) پیکربندی شده است، send-uucp باید کانال (یا exploder) مورد استفاده به عنوان مقصد قیف را تخلیه (flush) کند، به جای اینکه خود سایت را تخلیه نماید. این روش به send- uucp نام کانال یا exploder مورد نظر برای تخلیهٔ این سایت را اعلام می‌کند. در صورت عدم تعیین، به‌طور پیش‌فرض سایت تخلیه می‌شود. compressor روش فشرده‌سازی مورد استفاده برای دسته‌ها. این روش باید یکی از "bzip2"، "compress"، "gzip" یا "none" باشد. آرگومان‌های دستور فشرده‌سازی را می‌توان با استفاده از "_" به جای فاصله‌ها مشخص کرد. برای مثال، "gzip_-9". مقدار پیش‌فرض "gzip" است. maxsize حداکثر اندازهٔ یک دستهٔ منفرد به بایت پیش از فشرده‌سازی. مقدار پیش‌فرض "500000" بایت است. batchtime فهرستی از ساعت‌های جداشده با کاما که در طول آن‌ها باید برای یک سایت معین دسته تولید شود. هنگامی که send-uucp اجرا می‌شود، یک سایت تنها در صورتی پردازش خواهد شد که ساعت فعلی با یکی از ساعت‌های موجود در batchtime مطابقت داشته باشد. پیش‌فرض بدون محدودیت در زمان تولید دسته‌ها است. فیلدها با فاصله از یکدیگر جدا می‌شوند و فقط نام سایت باید مشخص شود، و برای مقادیر مشخص‌نشده از مقادیر پیش‌فرض استفاده می‌شود. اگر اولین نویسه در یک خط علامت هش ("#") باشد، باقی خط نادیده گرفته می‌شود. مثال (EXAMPLE) در اینجا یک نمونه برای فایل پیکربندی send-uucp.cf آورده شده است: zoetermeer gzip 1048576 5,18,22 hoofddorp gzip 1048576 5,18,22 pa3ebv gzip 1048576 5,18,22 drinkel bzip2 1048576 5,6,18,20,22,0,2 manhole compress 1048576 5,18,22 owl compress 1048576 able pern::MYFUNNEL! این پیکربندی هشت سایت UUCP را تعریف می‌کند. سه سایت اول و دو سایت آخر از فشرده‌سازی "gzip" استفاده می‌کنند، سایت چهارم ("drinkel") از "bzip2" و سایت‌های باقی‌مانده ("manhole" و "owl") از "compress" استفاده می‌کنند. شش سایت اول از اندازهٔ دستهٔ ۱ مگابایت (1 MB) استفاده می‌کنند و دو سایت آخر ("able" و "pern") از مقدار پیش‌فرض ۵۰۰٬۰۰۰ بایت استفاده می‌کنند. برای سایت‌های "zoetermeer"، "hoofddorp"، "pa3ebv" و "manhole" تنها در طول ساعت‌های 05:00، 18:00 و 22:00 دسته تولید خواهد شد، و برای سایت "drinkel" تنها در طول آن ساعت‌ها به‌همراه 06:00، 20:00، 00:00 و 02:00 دسته تولید خواهد شد. هیچ محدودیتی در زمان تولید دسته‌ها برای "owl"، "able" و "pern" وجود ندارد. سایت "pern" به عنوان قیف به داخل "MYFUNNEL!" پیکربندی شده است. send- uucp به جای "ctlinnd flush pern" دستور "ctlinnd flush MYFUNNEL!" را صادر خواهد کرد. در رابطه با فایل newsfeeds، پرچم‌های متداول مورد استفاده برای خوراک UUCP عبارتند از "Tf,Wnb". در اینجا یک مدخل نمونه برای "zoetermeer" آورده شده است، که در آن دسته‌بندی بین 4 KB و 1 KB نگه داشته می‌شود: zoetermeer\ :*,!junk,!control,!control.*/!foo\ :Tf,Wnb,B4096/1024: راه‌اندازی خوراک‌های UUCP (SETTING UP UUCP FEEDS) در اینجا مراحلی که باید برای راه‌اندازی یک خوراک UUCP بر بستر SSH بین دو کارگزار خبر دنبال کنید آورده شده است، با استفاده از پیاده‌سازی UUCP موجود در دبیان به صورت بستهٔ "uucp". سازوکارهای شرح‌داده‌شده در زیر را در صورت استفاده از پیاده‌سازی دیگری از UUCP باید تطبیق دهید. (و اگر چنین کردید، لطفاً به نگهدارندگان INN دربارهٔ نحوهٔ راه‌اندازی خوراک با سایر پیاده‌سازی‌های UUCP اطلاع دهید تا بتوان آن را به این مستندات افزود.) 1. قبل از هر چیز، مطمئن شوید که rnews به درستی با بیت setuid برای "news"، مالکیت گروه "uucp" و با مجوز دسترسی (mode) "4550" نصب شده باشد. این کار به زیرسیستم UUCP اجازه می‌دهد تا rnews را برای پردازش دسته‌های UUCP از مقاله‌های خبری اجرا کند. پرچم --enable-uucp-rnews در اسکریپت "configure" هنگام نصب INN این کار را انجام می‌دهد. در غیر این صورت، باید مجوزهای دسترسی روی rnews را به صورت دستی تغییر دهید. 2. بستهٔ "uucp" را نصب کنید. این بسته به‌ویژه uucico(8) و uux(1) را فراهم خواهد کرد. 3. کارگزارهای خبر راه‌دور را برای سرکشی (poll) و ساعت‌هایی را که در طول آن‌ها باید سرکشی شوند در /etc/uucp/Poll پیکربندی کنید. برای نمونه، اگر دسته‌های UUCP را هر ۴ ساعت یک‌بار به "news.server.to.feed" ارسال می‌کنید، می‌توانید از پیکربندی زیر استفاده کنید: schedule news.server.to.feed 00 poll news.server.to.feed 00 04 08 12 16 20 اگر ارسال به صورت ساعتی است، فقط تمام ساعت‌ها را فهرست کنید. 4. اعتبارنامه‌ها (نام‌های کاربری و گذرواژه‌ها) را برای استفاده هنگام احراز هویت در برابر کارگزارهای خبر راه‌دور در /etc/uucp/call، به ازای هر خط یک مورد، پیکربندی کنید. برای نمونه: news.server.to.feed login password 5. نام UUCP کارگزار خبر محلی را در /etc/uucp/config پیکربندی کنید. برای نمونه: nodename my.news.server 6. بررسی کنید که /etc/uucp/expire از نظر تعداد روزهای نگهداری دسته‌ها و همچنین پیکربندی گزارش‌های روزانه با نیازهای شما مطابقت داشته باشد. مقادیر پیش‌فرض معمولاً مناسب هستند، هرچند ممکن است بخواهید گزارش روزانه را تنها در صورت وقوع رخدادهای غیرعادی دریافت کنید (و در این حالت، کافی است "$important_only" را روی "1" تنظیم نمایید). 7. اعتبارنامه‌هایی (نام‌های کاربری و گذرواژه‌های جداشده با کلید Tab) را که کارگزارهای خبر راه‌دور هنگام احراز هویت در برابر کارگزار خبر محلی استفاده می‌کنند در /etc/uucp/passwd، به ازای هر خط یک مورد، پیکربندی کنید. برای نمونه: loginpassword 8. نحوهٔ اتصال کارگزارهای خبر راه‌دور به کارگزار خبر محلی را در /etc/uucp/sys پیکربندی کنید. یک مدخل متداول برای برقراری اتصال SSH مدخل زیر است که در آن pathbin باید به مسیر واقعی rnews تغییر یابد: system news.server.to.feed call-login * call-password * commands /rnews time any chat "" \d\d\r\c ogin: \d\L word: \P chat-timeout 120 protocol i port ssh.news.server.to.feed 9. نحوهٔ اتصال به کارگزارهای خبر راه‌دور را در /etc/uucp/port پیکربندی کنید. یک مدخل متداول برای برقراری اتصال SSH با استفاده از کلید خصوصی عبارت است از: port ssh.news.server.to.feed type pipe command /bin/ssh -a -x -q -i -l uucp news.server.to.feed reliable true protocol etyig که در آن key مسیر کلید خصوصی مورد استفاده برای اتصال SSH است، مانند /var/spool/uucp/.ssh/id_private_key. 10. اطمینان حاصل کنید که مدیران کارگزارهای خبر راه‌دور، کلید عمومی مربوط به id_private_key را برای اتصالات به کاربر "uucp" در کارگزارهای خبر راه‌دور اضافه کرده باشند. 11. با فرض اینکه دایرکتوری خانگی کاربر "uucp" مسیر /var/spool/uucp باشد، باید کلیدهای SSH را در زیردایرکتوری .ssh پیکربندی کنید. ابتدا کلیدهای عمومی تمام کارگزارهای خبر راه‌دور را در authorized_keys اضافه نمایید. یک مدخل متداول به صورت زیر است که باید در ۱ خط باشد (در اینجا برای نمایش مناسب در صفحهٔ man شکسته شده است): no-port-forwarding,no-X11-forwarding,no-agent-forwarding, command="/usr/sbin/uucico -l",from="news.server.to.feed" ssh-rsa xxxyyyzzz uucp@news.server.to.feed این کار تضمین می‌کند که از اتصال SSH برای هدفی غیر از تبادل دسته‌های UUCP استفاده نخواهد شد. 12. اطمینان حاصل کنید که id_private_key، همان‌طور که در /etc/uucp/port تنظیم شده است، به درستی وجود داشته باشد و تنها توسط کاربر "uucp" قابل خواندن باشد. 13. دستور تنظیم‌شده در /etc/uucp/port را به صورت دستی با کاربر "uucp" اجرا کنید تا فایل known_hosts ایجاد شود و از صحت تنظیمات SSH اطمینان حاصل گردد. /bin/ssh -a -x -q -i -l uucp news.server.to.feed 14. خوراک ارسالی به کارگزارهای راه‌دور را پارامتربندی کنید. یک مدخل متداول در newsfeeds برای تولید دسته‌ها در pathoutgoing عبارت است از: news.server.to.feed/pathname:*:Tf,Wnb,B4096/1024: 15. روش فشرده‌سازی، اندازهٔ دسته‌ها و زمان تولید آن‌ها را در فایل send-uucp.cf واقع در pathetc، همان‌طور که پیش‌تر در این مستندات شرح داده شد، تنظیم نمایید. news.server.to.feed bzip2 1048576 3,7,11,15,19,23 16. بررسی کنید که send-uucp به صورت ساعتی در crontab توسط کاربر "news" اجرا شود. برای نمونه در /etc/cron.d/inn2: 52 * * * * news /send-uucp تنظیم زمان راه‌اندازی متفاوتی نسبت به کارگزارهای راه‌دورتان می‌تواند مفید باشد. برای نمونه، اگر شما دسته‌ها را هر ساعت در دقیقهٔ ۵۲ تولید کنید، یک همتای راه‌دور ممکن است همین کار را در دقیقهٔ ۲۲ انجام دهد. به این ترتیب، بسته به اینکه هر کدام چه زمانی متصل شوید، می‌توانید مقاله‌ها را با بسامد بیشتری تبادل کنید. 17. بررسی کنید که برنامه‌های UUCP به‌طور خودکار در crontab اجرا شوند (معمولاً uudemon.hr به‌صورت ساعتی در /etc/cron.d/uucp برای سرکشی کارگزارهای خبر راه‌دور و uudemon.day به‌صورت روزانه در /etc/cron.daily/uucp فراخوانی می‌شوند). همانند send-uucp، زمان اجرا را تنظیم کنید تا تعداد و تازگی دسته‌ها برای تبادل به بیشترین مقدار برسد. 18. گزارش‌ها را در /var/log/uucp بررسی کنید تا از عملکرد درست همه‌چیز، چه سرکشی و چه ارسال، اطمینان حاصل نمایید. خواهید دید که send-uucp دسته‌های rnews با نام‌هایی مانند D.0I8Y را آماده می‌کند که توسط uux در صف قرار می‌گیرند. هنگامی که پس از آن uucico از طریق cron برای انتقال این دسته‌ها اجرا می‌شود، uucico دسته‌های موجود را به‌طور همزمان از سایت‌های راه‌دور دریافت می‌کند. این دسته‌های دریافت‌شده سپس توسط uuxqt که rnews را برای تزریق آن‌ها فراخوانی می‌کند، پردازش می‌شوند. همین! فایل‌ها (FILES) pathbin/send-uucp خود اسکریپت پرل (Perl) که برای ایجاد دسته‌های خبری از فایل‌های خروجی استفاده می‌شود. pathetc/send-uucp.cf فایل پیکربندی که فهرستی از سایت‌های مورد نظر برای پردازش را مشخص می‌کند. pathlog/send-uucp.log فایل گزارش که در صورت در دسترس نبودن سرویس syslog استفاده می‌شود. تاریخچه (HISTORY) این برنامه در ابتدا توسط Edvard Tuinder نوشته شد و سپس توسط Miquel van Smoorenburg نگهداری و گسترش یافت. Marco d'Itri کد را برای گنجاندن در INN پاکسازی کرد. این صفحهٔ راهنما در ابتدا توسط Mark Brown نوشته شد و روند دقیق راه‌اندازی خوراک UUCP توسط Julien Élie اضافه گردید. همچنین ببینید (SEE ALSO) innd(8), newsfeeds(5), uucp(8). INN 2.7.4 2025-03-29 SEND-UUCP(8)