updatedb(8) System Manager's Manual updatedb(8)

updatedb - به‌روزرسانی پایگاه‌داده برای plocate

updatedb [گزینه‌ها]...

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

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

updatedb در صورت موفقیت با وضعیت خروج ۰ و در صورت بروز خطا با ۱ بازمی‌گردد.

متغیرهای PRUNE_BIND_MOUNTS، PRUNEFS، PRUNENAMES و PRUNEPATHS که توسط برخی از گزینه‌ها تغییر می‌یابند، با جزئیات کامل در updatedb.conf(5) مستند شده‌اند.

مواردی از فهرست جداشده با فاصله‌ی FS را به PRUNEFS اضافه می‌کند.
مواردی از فهرست جداشده با فاصله‌ی NAMES را به PRUNENAMES اضافه می‌کند.
مواردی از فهرست جداشده با فاصله‌ی PATHS را به PRUNEPATHS اضافه می‌کند.
مسیر PATH را به PRUNEPATHS اضافه می‌کند. توجه داشته باشید که در حال حاضر این تنها راه برای افزودن مسیری است که شامل فاصله باشد.
تنها نتایج پویش زیردرخت سیستم‌فایلی با ریشه PATH را در پایگاه‌داده تولیدشده ذخیره می‌کند. به‌طور پیش‌فرض کل سیستم‌فایل پویش می‌شود.

دستور locate(1) بدون در نظر گرفتن قالب PATH، ورودی‌ها را به‌صورت نام‌های مسیر مطلق که حاوی پیوندهای نمادین نیستند خروجی می‌دهد.

اطلاعات اشکال‌زدایی درباره تصمیمات هرس کردن (pruning) را در خروجی خطای استاندارد می‌نویسد.
خلاصه‌ای از گزینه‌های موجود را در خروجی استاندارد می‌نویسد و با موفقیت خارج می‌شود.
پایگاه‌داده را به‌جای استفاده از پایگاه‌داده پیش‌فرض، در FILE می‌نویسد.
پیکربندی را به‌جای فایل پیکربندی پیش‌فرض، از FILE می‌خواند. گزینه‌های خط فرمان همچنان تنظیمات این فایل را بازنویسی می‌کنند.

برای اطلاع از قالب فایل پیکربندی به updatedb.conf(5) مراجعه کنید.

مقدار PRUNE_BIND_MOUNTS را برابر با FLAG تنظیم می‌کند و تنظیمات فایل پیکربندی را نادیده می‌گیرد.
مقدار PRUNEFS را برابر با FS تنظیم می‌کند و تنظیمات فایل پیکربندی را نادیده می‌گیرد.
مقدار PRUNENAMES را برابر با NAMES تنظیم می‌کند و تنظیمات فایل پیکربندی را نادیده می‌گیرد.
مقدار PRUNEPATHS را برابر با PATHS تنظیم می‌کند و تنظیمات فایل پیکربندی را نادیده می‌گیرد.
فلگ “نیاز به رویت‌پذیری فایل قبل از گزارش آن” را در پایگاه‌داده تولیدشده بر روی FLAG تنظیم می‌کند.

اگر FLAG برابر با 0 یا no باشد، یا اگر فایل پایگاه‌داده توسط «دیگران» قابل خواندن باشد یا مالکیت آن متعلق به locate نباشد، دستور locate(1) ورودی‌های پایگاه‌داده را نمایش می‌دهد، حتی اگر کاربری که locate(1) را اجرا می‌کند، امکان خواندن دایرکتوری لازم برای یافتن فایل توصیف‌شده توسط ورودی پایگاه‌داده را نداشته باشد.

اگر FLAG برابر با 1 یا yes (پیش‌فرض) باشد، دستور locate(1) مجوزهای دایرکتوری‌های والد هر ورودی را قبل از گزارش آن به کاربر فراخوان بررسی می‌کند. برای اینکه وجود فایل واقعاً از دید سایر کاربران مخفی بماند، گروه پایگاه‌داده روی locate تنظیم شده و مجوزهای پایگاه‌داده، خواندن آن را برای کاربرانی که از روشی غیر از locate(1) (که دارای پرچم set-gid locate است) استفاده می‌کنند، ممنوع می‌سازد.

توجه داشته باشید که فلگ رویت‌پذیری تنها در صورتی بررسی می‌شود که مالک پایگاه‌داده locate باشد و برای «دیگران» قابل خواندن نباشد.

نام مسیر فایل‌ها را به محض پیدا شدن در خروجی استاندارد می‌نویسد.
اطلاعات مربوط به نسخه و مجوز locate را در خروجی استاندارد نوشته و با موفقیت خارج می‌شود.

برای ایجاد یک پایگاه‌داده اختصاصی plocate توسط کاربری غیر از root، دستور زیر را اجرا کنید:

updatedb -l 0 -o db_file -U source_directory
توجه داشته باشید تمام کاربرانی که می‌توانند db_file را بخوانند، می‌توانند فهرست کاملی از فایل‌های موجود در زیردرخت source_directory را دریافت کنند.

/etc/updatedb.conf
فایل پیکربندی پیش‌فرض. به updatedb.conf(5) مراجعه کنید. دقیقاً از همان قالبی استفاده می‌کند که توسط updatedb در mlocate(1) استفاده می‌شود، بنابراین می‌توانند با یکدیگر به اشتراک گذاشته شوند.
/var/lib/plocate/plocate.db
پایگاه‌داده‌ای که به‌طور پیش‌فرض به‌روزرسانی می‌شود.

پایگاه‌های داده‌ای که با --require-visibility no ساخته می‌شوند، به کاربران اجازه می‌دهند نام فایل‌ها و دایرکتوری‌های سایر کاربران را پیدا کنند؛ کاری که در غیر این صورت قادر به انجام آن نبودند.

Miloslav Trmac <mitr@redhat.com>

Steinar H. Gunderson <steinar+plocate@gunderson.no>

locate(1), updatedb.conf(5)

Dec 2020 plocate