ldconfig
memiliki dua opsi menarik:
-f conf
Use conf instead of /etc/ld.so.conf.
-C cache
Use cache instead of /etc/ld.so.cache.
Saya mencoba menyalin /etc/ld.so.conf
ke direktori home saya sendiri, dan mengeditnya untuk memasukkan path ke perpustakaan lokal saya misalnya /home/syockit/local/usr/lib
dll. Dan berlari
ldconfig -f /home/syockit/ld.so.conf -C /home/syockit/ld.so.cache
dan kemudian, untuk mengkonfirmasi bahwa perpustakaan di-cache, saya berlari
ldconfig -f /home/syockit/ld.so.conf -C /home/syockit/ld.so.cache -p | less
dan itu tidak termasuk semua perpustakaan saya di atas juga termasuk perpustakaan sistem.
Sekarang, saya ingin memiliki linker default menggunakan keduanya. Tetapi dalam man ld.so
, saya melihat tidak disebutkan bisa menggunakan kebiasaan .conf
atau .cache
. Jadi apa gunanya dua opsi di atas ldconfig
?
sumber
/etc/ld.so.conf
hanya dibaca olehldconfig
(program pembuatan cache), bukan olehld.so
(pemuat dinamis). Anda dapat mengubah lokasi file konfigurasi jika Anda ingin menghasilkan cache yang berbeda dari standar sistem./etc/ld.so.cache
dibaca olehld.so
dan Anda tidak dapat membuatnya dibaca dari lokasi yang berbeda. Meskipun demikian dapat bermanfaat untuk melewatkan lokasi keluaran yang berbedaldconfig
. Kasus penggunaan yang paling umum adalah lingkungan chroot . Anda dapat menggunakanldconfig -r /some/root
untuk menjalankanldconfig
pada root alternatif, dan menempatkan output di mana pun Anda inginkan (di dalam atau di luar root itu). Anda harus memancarkan output/some/root/etc/ld.so.cache
atau menyalinnya nanti. Ada beberapa kasus penggunaan lain yang tidak jelas, misalnya jika Anda ingin menjalankanldconfig
sebagai pengguna yang tidak berhak (yang tidak dapat menulis surat/etc/ld.so.cache
) dan kemudian memindahkan file tersebut ke tempatnya nanti.sumber