.\" -*- 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 "OVDB_INIT 8" .TH OVDB_INIT 8 2023-03-07 "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)" ovdb_init \- راه‌اندازی و بازیابی پایگاه داده overview در INN .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBovdb_init\fR [\fB\-r\fR|\fB\-u\fR] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" این دستور باید پیش از آنکه هر فرآیند دیگری بتواند به پایگاه داده overview دسترسی یابد اجرا شود. .B ovdb_init معمولاً هنگام شروع سیستم اخبار به‌طور خودکار توسط .B rc.news فراخوانی می‌شود. .PP دستور .B ovdb_init مراحل زیر را انجام می‌دهد: .IP 1. 4 محیط پایگاه داده را، در صورت لزوم، ایجاد می‌کند. .IP 2. 4 اگر پایگاه داده بیکار باشد (و اگر گزینه .B \-u مشخص نشده باشد)، یک بازیابی معمولی انجام می‌دهد. این بازیابی قفل‌های بی‌استفاده و مانده را حذف کرده، حافظه نهان استخر حافظه را دوباره ایجاد می‌کند و هرگونه آسیب ناشی از خرابی سیستم یا خاموش شدن نامناسب را ترمیم می‌نماید. .IP 3. 4 اگر گزینه .B \-u مشخص شده باشد، هرگونه ارتقای لازم را روی پایگاه داده انجام می‌دهد. بخش «ارتقا (UPGRADING)» را در زیر ببینید. .IP 4. 4 فرآیندهای نگهداری و خانه‌داری پایگاه داده .RB ( ovdb_monitor ) را در صورتی که از قبل در حال اجرا نباشند، راه‌اندازی می‌کند (مگر اینکه گزینه .B \-r مشخص شده باشد). .IP 5. 4 اگر .I readserver در .I ovdb.conf برابر true باشد و فرآیندهای readserver مربوط به ovdb .RB ( ovdb_server ) از قبل در حال اجرا نباشند، آن‌ها را راه‌اندازی می‌کند (مگر اینکه گزینه .B \-r مشخص شده باشد). .PP در صورتی که تمام مراحل با موفقیت انجام شوند، وضعیت خروج \f(CW\*(C`0\*(C'\fR برمی‌گرداند. در صورت بروز خطا، پیام‌ها در syslog یا stderr نوشته می‌شوند. .PP اگر تلاش برای بازیابی صورت گیرد اما با شکست مواجه شود، ممکن است پایگاه داده فراتر از حد ترمیم آسیب دیده باشد و نیاز به بازسازی مجدد با .B makehistory داشته باشد. .PP این دستور می‌تواند چندین بار اجرا شود. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB\-r\fR 4 .IX Item "-r" فقط بازیابی را انجام می‌دهد. .B ovdb_monitor راه‌اندازی نمی‌شود. .IP \fB\-u\fR 4 .IX Item "-u" هرگونه ارتقای مورد نیاز را انجام می‌دهد. تلاشی برای بازیابی صورت نمی‌گیرد. در صورت موفقیت ارتقا، .B ovdb_monitor راه‌اندازی می‌شود. .Sp این گزینه حتی اگر نیازی به ارتقا نباشد نیز قابل استفاده است. .SH "ارتقا (UPGRADING)" .IX Header "UPGRADING" دو وضعیت وجود دارد که در آن‌ها پایگاه داده نیاز به ارتقا خواهد داشت: .IP \(bu 4 شما کتابخانه Berkeley\ DB را به نسخه‌ای جدیدتر ارتقا دهید، برای مثال از 2.7.7 به 3.1.17. در این حالت، از متد \f(CW\*(C`db\->upgrade()\*(C'\fR مربوط به Berkeley\ DB استفاده می‌شود. .IP \(bu 4 شما ovdb را به نسخه اصلی (major) جدیدتری ارتقا دهید؛ یعنی از ovdb\-1.0 (عرضه‌شده همراه با INN\ 2.3.0 تا INN\ 2.3.5) به ovdb\-2.0 (از INN\ 2.4.0 به بعد). .PP در هر دو مورد، پایگاه داده در جا (in-place) ارتقا می‌یابد و ارتقا قابل بازگشت نیست. فرآیند ارتقا را پس از شروع متوقف نکنید، زیرا خطر خرابی غیرقابل جبران وجود دارد. تکمیل ارتقا ممکن است چندین دقیقه طول بکشد. اگر فرآیند ارتقا متوقف شد، دوباره آن را اجرا کنید. .PP در اینجا یک روش نمونه برای ارتقای پایگاه داده ایجادشده با Berkeley\ DB\ 2.7.7 جهت استفاده از Berkeley\ DB\ 3.1.17 آورده شده است: .IP 1. 4 نسخه Berkeley\ DB\ 3.1.17 را کامپایل و نصب کنید؛ .IP 2. 4 دستور .B configure را در درخت سورس INN اجرا کرده و مطمئن شوید که دایرکتوری مناسب Berkeley\ DB را شناسایی می‌کند (مثلاً .IR /usr/local/BerkeleyDB.3.1 )؛ .IP 3. 4 دستور \f(CW\*(C`make\*(C'\fR را اجرا کنید؛ .IP 4. 4 سرویس INN را متوقف کنید (مثلاً با \f(CW\*(C`rc.news stop\*(C'\fR) و حتماً تمام نمونه‌های .B nnrpd را نیز متوقف سازید؛ .IP 5. 4 دستور \f(CW\*(C`make update\*(C'\fR را برای نصب باینری‌های جدید اجرا کنید؛ .IP 6. 4 دستور \f(CW\*(C`ovdb_init \-u\*(C'\fR را به عنوان کاربر news اجرا کنید؛ .IP 7. 4 سرویس INN را با دستور \f(CW\*(C`rc.news\*(C'\fR راه‌اندازی کنید. .SH "تاریخچه (HISTORY)" .IX Header "HISTORY" نوشته‌شده توسط Heath Kehoe برای InterNetNews. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" ovdb(5), makehistory(8), rc.news(8).