.TH MAIRIXRC 5 "January 2006" .de Sx .PP .ne \\$1 .nf .na .RS 12 .. .de Ex .RE .fi .ad .IP "" 7 .. .SH "نام (NAME)" mairixrc \- پرونده پیکربندی mairix .SH "خلاصه دستور (SYNOPSIS)" $HOME/.mairixrc .SH "توضیحات (DESCRIPTION)" .PP پروندهٔ .I mairixrc به .B mairix اعلام می‌کند که پوشه‌های رایانامه (ایمیل) شما در کجا قرار دارند. همچنین به .B mairix می‌گوید که نتایج جستجوها در کجا باید نوشته شوند. .PP .B mairix این پرونده را در مسیر .I $HOME/.mairixrc جستجو می‌کند، مگر اینکه از گزینهٔ .B \-f استفاده شده باشد. .PP دستورالعمل‌های .BR base ، .BR mfolder و .B database باید همواره در پرونده وجود داشته باشند. همچنین باید دست‌کم چند تعریف پوشه (با استفاده از دستورالعمل‌های .BR maildir ، .BR mh یا .BR mbox ) حضور داشته باشد. .SS "کامنت‌ها (Comments)" هر خطی که با نویسهٔ '#' آغاز شود به عنوان یک کامنت (توضیح) در نظر گرفته می‌شود. .SS "دستورالعمل‌ها (Directives)" .TP .BI base= base-directory .br مسیر دایرکتوری والد مشترک تمام پوشه‌های maildir شما را مشخص می‌کند. .TP .BI imap_server= hostname .br اگر هرگونه پوشهٔ منبع IMAP مشخص شده باشد یا پوشهٔ نتایج یک پوشهٔ IMAP باشد، نام میزبان کارساز IMAP را مشخص می‌کند. درگاه (port) در حال حاضر همواره ۱۴۳ است. این گزینه با گزینهٔ 'imap_pipe' ناسازگار بوده و مانعة‌الجمع است. .TP .BI imap_pipe= shell-command .br اگر هرگونه پوشهٔ منبع IMAP مشخص شده باشد یا پوشهٔ نتایج یک پوشهٔ IMAP باشد، یک دستور پوسته را مشخص می‌کند که می‌تواند برای اتصال به کارساز IMAP و ارتباط با آن از طریق لوله‌های یونیکس (UNIX pipes) به جای اتصال TCP/IP استفاده شود. این گزینه با گزینهٔ 'imap_server' مانعة‌الجمع است. .TP .BI imap_username= username .br اگر هرگونه پوشهٔ منبع IMAP مشخص شده باشد یا پوشهٔ نتایج یک پوشهٔ IMAP باشد، نام کاربری مورد استفاده برای ورود به کارساز IMAP را مشخص می‌کند. این پارامتر اختیاری است، اما کارسازهای IMAP معمولاً از کلاینت‌ها می‌خواهند وارد سیستم شوند، بنابراین تعیین آن معمولاً ضروری است. یک نمونه از مواردی که به آن نیازی نیست، زمانی است که گزینهٔ 'imap_pipe' در حال استفاده است و دستور پوسته یک اتصال در وضعیت از پیش احرازهویت‌شده (pre-authenticated) با کارساز IMAP برقرار کرده است. .TP .BI imap_password= password .br اگر هرگونه پوشهٔ منبع IMAP مشخص شده باشد یا پوشهٔ نتایج یک پوشهٔ IMAP باشد، گذرواژهٔ مورد استفاده برای ورود به کارساز IMAP را مشخص می‌کند. این پارامتر اختیاری است، اما کارسازهای IMAP معمولاً از کلاینت‌ها می‌خواهند وارد سیستم شوند، بنابراین تعیین آن معمولاً ضروری است. .TP .BI maildir= list-of-folder-specifications فهرستی جداشده با دونقطه (colon-separated) از پوشه‌های Maildir (نسبت به `base') است که می‌خواهید نمایه شوند. هر ورودی که به `...' ختم شود، به صورت بازگشتی پیمایش می‌شود تا هرگونه پوشهٔ Maildir زیر آن پیدا شود. .PP می‌توان بیش از یک خط که با `maildir' آغاز می‌شود درج کرد. در این حالت، mairix خطوط را همانند اینکه فهرستی منفرد از پوشه‌ها در یک خط بسیار طولانی داده شده باشد، با دونقطه به یکدیگر متصل می‌کند. .PP هر ورودی جداشده با دونقطه می‌تواند یک wildcard باشد. برای ساختار نگارشی wildcardها توضیحات ذیل mbox (در ادامه) را ببینید. برای مثال: .Sx 1 maildir=zzz/foo*... .Ex پوشه‌های maildir مانند موارد زیر را تطبیق خواهد داد (نسبت به .IR base-directory ): .Sx 4 zzz/foobar/xyz zzz/fooquux zzz/foo zzz/fooabc/u/v/w .Ex .PP و .Sx 1 maildir=zzz/foo[abc]* .Ex پوشه‌های maildir مانند موارد زیر را تطبیق خواهد داد (نسبت به folder_base): .Sx 4 zzz/fooa zzz/fooaaaxyz zzz/foobcd zzz/fooccccccc .Ex اگر نام یک پوشه حاوی دونقطه باشد، می‌توانید با استفاده از توالی '\\:' دونقطه را اسکیپ کنید. در غیر این صورت، با نویسهٔ بک‌اسلش به صورت عادی رفتار می‌شود. (اگر نام پوشه واقعاً حاوی توالی '\\:' باشد، متأسفانه کاری نمی‌توان کرد.) .TP .BI mh= list-of-folder-specifications .br فهرستی جداشده با دونقطه از پوشه‌های MH (نسبت به `base') است که می‌خواهید نمایه شوند. هر ورودی که به '...' ختم شود، به صورت بازگشتی برای یافتن هرگونه پوشهٔ MH زیر آن پیمایش می‌شود. .PP می‌توان بیش از یک خط که با 'mh' آغاز می‌شود درج کرد. در این حالت، mairix خطوط را همانند اینکه فهرستی منفرد از پوشه‌ها در یک خط بسیار طولانی داده شده باشد، با دونقطه به یکدیگر متصل می‌کند. .PP هر ورودی جداشده با دونقطه می‌تواند یک wildcard باشد؛ برای ساختار نگارشی و مفاهیم تعیین wildcardها، توضیحات ذیل maildir (در بالا) و mbox (در ادامه) را ببینید. .PP .B mairix انواع پوشه‌های MH ایجاد شده توسط برنامه‌های رایانامه زیر را می‌شناسد: .RS 7 .IP "*" xmh .IP "*" sylpheed .IP "*" claws-mail .IP "*" evolution .IP "*" NNML .IP "*" Mew .RE .TP .BI mbox= list-of-folder-specifications .br فهرستی جداشده با دونقطه از پوشه‌های mbox یا MMDF (نسبت به `base') است که می‌خواهید نمایه شوند. .PP هر مورد جداشده با دونقطه در فهرست می‌تواند دارای پسوند '...' باشد. اگر مورد با یک پروندهٔ معمولی مطابقت داشته باشد، با آن پرونده به عنوان یک پوشهٔ mbox رفتار می‌شود و پسوند '...' نادیده گرفته می‌شود. اگر مورد با یک دایرکتوری مطابقت داشته باشد، یک پیمایش بازگشتی روی تمام محتویات درون آن دایرکتوری انجام می‌شود و تمام پرونده‌های معمولی ابتدا به عنوان پوشه‌های mbox/MMDF در نظر گرفته می‌شوند. (هر دایرکتوری که در این پیمایش یافت شود، خود مجدداً پیمایش می‌شود، زیرا این پیمایش بازگشتی است.) .PP هر مورد جداشده با دونقطه ممکن است شامل عملگرهای wildcard باشد، اما تنها در آخرین بخش مسیر آن. عملگرهای wildcard که در حال حاضر پشتیبانی می‌شوند عبارتند از: .TP * .br تطبیق صفر یا چند نویسه (هر نویسهٔ تطبیق‌یافته دلخواه است) .TP ? .br تطبیق دقیقاً یک نویسهٔ دلخواه .TP [abcs-z] .br کلاس نویسه: تطبیق یک نویسهٔ منفرد از مجموعهٔ a, b, c, s, t, u, v, w, x, y و z. .PP برای گنجاندن نویسهٔ ']' واقعی در کلاس، آن را بلافاصله پس از '[' آغازین قرار دهید. برای گنجاندن نویسهٔ '-' واقعی در کلاس، آن را بلافاصله پیش از ']' پایانی قرار دهید. .PP اگر این فرا‌نویسه‌ها (metacharacters) در بخش‌های غیرپایانی مسیر گنجانده شوند، هیچ معنای خاصی نخواهند داشت. .PP چند مثال: .TP mbox=foo/bar* .br تطبیق با 'foo/bar' ،'foo/bar1' ،'foo/barrrr' و غیره .TP mbox=foo*/bar* .br تطبیق با 'foo*/bar' ،'foo*/bar1' ،'foo*/barrrr' و غیره .TP mbox=foo/* .br تطبیق با 'foo/bar' ،'foo/bar1' ،'foo/barrrr' ،'foo/foo' ،'foo/x' و غیره .TP mbox=foo... .br تطبیق با هر پروندهٔ معمولی در درخت دایرکتوری به ریشهٔ 'foo' .TP mbox=foo/*... .br مشابه مورد پیشین .TP mbox=foo/[a-z]*... .br تطبیق با 'foo/a' ،'foo/aardvark/xxx' ،'foo/zzz/foobar' و 'foo/w/x/y/zzz'، اما نه 'foo/A/foobar' .PP پرونده‌های معمولی که کاندیدای پوشهٔ mbox هستند به صورت داخلی بررسی می‌شوند. تنها پرونده‌هایی که شامل خطوط جداکنندهٔ استاندارد mbox یعنی 'From ' یا MMDF یعنی \'^A^A^A^A' باشند برای یافتن پیام‌ها پیمایش می‌شوند. .PP اگر یک پروندهٔ معمولی نامی با پسوند '.gz' داشته باشد و پشتیبانی از gzip در باینری .B mairix کامپایل شده باشد، پرونده به عنوان یک mbox فشرده با gzip در نظر گرفته می‌شود. .PP اگر یک پروندهٔ معمولی نامی با پسوند '.bz2' داشته باشد و پشتیبانی از bzip در باینری .B mairix کامپایل شده باشد، پرونده به عنوان یک mbox فشرده با bzip2 در نظر گرفته می‌شود. .PP می‌توان بیش از یک خط که با 'mbox' آغاز می‌شود درج کرد. در این حالت، .B mairix خطوط را همانند اینکه فهرستی منفرد از پوشه‌ها در یک خط بسیار طولانی داده شده باشد، با دونقطه به یکدیگر متصل می‌کند. .PP .B mairix هنگام دسترسی به پوشه‌های mbox هیچ‌گونه قفل‌گذاری (locking) روی آن‌ها انجام نمی‌دهد. اگر یک برنامهٔ تحویل رایانامه هم‌زمان در حال تغییر mbox باشد، احتمال دارد که یک یا چند پیام در mbox هرگز توسط .B mairix نمایه نشوند (دست‌کم تا زمانی که پایگاه داده حذف و از ابتدا دوباره ساخته شود). فرض بر این است که .B mairix برای نمایه کردن پوشه‌های بایگانی استفاده خواهد شد تا پوشه‌های ورودی جدید، بنابراین بعید است این موضوع در عمل مشکل چندانی ایجاد کند. .PP .B mairix می‌تواند حداکثر از ۶۵۵۳۶ پروندهٔ mbox مجزا و حداکثر از ۶۵۵۳۶ پیام درون هر mbox پشتیبانی کند. .TP .BI imap= list-of-folders .br فهرستی جداشده با دونقطه از پوشه‌های IMAP است که می‌خواهید نمایه شوند. .PP این پوشه‌ها همگی باید در یک حساب کاربری یکسان بر روی یک کارساز IMAP یکسان قرار داشته باشند. گزینه‌های پیکربندی imap_server و imap_pipe نحوهٔ اتصال به کارساز IMAP را مشخص می‌کنند. .PP می‌توان بیش از یک خط که با 'imap' آغاز می‌شود درج کرد. در این حالت، .B mairix خطوط را همانند اینکه فهرستی منفرد از پوشه‌ها در یک خط بسیار طولانی داده شده باشد، با دونقطه به یکدیگر متصل می‌کند. .TP .BI omit= list-of-glob-patterns فهرستی جداشده با دونقطه از الگوهای تطبیق (glob patterns) برای پوشه‌هایی است که باید از فرایند نمایه‌سازی حذف شوند. این ویژگی امکان استفاده از wildcardهای گسترده و عناصر بازگشتی را در دستورالعمل‌های .BR maildir ، .BR mh و .B mbox فراهم می‌کند، در حالی که از گزینهٔ .B omit برای حذف انتخابی پوشه‌های ناخواسته از فهرست پوشه‌ها استفاده می‌شود. .PP درون الگوهای glob، یک '*' منفرد با هر توالی از نویسه‌ها غیر از '/' مطابقت دارد. اما '**' با هر توالی از نویسه‌ها شامل '/' مطابقت دارد. این قابلیت امکان ساخت الگوهای glob را فراهم می‌کند که دارای wildcard برای تنها یک جزء دایرکتوری یا هر تعداد جزء دایرکتوری باشند. .PP گزینهٔ .B omit می‌تواند به هر تعداد بار که نیاز باشد تعیین شود تا نیازی به گنجاندن کل فهرست الگوها در یک خط نباشد. .PP به عنوان مثال: .Sx 2 mbox=bulk... omit=bulk/spam* .Ex تمام پوشه‌های mbox را در هر سطحی زیر زیرشاخهٔ 'bulk' از پوشهٔ base نمایه می‌کند، به جز پوشه‌هایی که نام آن‌ها با 'bulk/spam' آغاز می‌شود، مانند 'bulk/spam' ،'bulk/spam2005' و غیره. .PP در مقابل: .Sx 2 mbox=bulk... omit=bulk/spam** .Ex تمام پوشه‌های mbox را در هر سطحی زیر زیرشاخهٔ 'bulk' از پوشهٔ base نمایه می‌کند، به جز پوشه‌هایی که نام آن‌ها با 'bulk/spam' آغاز می‌شود، مانند 'bulk/spam' ،'bulk/spam2005' ،'bulk/spam/2005' ،'bulk/spam/2005/jan' و غیره. .TP .B nochecks این دستورالعمل هیچ آرگومانی نمی‌پذیرد. اگر خطی با .B nochecks شروع شود، معادل تعیین پرچم .B \-Q در هر بار اجرای نمایه‌سازی است. .TP .BI mfolder= match-folder-name نام پوشه‌ای را (درون دایرکتوری مشخص‌شده توسط .BR base ) تعیین می‌کند که حالت جستجو خروجی خود را در آن می‌نویسد. (اگر مقدار .B mformat استفاده‌شده 'raw' یا 'excerpt' باشد، این تنظیم استفاده نمی‌شود و می‌توان از آن صرف‌نظر کرد.) .PP تنظیم .B mfolder می‌تواند برای یک جستجوی خاص با استفاده از گزینهٔ .B \-o در .B mairix نادیده گرفته و جایگزین شود. .PP .B mairix از نوشتن نتایج جستجو در پوشه‌ای که به نظر می‌رسد در میان پوشه‌های نمایه‌شده است خودداری می‌کند. این کار برای جلوگیری از حذف تصادفی رایانامه‌ها انجام می‌شود. .PP اگر نخستین نویسهٔ مقدار mfolder برابر '/' یا '.' باشد، به عنوان یک نام مسیر مستقل در نظر گرفته می‌شود. این امر به شما امکان می‌دهد مسیرهای مطلق و مسیرهای نسبی نسبت به دایرکتوری جاری را برای محل نوشتن mfolder مشخص کنید. در غیر این صورت، مقدار mfolder به انتهای مقدار base اضافه می‌شود، همان‌طور که برای پوشه‌های منبع انجام می‌شد. .TP .BI mformat= format نوع پوشهٔ مورد استفاده برای پوشهٔ تطبیق (که نتایج جستجو به آنجا می‌روند) را تعیین می‌کند. شش مقدار معتبر برای .I format وجود دارد، یعنی 'maildir' ،'mh' ،'mbox' ،'imap' ،'raw' یا 'excerpt' (نتایج جستجوی MMDF پشتیبانی نمی‌شوند). اگر تنظیم 'raw' استفاده شود، .B mairix تنها مسیر پرونده‌های تطبیق‌یافته را چاپ خواهد کرد و هیچ پوشهٔ تطبیقی ایجاد نخواهد شد. اگر از تنظیم 'excerpt' استفاده شود، .B mairix همچنین سرآیندهای Date: ،Subject: ،From: ،Cc: ،To: از پیام‌های تطبیق‌یافته را چاپ خواهد کرد. در صورت عدم تعیین این گزینه، پیش‌فرض 'maildir' است. این تنظیم به حروف بزرگ و کوچک حساس نیست. .TP .BI database= path-to-database .br مسیری را مشخص می‌کند که پایگاه دادهٔ نمایهٔ .B mairix در آن نگهداری می‌شود. شما می‌توانید این پرونده را در هر کجایی که تمایل دارید نگهداری کنید. .PP در حال حاضر، .B mairix یک پروندهٔ پایگاه دادهٔ منفرد را در مکان مشخص‌شده توسط .I path-to-database قرار می‌دهد. با این حال، نسخهٔ آیندهٔ .B mairix ممکن است به جای آن یک دایرکتوری حاوی چندین پرونده در این مکان قرار دهد. .PP .I path-to-database باید یک مسیر مطلق باشد (که با '/' آغاز می‌شود). اگر از یک مسیر نسبی استفاده شود، نسبت به دایرکتوری جاری در زمان اجرای .B mairix تفسیر خواهد شد .RB ( نه نسبت به مکان پروندهٔ .I mairixrc یا نظایر آن). .TP .BI follow_mbox_symlinks .br این دستورالعمل هیچ آرگومانی نمی‌پذیرد. به طور پیش‌فرض، mairix پیوندهای نمادین (symlinks) به پرونده‌های mbox یا MMDF را هنگام نمایه‌سازی نادیده می‌گیرد. اگر خطی با .B follow_mbox_symlinks وجود داشته باشد، mairix به جای نادیده گرفتن، آن‌ها را دنبال خواهد کرد. .TP .BI sort=date+ .br نتایج جستجو به ترتیب صعودی تاریخ مرتب خواهند شد. هیچ مقدار دیگری برای sort در حال حاضر پذیرفته نمی‌شود. در صورت نبود این ورودی، نتایج مرتب‌نشده خواهند بود. .SS "گسترش‌ها (Expansions)" بخشی از هر خط در '.mairixrc' پس از علامت مساوی می‌تواند شامل انواع گسترش زیر باشد: .TP .B "گسترش دایرکتوری خانگی (Home directory expansion)" اگر توالی '~/' در آغاز متن پس از علامت مساوی ظاهر شود، به دایرکتوری خانگی کاربر گسترش می‌یابد. مثال: .Sx 1 database=~/Mail/mairix_database .Ex .TP .B "گسترش متغیرهای محیطی (Environment expansion)" اگر یک '$' با توالی‌ای از نویسه‌های الفبایی-عددی (یا '_') دنبال شود، کل رشته با جستجوی متغیر محیطی متناظر جایگزین می‌شود. به طور مشابه، اگر '$' با یک آکولاد باز ('{') دنبال شود، همه چیز تا آکولاد بستهٔ بعدی به عنوان متغیر محیطی جستجو می‌شود و نتیجه جایگزین کل توالی خواهد شد. .PP فرض کنید در پوسته دستور زیر را اجرا کنیم: .Sx 1 export FOO=bar .Ex و پروندهٔ '.mairixrc' حاوی موارد زیر باشد: .Sx 2 maildir=xxx/$FOO mbox=yyy/a${FOO}b .Ex این معادل است با: .Sx 2 maildir=xxx/bar mbox=yyy/abarb .Ex اگر متغیر محیطی مشخص‌شده تنظیم نشده باشد، مقدار جایگزین رشتهٔ خالی خواهد بود. .SH "نکات (NOTES)" .PP یک مسیر جایگزین برای پروندهٔ پیکربندی می‌تواند با گزینهٔ .B \-f به .BR mairix (1) داده شود.