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

ldconfig - پیکربندی اتصالات پیونددهنده پویا و کش کتابخانه‌ها

/sbin/ldconfig [-nNvVX] [-C cache] [-f conf] [-r root] directory ...
/sbin/ldconfig -l [-v] library ...
/sbin/ldconfig -p

دستور ldconfig پیوندها و کش لازم را برای جدیدترین کتابخانه‌های مشترک یافت‌شده در دایرکتوری‌های مشخص‌شده در خط فرمان، فایل /etc/ld.so.conf و دایرکتوری‌های قابل اعتماد /lib و /usr/lib ایجاد می‌کند. در برخی از معماری‌های ۶۴ بیتی مانند x86-64، دایرکتوری‌های /lib و /usr/lib دایرکتوری‌های قابل اعتماد برای کتابخانه‌های ۳۲ بیتی هستند، در حالی که از /lib64 و /usr/lib64 برای کتابخانه‌های ۶۴ بیتی استفاده می‌شود.

کش ایجادشده توسط پیونددهنده زمان اجرا، ld.so یا ld-linux.so استفاده می‌شود. دستور ldconfig هنگام تعیین این‌که پیوندهای کدام نسخه‌ها باید به‌روزرسانی شوند، هدر و نام فایل‌های کتابخانه‌هایی را که با آن‌ها مواجه می‌شود بررسی می‌کند.

دستور ldconfig معمولاً باید توسط مدیر سیستم (کاربر ارشد یا ریشه) اجرا شود، زیرا ممکن است به دسترسی نوشتن روی برخی دایرکتوری‌ها و فایل‌های متعلق به ریشه نیاز داشته باشد.

دستور ldconfig تنها فایل‌هایی را بررسی می‌کند که نام آن‌ها با الگوی lib*.so* (برای اشیای مشترک معمولی) یا ld-*.so* (برای خودِ بارگذار پویا) مطابقت داشته باشد. سایر فایل‌ها نادیده گرفته می‌شوند. همچنین، ldconfig الگوی خاصی را برای نحوه برپایی پیوندهای نمادین انتظار دارد؛ مانند این مثال که در آن فایل میانی (libfoo.so.1 در اینجا) همان SONAME برای کتابخانه است:


libfoo.so -> libfoo.so.1 -> libfoo.so.1.12

عدم رعایت این الگو ممکن است پس از ارتقای سامانه به مشکلات سازگاری منجر شود.

(از نسخه glibc 2.2) استفاده از قالب کش fmt که یکی از مقادیر old، new یا compat است. از نسخه glibc 2.32 به بعد، مقدار پیش‌فرض new است؛ پیش از آن مقدار پیش‌فرض compat بود.
استفاده از cache به‌جای /etc/ld.so.cache.
استفاده از conf به‌جای /etc/ld.so.conf.
(از نسخه glibc 2.7) نادیده گرفتن فایل کش کمکی.
(از نسخه glibc 2.2) تفسیر هر عملوند به‌صورت نام یک کتابخانه و پیکربندی پیوندهای آن. تنها برای استفاده توسط افراد متخصص در نظر گرفته شده است.
تنها پردازش دایرکتوری‌های مشخص‌شده در خط فرمان؛ دایرکتوری‌های قابل اعتماد و دایرکتوری‌های مشخص‌شده در /etc/ld.so.conf پردازش نمی‌شوند. این گزینه متضمن -N است.
کش را دوباره نسازد. مگر این‌که -X نیز مشخص شده باشد، پیوندها همچنان به‌روزرسانی می‌شوند.
چاپ فهرست دایرکتوری‌ها و کتابخانه‌های نامزد ذخیره‌شده در کش فعلی.
تغییر مسیر به root و استفاده از آن به‌عنوان دایرکتوری ریشه.
حالت پرگو (verbose). چاپ شماره نسخه فعلی، نام هر دایرکتوری در حین پویش آن، و پیوندهایی که ایجاد می‌شوند. این گزینه حالت بی‌صدا را لغو می‌کند.
چاپ نسخه برنامه.
پیوندها را به‌روزرسانی نکند. مگر این‌که -N نیز مشخص شده باشد، کش همچنان دوباره ساخته می‌شود.

/lib/ld.so
پیونددهنده و بارگذار زمان اجرا است.
/etc/ld.so.conf
شامل فهرستی از دایرکتوری‌ها، هر کدام در یک سطر، برای جستجوی کتابخانه‌ها است.
/etc/ld.so.cache
شامل فهرستی مرتب‌شده از کتابخانه‌های یافت‌شده در دایرکتوری‌های مشخص‌شده در /etc/ld.so.conf و همچنین دایرکتوری‌های قابل اعتماد است.

ldd(1), ld.so(8)

2024-05-02 Linux man-pages 6.9.1