LD_LIBRARY_PATH nasıl tüm kullanıcılara ve sistem hizmetlerine aktarılır


12

LD_LIBRARY_PATHSistem hizmetlerine ve tüm kullanıcılara vermek istiyorum . Sistem hizmetleri oturum açmadan önce çalıştırılır, bu nedenle .bashrcuygulanamaz.

Bunu nasıl başarabilirim?


1
Çözmeye çalıştığınız asıl sorunun ne olduğunu açıklayabilir misiniz?
Keith

Yanıtlar:


20

Gerek yok. Dağıtıma bağlı olarak dizini /etc/ld.so.confveya içine yeni bir dosya ekleyin /etc/ld.so.conf.d/.

Bundan sonra, ldconfigkök olarak (en azından Redhat'ta) çalıştırmalısınız .

Dikkat edilmesi gereken bir nokta olarak, sistem paylaşımlı kitaplık yoluna hangi ortamları eklediğinize dikkat etmeniz gerekir (ortam aracılığıyla, ld.so.conf veya / usr / local / lib koyarak). Özellikle, aynı soname sahip aynı kütüphanenin iki farklı versiyonuna dikkat edin. Örneğin, dpkg / rpm / etc aracılığıyla bir libfoo.0.1 (soname libfoo.0) yüklüyse, özel kitaplık dizininizde libfoo.0.2 (ayrıca soname libfoo.0) istemezsiniz.

(Aslında sistem çapında bir ortam değişkenini çıkarmak o kadar kolay değildir. Çoğu kullanıcı oturumunu açabilirsiniz /etc/environment. Komut dosyaları init sisteminize bağlı olacaktır, ancak (örneğin) Debian üzerinde sysv init ile koyabilirsiniz /etc/default/rcS. inittab'dan dışarı doğru koş, yapabileceğini sanmıyorum.)


@bahamat Düzenleme çakışması nedeniyle tahmin ediyorum, cevabımdan bir paragraf çıkarmıştınız. Tekrar ekleyeceğim ..
derobert

Hayır, sadece kaldırdım çünkü "buna gerek yok" zaten özetliyor ve çok daha özlü.
Bahama

@bahamat Düzenleme günlüğünü kontrol edin, unix.stackexchange.com/posts/46620/revisions ... Sanırım ne oldu ikimiz de düzenleme bağlantısını tıkladık , sonra değişikliğimi (ekstra paragraf) gönderdim, sonra değişikliğinizi gönderdiniz (tabii ki ekstra paragraf içermiyordu).
StackExchange

Hayır, bu paragrafı açıkça kaldırdım çünkü gereksiz olduğunu düşündüm. Başka değişiklik yapmadım. Düzenlemelerimiz 6 metre arayla ve benden sonra gelenler 12 metre sonraydı. Bu bir çarpışma değildi.
bahamat

@bahamat Ah, bir düzenleme yorumu bırakmak karışıklığı
temizlerdi

3

Dosyadaki her yolu ekleyebilir ve /etc/ld.so.conf.dçalıştırın:

ldconfig -v 

Sonra yükleyin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.