PACREPAIRDB(1) pacrepairdb PACREPAIRDB(1)

pacrepairdb - ترمیم مدخل‌های خراب‌شدهٔ پایگاه‌داده

pacrepairdb [options] <package>...
pacrepairdb (--help|--version)

تلاش برای ترمیم مدخل‌های آسیب‌دیدهٔ بسته‌ها در پایگاه‌دادهٔ libalpm'. هرگونه فایل حیاتی ناموجود ایجاد شده و بسته‌ها دوباره از حافظهٔ موقت (cache) نصب خواهند شد.

اگر stdin به یک ترمینال متصل نباشد، نام بسته‌ها از stdin خوانده خواهد شد.

تنظیم مسیر دایرکتوری جایگزین برای حافظهٔ موقت (cache).
تنظیم مسیر فایل پیکربندی جایگزین.
اعمال تغییرات روی پایگاه‌داده بدون استخراج یا حذف واقعی بسته‌ها.
تنظیم مسیر پایگاه‌دادهٔ جایگزین.
نمایش اطلاعات اشکال‌زدایی بیشتر.
افزودن دایرکتوری‌های قلاب (hook) کاربری بیشتر.
تنظیم مسیر فایل گزارش (log) جایگزین.
در نظر گرفتن پاسخ پیش‌فرض برای تمامی اعلان‌ها.
عدم اجرای اسکریپت‌های نصب بسته.
عدم اجرای قلاب‌های (hooks) تراکنش.
غیرفعال‌سازی مهلت زمانی (timeout) برای بارگیری‌های کم‌سرعت.
نمایش بسته‌هایی که باید تعمیر شوند و بسته‌های کش مورد استفاده و سپس خروج.
تنظیم ریشهٔ نصب جایگزین.
تنظیم ریشهٔ سیستم (sysroot) جایگزین. به pacutils-sysroot(7) مراجعه کنید.
نمایش اطلاعات پیشرفت بیشتر.
نمایش راهنمای استفاده و خروج.
نمایش اطلاعات نسخه و خروج.

یافتن و نصب مجدد بسته‌های آسیب‌دیده:

paccheck --list-broken --files --file-properties --db-files --require-mtree | pacrepairdb

pacrepairdb انتظار دارد تمام بسته‌هایی که قرار است تعمیر شوند، در حافظهٔ موقت (cache) موجود باشند. فرض بر این است که بسته‌های ذخیره‌شده در کش که نام و نسخهٔ آن‌ها با بستهٔ نصب‌شده مطابقت دارد، همان بسته هستند. هیچ تلاشی برای اعتبارسنجی بسته‌های کش انجام نمی‌شود. اگر کش حاوی بسته‌ای باشد که با بستهٔ نصب‌شده مطابقت ندارد اما با این حال نام و نسخهٔ یکسانی دارد، pacrepairdb کورکورانه آن را نصب خواهد کرد که موجب وخیم‌تر شدن مشکلات پایگاه‌داده خواهد شد.

pacrepairdb فایل‌های یتیم (orphaned) باقی‌مانده را بررسی نمی‌کند. یافتن و مدیریت فایل‌های یتیم بر عهدهٔ کاربر است.

pacrepairdb خواندن یا نخواندن نام بسته‌ها از stdin را بر اساس یک بررسی ساده با استفاده از isatty(3) تعیین می‌کند. اگر pacrepairdb در محیطی (مانند یک تابع پوسته یا اسکریپتی که در خط لوله استفاده می‌شود) فراخوانی شود که در آن stdin به یک ترمینال متصل نیست اما حاوی نام بسته‌ها برای تعمیر هم نمی‌باشد، pacrepairdb باید با ورودی استاندارد بسته (stdin بسته) فراخوانی شود. برای پوسته‌های سازگار با POSIX، این کار را می‌توان با "<&-" انجام داد.

2025-12-04 pacutils