Apakah ada solusi umum untuk menggunakan perpustakaan NSS tunggal dua (atau lebih) kali?
Dalam kasus saya, saya memiliki dua server LDAP, satu lokal pada mesin itu sendiri dan satu remote. Saya perlu membuat NSS berfungsi dengan keduanya (menggunakan yang jauh jika lokal tidak memiliki entri yang diperlukan).
Saat ini telah diselesaikan sehingga perpustakaan tunggal ( PADL / nss_ldap ) dibangun dua kali. Dalam kedua kasus sebelum bangunan sed
digunakan untuk mengubah semua nss_ldap
kejadian dalam sumber ke sesuatu yang lain. Untuk setiap kasus digunakan teks yang berbeda (seperti nss_ldap_1
dan nss_ldap_2
). Hasil build diubah namanya sesuai. Kedua binari disimpan pada sistem target dan disebut dalam /etc/nsswitch.conf
.
Juga kedua pustaka tersebut menggunakan file konfigurasi yang berbeda /etc/
(jika tidak, tidak masuk akal!). Namun ini dilakukan dengan mudah dengan hanya mengubah argumen dalam configure
skrip pustaka yang dijalankan sebelum membangun.
Tapi itu tidak "terasa benar". Apakah ada pendekatan lain?
Apa yang dapat saya bayangkan adalah bahwa pustaka NSS sendiri dapat mendukung banyak konfigurasi sehingga dapat berfungsi sebagai dua "instance tunggal". Tetapi ini sulit dicapai jika Anda bukan penulis perpustakaan. Juga memerlukan permintaan perpustakaan berikutnya untuk kedua konfigurasi sementara satu mungkin lebih memilih untuk memiliki beberapa perpustakaan lain di antaranya.
Pendekatan lain adalah dengan menulis forwarder sederhana yang hanya memanggil beberapa perpustakaan lain dengan konfigurasi yang berbeda. Tapi ini lagi mengharuskan perpustakaan lain entah bagaimana dapat dikonfigurasi ulang (jika hanya menggunakan beberapa file konfigurasi tetap di /etc
forwarder akan berfungsi seperti versi pertama). Dan itu juga berfungsi hanya sekali - memiliki perpustakaan yang digunakan tiga kali atau lebih masalah yang sama kembali sekarang dengan forwarder itu sendiri.
sss
?