.\" -*- 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 "SEND-UUCP 8" .TH SEND-UUCP 8 2025-03-29 "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)" send\-uucp \- ارسال مقاله‌های یوزنت از طریق UUCP .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBsend-uucp\fR [\fIsite\fR ...] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" برنامهٔ \fBsend-uucp\fR فایل‌های دسته‌ای (batch files) ایجادشده توسط innd(8) را برای ارسال مقاله‌های یوزنت (Usenet) به سایت‌های UUCP پردازش می‌کند. این برنامه یک فایل پیکربندی را برای کنترل نحوهٔ رفتار خود با سایت‌های مختلف می‌خواند. معمولاً این برنامه به‌طور دوره‌ای از طریق cron اجرا می‌شود تا دسته‌ها را کنار هم قرار داده و آن‌ها را به سایت‌های راه‌دور UUCP ارسال کند. .PP این برنامه کاهش مصرف پهنای باند و ارسال خبر به سایت‌های راه‌دور UUCP را که نمی‌توانند خوراک بی‌درنگ (real-time feed) دریافت کنند (برای نمونه در صورتی که روی اتصالات Dial-up باشند) امکان‌پذیر می‌سازد. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" هرگونه آرگومان ارائه‌شده به برنامه به عنوان فهرستی از سایت‌های مشخص‌شده در \fIsend\-uucp.cf\fR تفسیر می‌شود که باید برای آن‌ها دسته‌ها تولید شوند. اگر هیچ آرگومانی ارائه نشود، دسته‌ها برای تمام سایت‌های فهرست‌شده در آن فایل پیکربندی تولید خواهند شد. .SH "پیکربندی (CONFIGURATION)" .IX Header "CONFIGURATION" سایت‌هایی که مقاله‌ها باید به آن‌ها ارسال شوند باید در فایل پیکربندی \fIsend\-uucp.cf\fR واقع در \fIpathetc\fR (همان‌طور که در \fIinn.conf\fR تنظیم شده است) پیکربندی شوند. هر سایت با خطی به شکل زیر مشخص می‌شود: .PP .Vb 1 \& site[:host[:funnel]] [compressor [maxsize [batchtime]]] .Ve .IP \fIsite\fR 4 .IX Item "site" نام سایت خبری در حال پیکربندی. این نام باید با یک نام سایت از newsfeeds(5) مطابقت داشته باشد. .IP \fIhost\fR 4 .IX Item "host" نام میزبان UUCP که دسته‌ها باید برای این سایت به آن ارسال شوند. در صورت حذف، از نام سایت خبری به عنوان نام میزبان UUCP استفاده خواهد شد. .IP \fIfunnel\fR 4 .IX Item "funnel" در مورد سایتی که به عنوان قیف (funnel) پیکربندی شده است، \fBsend-uucp\fR باید کانال (یا exploder) مورد استفاده به عنوان مقصد قیف را تخلیه (flush) کند، به جای اینکه خود سایت را تخلیه نماید. این روش به \fBsend-uucp\fR نام کانال یا exploder مورد نظر برای تخلیهٔ این سایت را اعلام می‌کند. در صورت عدم تعیین، به‌طور پیش‌فرض سایت تخلیه می‌شود. .IP \fIcompressor\fR 4 .IX Item "compressor" روش فشرده‌سازی مورد استفاده برای دسته‌ها. این روش باید یکی از \f(CW\*(C`bzip2\*(C'\fR، \&\f(CW\*(C`compress\*(C'\fR، \f(CW\*(C`gzip\*(C'\fR یا \f(CW\*(C`none\*(C'\fR باشد. آرگومان‌های دستور فشرده‌سازی را می‌توان با استفاده از \f(CW\*(C`_\*(C'\fR به جای فاصله‌ها مشخص کرد. برای مثال، \f(CW\*(C`gzip_\-9\*(C'\fR. مقدار پیش‌فرض \f(CW\*(C`gzip\*(C'\fR است. .IP \fImaxsize\fR 4 .IX Item "maxsize" حداکثر اندازهٔ یک دستهٔ منفرد به بایت \fIپیش از\fR فشرده‌سازی. مقدار پیش‌فرض \f(CW\*(C`500000\*(C'\fR بایت است. .IP \fIbatchtime\fR 4 .IX Item "batchtime" فهرستی از ساعت‌های جداشده با کاما که در طول آن‌ها باید برای یک سایت معین دسته تولید شود. هنگامی که \fBsend-uucp\fR اجرا می‌شود، یک سایت تنها در صورتی پردازش خواهد شد که ساعت فعلی با یکی از ساعت‌های موجود در \fIbatchtime\fR مطابقت داشته باشد. پیش‌فرض بدون محدودیت در زمان تولید دسته‌ها است. .PP فیلدها با فاصله از یکدیگر جدا می‌شوند و فقط نام سایت باید مشخص شود، و برای مقادیر مشخص‌نشده از مقادیر پیش‌فرض استفاده می‌شود. اگر اولین نویسه در یک خط علامت هش (\f(CW\*(C`#\*(C'\fR) باشد، باقی خط نادیده گرفته می‌شود. .SH "مثال (EXAMPLE)" .IX Header "EXAMPLE" در اینجا یک نمونه برای فایل پیکربندی \fIsend\-uucp.cf\fR آورده شده است: .PP .Vb 8 \& 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! .Ve .PP این پیکربندی هشت سایت UUCP را تعریف می‌کند. سه سایت اول و دو سایت آخر از فشرده‌سازی \f(CW\*(C`gzip\*(C'\fR استفاده می‌کنند، سایت چهارم (\f(CW\*(C`drinkel\*(C'\fR) از \f(CW\*(C`bzip2\*(C'\fR و سایت‌های باقی‌مانده (\f(CW\*(C`manhole\*(C'\fR و \f(CW\*(C`owl\*(C'\fR) از \f(CW\*(C`compress\*(C'\fR استفاده می‌کنند. شش سایت اول از اندازهٔ دستهٔ ۱ مگابایت (\f(CW1 MB\fR) استفاده می‌کنند و دو سایت آخر (\f(CW\*(C`able\*(C'\fR و \f(CW\*(C`pern\*(C'\fR) از مقدار پیش‌فرض ۵۰۰٬۰۰۰ بایت استفاده می‌کنند. برای سایت‌های \f(CW\*(C`zoetermeer\*(C'\fR، \f(CW\*(C`hoofddorp\*(C'\fR، \f(CW\*(C`pa3ebv\*(C'\fR و \&\f(CW\*(C`manhole\*(C'\fR تنها در طول ساعت‌های 05:00، 18:00 و 22:00 دسته تولید خواهد شد، و برای سایت \f(CW\*(C`drinkel\*(C'\fR تنها در طول آن ساعت‌ها به‌همراه 06:00، 20:00، 00:00 و 02:00 دسته تولید خواهد شد. هیچ محدودیتی در زمان تولید دسته‌ها برای \f(CW\*(C`owl\*(C'\fR، \f(CW\*(C`able\*(C'\fR و \&\f(CW\*(C`pern\*(C'\fR وجود ندارد. .PP سایت \f(CW\*(C`pern\*(C'\fR به عنوان قیف به داخل \f(CW\*(C`MYFUNNEL!\*(C'\fR پیکربندی شده است. \fBsend-uucp\fR به جای \f(CW\*(C`ctlinnd flush pern\*(C'\fR دستور \f(CW\*(C`ctlinnd flush MYFUNNEL!\*(C'\fR را صادر خواهد کرد. .PP در رابطه با فایل \fInewsfeeds\fR، پرچم‌های متداول مورد استفاده برای خوراک UUCP عبارتند از \&\f(CW\*(C`Tf,Wnb\*(C'\fR. در اینجا یک مدخل نمونه برای \f(CW\*(C`zoetermeer\*(C'\fR آورده شده است، که در آن دسته‌بندی بین 4\ KB و 1\ KB نگه داشته می‌شود: .PP .Vb 3 \& zoetermeer\e \& :*,!junk,!control,!control.*/!foo\e \& :Tf,Wnb,B4096/1024: .Ve .SH "راه‌اندازی خوراک‌های UUCP (SETTING UP UUCP FEEDS)" .IX Header "SETTING UP UUCP FEEDS" در اینجا مراحلی که باید برای راه‌اندازی یک خوراک UUCP بر بستر SSH بین دو کارگزار خبر دنبال کنید آورده شده است، با استفاده از پیاده‌سازی UUCP موجود در دبیان به صورت بستهٔ \f(CW\*(C`uucp\*(C'\fR. سازوکارهای شرح‌داده‌شده در زیر را در صورت استفاده از پیاده‌سازی دیگری از UUCP باید تطبیق دهید. (و اگر چنین کردید، لطفاً به نگهدارندگان INN دربارهٔ نحوهٔ راه‌اندازی خوراک با سایر پیاده‌سازی‌های UUCP اطلاع دهید تا بتوان آن را به این مستندات افزود.) .IP 1. 4 قبل از هر چیز، مطمئن شوید که \fBrnews\fR به درستی با بیت setuid برای \f(CW\*(C`news\*(C'\fR، مالکیت گروه \f(CW\*(C`uucp\*(C'\fR و با مجوز دسترسی (mode) \f(CW\*(C`4550\*(C'\fR نصب شده باشد. این کار به زیرسیستم UUCP اجازه می‌دهد تا \fBrnews\fR را برای پردازش دسته‌های UUCP از مقاله‌های خبری اجرا کند. پرچم \fB\-\-enable\-uucp\-rnews\fR در اسکریپت \f(CW\*(C`configure\*(C'\fR هنگام نصب INN این کار را انجام می‌دهد. در غیر این صورت، باید مجوزهای دسترسی روی \fBrnews\fR را به صورت دستی تغییر دهید. .IP 2. 4 بستهٔ \f(CW\*(C`uucp\*(C'\fR را نصب کنید. این بسته به‌ویژه uucico(8) و uux(1) را فراهم خواهد کرد. .IP 3. 4 کارگزارهای خبر راه‌دور را برای سرکشی (poll) و ساعت‌هایی را که در طول آن‌ها باید سرکشی شوند در \fI/etc/uucp/Poll\fR پیکربندی کنید. برای نمونه، اگر دسته‌های UUCP را هر ۴ ساعت یک‌بار به \f(CW\*(C`news.server.to.feed\*(C'\fR ارسال می‌کنید، می‌توانید از پیکربندی زیر استفاده کنید: .Sp .Vb 2 \& schedule news.server.to.feed 00 \& poll news.server.to.feed 00 04 08 12 16 20 .Ve .Sp اگر ارسال به صورت ساعتی است، فقط تمام ساعت‌ها را فهرست کنید. .IP 4. 4 اعتبارنامه‌ها (نام‌های کاربری و گذرواژه‌ها) را برای استفاده هنگام احراز هویت در برابر کارگزارهای خبر راه‌دور در \fI/etc/uucp/call\fR، به ازای هر خط یک مورد، پیکربندی کنید. برای نمونه: .Sp .Vb 1 \& news.server.to.feed login password .Ve .IP 5. 4 نام UUCP کارگزار خبر محلی را در \fI/etc/uucp/config\fR پیکربندی کنید. برای نمونه: .Sp .Vb 1 \& nodename my.news.server .Ve .IP 6. 4 بررسی کنید که \fI/etc/uucp/expire\fR از نظر تعداد روزهای نگهداری دسته‌ها و همچنین پیکربندی گزارش‌های روزانه با نیازهای شما مطابقت داشته باشد. مقادیر پیش‌فرض معمولاً مناسب هستند، هرچند ممکن است بخواهید گزارش روزانه را تنها در صورت وقوع رخدادهای غیرعادی دریافت کنید (و در این حالت، کافی است \&\f(CW\*(C`$important_only\*(C'\fR را روی \f(CW\*(C`1\*(C'\fR تنظیم نمایید). .IP 7. 4 اعتبارنامه‌هایی (نام‌های کاربری و گذرواژه‌های جداشده با کلید Tab) را که کارگزارهای خبر راه‌دور هنگام احراز هویت در برابر کارگزار خبر محلی استفاده می‌کنند در \fI/etc/uucp/passwd\fR، به ازای هر خط یک مورد، پیکربندی کنید. برای نمونه: .Sp .Vb 1 \& loginpassword .Ve .IP 8. 4 نحوهٔ اتصال کارگزارهای خبر راه‌دور به کارگزار خبر محلی را در \fI/etc/uucp/sys\fR پیکربندی کنید. یک مدخل متداول برای برقراری اتصال SSH مدخل زیر است که در آن \fIpathbin\fR باید به مسیر واقعی \fBrnews\fR تغییر یابد: .Sp .Vb 9 \& system news.server.to.feed \& call\-login * \& call\-password * \& commands /rnews \& time any \& chat "" \ed\ed\er\ec ogin: \ed\eL word: \eP \& chat\-timeout 120 \& protocol i \& port ssh.news.server.to.feed .Ve .IP 9. 4 نحوهٔ اتصال به کارگزارهای خبر راه‌دور را در \fI/etc/uucp/port\fR پیکربندی کنید. یک مدخل متداول برای برقراری اتصال SSH با استفاده از کلید خصوصی عبارت است از: .Sp .Vb 5 \& 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 .Ve .Sp که در آن \fIkey\fR مسیر کلید خصوصی مورد استفاده برای اتصال SSH است، مانند \fI/var/spool/uucp/.ssh/id_private_key\fR. .IP 10. 4 اطمینان حاصل کنید که مدیران کارگزارهای خبر راه‌دور، کلید عمومی مربوط به \fIid_private_key\fR را برای اتصالات به کاربر \f(CW\*(C`uucp\*(C'\fR در کارگزارهای خبر راه‌دور اضافه کرده باشند. .IP 11. 4 با فرض اینکه دایرکتوری خانگی کاربر \f(CW\*(C`uucp\*(C'\fR مسیر \fI/var/spool/uucp\fR باشد، باید کلیدهای SSH را در زیردایرکتوری \fI.ssh\fR پیکربندی کنید. ابتدا کلیدهای عمومی تمام کارگزارهای خبر راه‌دور را در \fIauthorized_keys\fR اضافه نمایید. یک مدخل متداول به صورت زیر است که باید در ۱ خط باشد (در اینجا برای نمایش مناسب در صفحهٔ man شکسته شده است): .Sp .Vb 3 \& 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 .Ve .Sp این کار تضمین می‌کند که از اتصال SSH برای هدفی غیر از تبادل دسته‌های UUCP استفاده نخواهد شد. .IP 12. 4 اطمینان حاصل کنید که \fIid_private_key\fR، همان‌طور که در \&\fI/etc/uucp/port\fR تنظیم شده است، به درستی وجود داشته باشد و تنها توسط کاربر \f(CW\*(C`uucp\*(C'\fR قابل خواندن باشد. .IP 13. 4 دستور تنظیم‌شده در \fI/etc/uucp/port\fR را به صورت دستی با کاربر \f(CW\*(C`uucp\*(C'\fR اجرا کنید تا فایل \fIknown_hosts\fR ایجاد شود و از صحت تنظیمات SSH اطمینان حاصل گردد. .Sp .Vb 1 \& /bin/ssh \-a \-x \-q \-i \-l uucp news.server.to.feed .Ve .IP 14. 4 خوراک ارسالی به کارگزارهای راه‌دور را پارامتربندی کنید. یک مدخل متداول در \&\fInewsfeeds\fR برای تولید دسته‌ها در \fIpathoutgoing\fR عبارت است از: .Sp .Vb 1 \& news.server.to.feed/pathname:*:Tf,Wnb,B4096/1024: .Ve .IP 15. 4 روش فشرده‌سازی، اندازهٔ دسته‌ها و زمان تولید آن‌ها را در فایل \fIsend\-uucp.cf\fR واقع در \fIpathetc\fR، همان‌طور که پیش‌تر در این مستندات شرح داده شد، تنظیم نمایید. .Sp .Vb 1 \& news.server.to.feed bzip2 1048576 3,7,11,15,19,23 .Ve .IP 16. 4 بررسی کنید که \fBsend-uucp\fR به صورت ساعتی در crontab توسط کاربر \f(CW\*(C`news\*(C'\fR اجرا شود. برای نمونه در \fI/etc/cron.d/inn2\fR: .Sp .Vb 1 \& 52 * * * * news /send\-uucp .Ve .Sp تنظیم زمان راه‌اندازی متفاوتی نسبت به کارگزارهای راه‌دورتان می‌تواند مفید باشد. برای نمونه، اگر شما دسته‌ها را هر ساعت در دقیقهٔ ۵۲ تولید کنید، یک همتای راه‌دور ممکن است همین کار را در دقیقهٔ ۲۲ انجام دهد. به این ترتیب، بسته به اینکه هر کدام چه زمانی متصل شوید، می‌توانید مقاله‌ها را با بسامد بیشتری تبادل کنید. .IP 17. 4 بررسی کنید که برنامه‌های UUCP به‌طور خودکار در crontab اجرا شوند (معمولاً \&\fBuudemon.hr\fR به‌صورت ساعتی در \fI/etc/cron.d/uucp\fR برای سرکشی کارگزارهای خبر راه‌دور و \fBuudemon.day\fR به‌صورت روزانه در \fI/etc/cron.daily/uucp\fR فراخوانی می‌شوند). .Sp همانند \fBsend-uucp\fR، زمان اجرا را تنظیم کنید تا تعداد و تازگی دسته‌ها برای تبادل به بیشترین مقدار برسد. .IP 18. 4 گزارش‌ها را در \fI/var/log/uucp\fR بررسی کنید تا از عملکرد درست همه‌چیز، چه سرکشی و چه ارسال، اطمینان حاصل نمایید. .Sp خواهید دید که \fBsend-uucp\fR دسته‌های \fBrnews\fR با نام‌هایی مانند \&\fID.0I8Y\fR را آماده می‌کند که توسط \fBuux\fR در صف قرار می‌گیرند. هنگامی که پس از آن \fBuucico\fR از طریق cron برای انتقال این دسته‌ها اجرا می‌شود، \fBuucico\fR دسته‌های موجود را به‌طور همزمان از سایت‌های راه‌دور دریافت می‌کند. این دسته‌های دریافت‌شده سپس توسط \fBuuxqt\fR که \fBrnews\fR را برای تزریق آن‌ها فراخوانی می‌کند، پردازش می‌شوند. .Sp همین! .SH "فایل‌ها (FILES)" .IX Header "FILES" .IP \fIpathbin\fR/send\-uucp 4 .IX Item "pathbin/send-uucp" خود اسکریپت پرل (Perl) که برای ایجاد دسته‌های خبری از فایل‌های خروجی استفاده می‌شود. .IP \fIpathetc\fR/send\-uucp.cf 4 .IX Item "pathetc/send-uucp.cf" فایل پیکربندی که فهرستی از سایت‌های مورد نظر برای پردازش را مشخص می‌کند. .IP \fIpathlog\fR/send\-uucp.log 4 .IX Item "pathlog/send-uucp.log" فایل گزارش که در صورت در دسترس نبودن سرویس syslog استفاده می‌شود. .SH "تاریخچه (HISTORY)" .IX Header "HISTORY" این برنامه در ابتدا توسط Edvard Tuinder نوشته شد و سپس توسط Miquel van Smoorenburg نگهداری و گسترش یافت. Marco d'Itri کد را برای گنجاندن در INN پاکسازی کرد. این صفحهٔ راهنما در ابتدا توسط Mark Brown نوشته شد و روند دقیق راه‌اندازی خوراک UUCP توسط Julien Élie اضافه گردید. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" innd(8), newsfeeds(5), uucp(8).