.\" -*- 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 "HISTORY 5" .TH HISTORY 5 2022-07-10 "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)" history \- فایل پایگاه‌داده تاریخچه پیام‌های یوزنت در INN .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" پرونده \fIpathdb\fR/history سابقه تمام پیام‌هایی را که در حال حاضر در سامانه خبری ذخیره شده‌اند، و همچنین پیام‌هایی را که دریافت شده اما از آن زمان منقضی شده‌اند، نگهداری می‌کند. در یک محیط عملیاتی معمولی، اندازه این پرونده چندین مگابایت خواهد بود. .PP این پرونده از خطوط متنی تشکیل شده است. هر خط با یک پیام مطابقت دارد. این پرونده معمولاً به ترتیبی که پیام‌ها دریافت می‌شوند مرتب نگه‌داشته می‌شود، اگرچه این یک الزام نیست. دیمن \fBinnd\fR هر بار که پیامی را ثبت می‌کند، یک خط جدید به انتهای پرونده می‌افزاید، و ابزار \fBexpire\fR با حذف پیام‌های قدیمی و پاکسازی مدخل‌های گذشته، نسخه جدیدی از پرونده را می‌سازد. .PP هر خط از دو یا سه فیلد تشکیل شده است که با یک نویسه تب از هم جدا می‌شوند، که در زیر به صورت \f(CW\*(C` \et \*(C'\fR نشان داده شده است: .PP .Vb 2 \& [hash] \et date \& [hash] \et date \et @token@ .Ve .PP فیلد \fIhash\fR نمایش اسکی (ASCII) هش فیلد Message-ID پیام است. این مقدار مستقیماً به عنوان کلید پایگاه‌داده \fIdbz\fR استفاده می‌شود. .PP فیلد \fIdate\fR از سه زیرفیلد تشکیل شده است که با علامت مدک (~) از هم جدا می‌شوند. تمام زیرفیلدها نمایش متنی تعداد ثانیه‌های گذشته از مبدأ زمان (epoch) هستند، یعنی یک مقدار \fItime_t\fR مانند آنچه در \f(CW\*(C`gettimeofday(2)\*(C'\fR وجود دارد. اولین زیرفیلد، تاریخ دریافت پیام است. اگر نسخه‌هایی از پیام هنوز در سیستم موجود باشند، زیرفیلد دوم یا مقدار فیلد سرآیند Expires پیام است، یا اگر تاریخ انقضایی مشخص نشده باشد یک خط پیوند (\-) خواهد بود. اگر پیام منقضی شده باشد، زیرفیلد دوم یک خط پیوند (\-) خواهد بود. سومین زیرفیلد مقدار فیلد سرآیند Date پیام است که زمان ارسال آن را ثبت می‌کند. .PP فیلد \fItoken\fR شناسه ذخیره‌سازی (توکن) پیام است. اگر پیام منقضی شده باشد، این فیلد خالی خواهد بود. .PP به عنوان مثال، پیامی با شناسه (Message-ID) به صورت <7q2saq$sal$1@isrv4.pa.vix.com> که در تاریخ 26 Aug 1999 08:02:34 GMT ارسال شده و در تاریخ 26 Aug 1999 08:06:54 GMT دریافت گردیده است، می‌تواند دارای یک خط تاریخچه (که در اینجا برای نمایش به سه خط شکسته شده است) مانند زیر باشد: .PP .Vb 3 \& [E6184A5BC2898A35A3140B149DE91D5C] \et \& 935678987~\-~935678821 \et \& @030154574F00000000000007CE3B000004BA@ .Ve .PP علاوه بر پرونده متنی، یک پایگاه‌داده \fIdbz\fR نیز وابسته به این پرونده است که از فیلد Message-ID به عنوان کلید برای تعیین موقعیت شروع خط مرتبط (آفست) در پرونده متنی استفاده می‌کند. به دلایل تاریخی، این کلید شامل بایت پایانی \f(CW\*(C`\e0\*(C'\fR نیز می‌شود (که در پرونده متنی ذخیره نمی‌شود). .SH "تاریخچه (HISTORY)" .IX Header "HISTORY" نوشته‌شده توسط Rich $alz برای InterNetNews. بازنویسی‌شده به فرمت POD توسط Julien Elie. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" expire(8), inn.conf(5), innd(8), libinn_dbz(3), makehistory(8).