.\" Man page for format of the manpath.config data file .\" .\" Copyright (C) 1994, 1995 Graeme W. Wilford. (Wilf.) .\" Copyright (C) 2001-2019 Colin Watson. .\" .\" You may distribute under the terms of the GNU General Public .\" License as specified in the file docs/COPYING.GPLv2 that comes with the .\" man-db distribution. .\" .TH "MANPATH" "5" "مه ۲۰۲۵" "man-db" "فایلهای پیکربندی" .SH "نام (NAME)" manpath.config \- ساختار و قالب فایل پیکربندی مسیرهای صفحات راهنما .SH "توضیحات (DESCRIPTION)" فایل \fImanpath.config\fR توسط ابزارهای پایگاه داده صفحات راهنما (man-db) برای مشخص کردن مسیرهای سیستم، نگاشت دایرکتوریهای باینری به دایرکتوریهای man، و درختهای سلسلهمراتبی صفحات راهنما استفاده میشود. این فایل در زمان اجرا مسیرهای راهنما (manpaths) را برای کاربران ارزیابی می‌کند، مشخص می‌سازد کدام سلسله‌مراتب صفحات راهنما به عنوان سلسله‌مراتب‌های سیستمی تلقی شوند و چه دایرکتوری‌هایی برای ذخیره فایل‌های cat (صفحات پیش‌فرمت‌شده) به آن‌ها اختصاص یابد. .PP چنانچه متغیر محیطی .B $MANPATH از قبل مقداردهی شده باشد، اطلاعات موجود در .I /etc/manpath.config آن را بازنویسی نخواهد کرد. .SH "مسیر جستجو (SEARCH PATH)" به‌طور پیش‌فرض، man-db متغیر محیطی .B $PATH کاربر را بررسی می‌کند. به ازای هر .I path_element که در آن یافت شود، .I manpath_element را به مسیر جستجو اضافه می‌کند. .PP اگر هیچ خط .B MANPATH_MAP در فایل پیکربندی برای یک .I path_element معین وجود نداشته باشد، تمام موارد .IR path_element/../man , .IR path_element/man , .IR path_element/../share/man و .I path_element/share/man که به عنوان دایرکتوری وجود داشته باشند را به مسیر جستجو می‌افزاید. .PP سپس هر مدخل .B MANDATORY_MANPATH از فایل پیکربندی را به مسیر جستجو اضافه می‌کند. .PP در نهایت، اگر گزینه .B \-\-systems به کار رود یا متغیر محیطی .B $SYSTEM تنظیم شده باشد، آنگاه مقدار آن باید شامل دنباله‌ای از نام‌های سیستم‌عامل باشد که با کاما یا دونقطه از هم جدا شده‌اند. این به عنوان یک الگو عمل می‌کند و مسیر جستجو را یک بار دیگر گسترش می‌دهد تا امکان دسترسی به صفحات راهنمای سایر سیستم‌عامل‌ها فراهم شود: به ازای هر نام سیستم، man-db آن نام را به عنوان یک زیرشاخه در هر ورودی مسیر جستجو بررسی کرده و در صورت وجود، آن را به مسیر جستجوی نهایی می‌افزاید. نام سیستمی با مقدار .B man مسیر جستجوی عادی را بدون زیرشاخه‌ها درج می‌کند. .PP برای نمونه، اگر مسیر جستجو در حالت عادی .I /usr/share/man:/usr/local/man می‌بود، و .B $SYSTEM روی .I newOS:man تنظیم شده باشد، آنگاه مسیر جستجوی نهایی به صورت زیر خواهد بود: .PP .nf /usr/share/man/newOS:/usr/share/man:/usr/local/man/newOS:/usr/local/man .fi .PP متغیر محیطی .B $MANPATH مسیرهای پیش‌فرض جستجوی صفحات راهنمای man-db را لغو و بازنویسی می‌کند. اکثر کاربران نیازی به تنظیم آن ندارند. ساختار آن مشابه متغیر محیطی .B $PATH است: از دنباله‌ای از نام‌های دایرکتوری تشکیل شده که با دونقطه از هم جدا شده‌اند. این متغیر بر مسیر جستجوی پیش‌فرض شرح داده شده در بالا اولویت دارد. .PP اگر مقدار .B $MANPATH با دونقطه آغاز شود، مسیر جستجوی پیش‌فرض به ابتدای آن اضافه می‌شود. .PP اگر مقدار .B $MANPATH به دونقطه ختم شود، مسیر جستجوی پیش‌فرض به انتهای آن افزوده می‌شود. .PP اگر مقدار .B $MANPATH شامل دو دونقطه پشت سر هم .RB ( :: ) باشد، مسیر جستجوی پیش‌فرض در میانه مقدار و بین دو دونقطه درج می‌گردد. .SH "قالب (FORMAT)" انواع فیلدهای زیر در حال حاضر شناخته می‌شوند: .TP .BI # \ comment خطوط خالی یا خطوطی که با .B # شروع می‌شوند به عنوان توضیح (کامنت) در نظر گرفته شده و نادیده گرفته می‌شوند. .TP .BI MANDATORY_MANPATH \ manpath_element خطوط با این قالب، مسیرهای راهنمایی را مشخص می‌کنند که هر .B $MANPATH تولیدشده به صورت خودکار باید شامل آن‌ها باشد. این معمولاً شامل .I /usr/man یا .I /usr/share/man می‌شود. .TP .BI MANPATH_MAP \ path_element\ manpath_element خطوط با این قالب نگاشت‌های .B $PATH به .B $MANPATH را تنظیم می‌کنند. به ازای هر .I path_element یافت‌شده در .B $PATH کاربر، .I manpath_element به .B $MANPATH اضافه خواهد شد. .TP \fBMANDB_MAP \fImanpath_element \fR\|[\| \fIcatpath_element\fR \|] خطوط با این فرم مشخص می‌کنند کدام مسیرهای راهنما به عنوان مسیرهای راهنمای سیستمی در نظر گرفته شوند، و به صورت اختیاری فایل‌های cat آن‌ها در کجا باید ذخیره گردد. این نوع فیلد به ویژه هنگامی مهم است که .B man یک برنامه با بیت setuid باشد، زیرا (هنگامی که به جای فایل پیکربندی هر کاربر یعنی .manpath در فایل پیکربندی سیستم یعنی /etc/manpath.config باشد) مشخص می‌کند به کدام سلسله‌مراتب صفحات راهنما به عنوان کاربر setuid و به کدام یک به عنوان کاربر فراخواننده دسترسی پیدا شود. .PP سلسله‌مراتب‌های صفحات راهنمای سیستم معمولاً مواردی هستند که زیر .I /usr ذخیره شده‌اند مانند .IR /usr/man , .I /usr/local/man و .IR /usr/X11R6/man . .PP اگر صفحات cat یک .I manpath_element خاص قرار نیست ذخیره شوند یا قرار است در مکان سنتی ذخیره گردند، .I catpath_element می‌تواند حذف شود. .PP قرارگیری سنتی cat برای سلسله‌مراتب‌های صفحات راهنمای مونت‌شده به صورت فقط‌خواندنی غیرممکن خواهد بود و به همین دلیل می‌توان هر سلسله‌مراتب دایرکتوری معتبری را برای ذخیره‌سازی آن‌ها تعیین نمود. برای رعایت استاندارد .B Linux FSSTND می‌توان از کلیدواژه .B FSSTND به جای یک دایرکتوری واقعی استفاده کرد. .PP متأسفانه لازم است .B تمام مسیرهای درخت man سیستم تعیین شوند، از جمله مسیرهای سیستم‌عامل‌های جایگزین مانند .I /usr/man/sun و هرگونه مسیرهای مربوط به .B NLS locale نظیر .IR /usr/man/de_DE.88591 . .PP از آنجا که اطلاعات سطر به سطر به ترتیب نوشته‌شده پردازش می‌شوند، لازم است هر manpath که زیرسلسله‌مراتب یک سلسله‌مراتب دیگر است ابتدا فهرست شود، در غیر این صورت تطابق نادرست انجام می‌گیرد. به عنوان مثال، .I /usr/man/de_DE.88591 باید قبل از .I /usr/man بیاید. .TP .BI DEFINE \ key\ value خطوط با این قالب متغیرهای متفرقه پیکربندی را تعریف می‌کنند؛ برای متغیرهای استفاده شده توسط ابزارهای صفحه‌بندی راهنما به فایل پیکربندی پیش‌فرض مراجعه کنید. آن‌ها شامل مسیرهای پیش‌فرض برای برنامه‌های گوناگون (مانند .I grep و .IR tbl ) و مجموعه‌های پیش‌فرض آرگومان‌ها برای آن برنامه‌ها هستند. .TP \fBSECTION\fR \fIsection\fR .\|.\|. .RS خطوط با این قالب ترتیبی را تعیین می‌کنند که بخش‌های راهنما باید بر اساس آن جستجو شوند. اگر هیچ دایرکتیو .B SECTION در فایل پیکربندی نباشد، مقدار پیش‌فرض عبارت است از: .PP .RS .nf SECTION 1 n l 8 3 0 2 3type 5 4 9 6 7 .fi .RE .PP اگر چندین دایرکتیو .B SECTION داده شود، لیست‌های بخش‌های آن‌ها به یکدیگر متصل (الحاق) خواهند شد. .PP اگر یک پسوند خاص در این لیست نباشد (مثلاً 1mh) همراه با بقیه بخشی که به آن تعلق دارد نمایش داده خواهد شد. اثر این امر این است که شما تنها در صورتی نیاز دارید پسوندها را به طور صریح فهرست کنید که بخواهید ترتیب خاصی را اعمال نمایید. بخش‌های دارای پسوند معمولاً باید مجاور بخش اصلی خود باشند (مانند "1 1mh 8 ..."). .PP نام .B SECTIONS نیز به عنوان نامی جایگزین برای این دایرکتیو پذیرفته می‌شود. .RE .TP .BI MINCATWIDTH \ width اگر عرض ترمینال کمتر از .I width باشد، صفحات cat ایجاد نمی‌شوند (در صورت موجود نبودن) یا نمایش داده نخواهند شد. مقدار پیش‌فرض 80 است. .TP .BI MAXCATWIDTH \ width اگر عرض ترمینال بیشتر از .I width باشد، صفحات cat ایجاد نمی‌شوند یا نمایش داده نخواهند شد. مقدار پیش‌فرض 80 است. .TP .BI CATWIDTH \ width اگر مقدار .I width غیرصفر باشد، صفحات cat همیشه برای ترمینالی با عرض مشخص‌شده قالب‌بندی می‌شوند، صرف‌نظر از عرض ترمینالی که در عمل استفاده می‌شود. این گزینه بر .B MINCATWIDTH و .B MAXCATWIDTH اولویت دارد و آن‌ها را بازنویسی می‌کند. .TP .B NOCACHE این فلگ از ایجاد خودکار صفحات cat توسط .BR man (1) جلوگیری می‌کند. .SH "اشکالات (BUGS)" مگر اینکه قواعد بالا دقیقاً دنبال و رعایت شوند، ابزارهای صفحه‌بندی راهنما طبق انتظار عمل نخواهند کرد. قوانین فوق بیش از حد پیچیده هستند. .PP https://gitlab.com/man-db/man-db/\-/issues .br https://savannah.nongnu.org/bugs/?group=man\-db