updatedb.conf(5) File Formats Manual updatedb.conf(5)

/etc/updatedb.conf - فایل پیکربندی برای updatedb(8)

فایل /etc/updatedb.conf یک فایل متنی است. خطوط خالی نادیده گرفته می‌شوند. نویسهٔ # خارج از یک رشتهٔ درون نقل‌قول، آغازگر توضیحی است که تا انتهای خط ادامه می‌یابد.

سایر خطوط باید به شکل زیر باشند:

VARIABLE = "VALUE"

فاصله‌های خالی بین عناصر نادیده گرفته می‌شوند. VARIABLE یک رشتهٔ الفبایی-عددی است که با رقم آغاز نمی‌شود. VALUE می‌تواند شامل هر نویسه‌ای به‌جز " باشد. هیچ سازوکار گریزی (Escape) درون VALUE پشتیبانی نمی‌شود و هیچ راهی برای نوشتن VALUE در بیش از یک خط وجود ندارد.

مقادیر ناشناخته برای VARIABLE خطا محسوب می‌شوند. متغیرهای تعریف‌شده عبارتند از:

فهرستی از انواع سیستم‌های فایل (مطابق آنچه در /etc/mtab استفاده می‌شود) که با فاصله از هم جدا شده‌اند و نباید توسط updatedb(8) پویش شوند. تطابق نوع سیستم فایل به بزرگی و کوچکی حروف حساس نیست. به‌طور پیش‌فرض، هیچ نوع سیستم فایلی نادیده گرفته نمی‌شود.

هنگامی که پویش یک سیستم فایل نادیده گرفته می‌شود، تمامی سیستم‌های فایل سوارشده در زیرشاخهٔ آن نیز نادیده گرفته می‌شوند، حتی اگر نوع آن‌ها با هیچ مدخلی در PRUNEFS مطابقت نداشته باشد.

فهرستی از نام پوشه‌ها (بدون مسیر) که با فاصله از هم جدا شده‌اند و نباید توسط updatedb(8) پویش شوند. به‌طور پیش‌فرض، هیچ نام پوشه‌ای نادیده گرفته نمی‌شود.

توجه داشته باشید که تنها پوشه‌ها را می‌توان مشخص کرد و هیچ سازوکار الگویی (مانند globbing) استفاده نمی‌شود.

فهرستی از مسیرهای پوشه‌هایی که با فاصله از هم جدا شده‌اند و نباید توسط updatedb(8) پویش شوند. هر مسیر باید دقیقاً به همان شکلی باشد که پوشه توسط locate(1) گزارش می‌شود.

به‌طور پیش‌فرض، هیچ مسیری نادیده گرفته نمی‌شود.

یکی از رشته‌های 0، no، 1 یا yes. اگر PRUNE_BIND_MOUNTS برابر با 1 یا yes باشد، نقاط سوارشدن متصل (Bind mounts) توسط updatedb(8) پویش نمی‌شوند. تمامی سیستم‌های فایل سوارشده در زیرشاخهٔ یک bind mount نیز نادیده گرفته می‌شوند، حتی اگر خودشان bind mount نباشند. به‌عنوان یک استثنا، bind mount یک پوشه روی خودش نادیده گرفته نمی‌شود. توجه داشته باشید که زیرحجم‌های (Subvolumes) Btrfs در داخل هسته به‌صورت bind mount مدیریت می‌شوند (ببینید: btrfs-subvolume(8))، و بنابراین در صورتی که ریشهٔ سیستم فایل را نیز سوار کرده باشید، ممکن است نادیده گرفته شوند. برای خنثی کردن این مورد، پوشهٔ ریشهٔ خود را نیز به یک زیرحجم Btrfs تبدیل کنید.

به‌طور پیش‌فرض، bind mountها نادیده گرفته نمی‌شوند.

هنگامی که یک پوشه با PRUNEFS، PRUNENAMES یا PRUNEPATHS تطبیق داده شود، updatedb(8) محتویات آن پوشه را پویش نمی‌کند. با این حال، مسیر خود پوشه در پایگاه دادهٔ ایجادشده وارد می‌شود. برای مثال، اگر /tmp در PRUNEPATHS باشد، locate(1) هیچ‌یک از فایل‌های ذخیره‌شده در /tmp را نشان نخواهد داد، اما می‌تواند خود پوشهٔ /tmp را نمایش دهد. این رفتار با پیاده‌سازی‌های سنتی locate متفاوت است.

در برخی از پیاده‌سازی‌های updatedb(8) می‌توان از PRUNEPATHS برای مستثنی کردن فایل‌های غیرپوشه نیز استفاده کرد. در این پیاده‌سازی چنین قابلیتی وجود ندارد.

فایل /etc/updatedb.conf در برخی پیاده‌سازی‌ها یک اسکریپت شل است که انعطاف‌پذیری بسیار بیشتری در تعریف متغیرها فراهم می‌کند. عملکرد معادل را می‌توان با استفاده از گزینه‌های خط فرمان updatedb(8) به دست آورد.

Miloslav Trmac <mitr@redhat.com>

locate(1), updatedb(8)

Oct 2020 plocate