วิธีส่งออก LD_LIBRARY_PATH ไปยังผู้ใช้และบริการระบบทั้งหมด


12

ฉันต้องการส่งออกLD_LIBRARY_PATHไปยังบริการระบบและผู้ใช้ทั้งหมด บริการของระบบจะทำงานก่อนเข้าสู่ระบบดังนั้นจึง.bashrcไม่สามารถใช้งานได้

ทำอย่างไรจึงจะได้สิ่งนี้?


1
คุณสามารถอธิบายรายละเอียดของปัญหาที่แท้จริงที่คุณพยายามแก้ไขได้อย่างไร
Keith

คำตอบ:


20

คุณไม่จำเป็นต้อง เพิ่มไดเรกทอรีไปยัง/etc/ld.so.confหรือไฟล์ใหม่/etc/ld.so.conf.d/ขึ้นอยู่กับ distro

หลังจากนั้นคุณต้องรัน (อย่างน้อยใน Redhat) ldconfigในฐานะรูท

เป็นคำเตือนคุณต้องระวังว่าคุณเพิ่มไลบรารีใดลงในพา ธ ไลบรารีที่แบ่งใช้ของระบบ (ผ่านสภาวะแวดล้อม, ld.so.conf หรือวางใน / usr / local / lib) โดยเฉพาะอย่างยิ่งคุณต้องระวังไลบรารีที่แตกต่างกันสองเวอร์ชันที่มีชื่อเดียวกัน ตัวอย่างเช่นหากคุณติดตั้ง libfoo.0.1 (soname libfoo.0) ผ่าน dpkg / rpm / etc คุณไม่ต้องการ libfoo.0.2 (เช่น soname libfoo.0) ในไดเรกทอรีไลบรารีที่กำหนดเองของคุณ

(อันที่จริงแล้วมันไม่ง่ายเลยที่จะดึงตัวแปรสภาพแวดล้อมทั้งระบบคุณสามารถรับการเข้าสู่ระบบของผู้ใช้ส่วนใหญ่/etc/environmentสคริปต์จะขึ้นอยู่กับระบบเริ่มต้นของคุณ แต่ (ตัวอย่าง) ด้วย sysv init บน Debian คุณสามารถใส่มัน/etc/default/rcSได้ วิ่งตรงจาก inittab ดีฉันไม่คิดว่าคุณจะทำได้)


@ บาฮามาตฉันเดาว่าเนื่องจากการทับซ้อนคุณแก้ไขการย่อหน้าจากคำตอบของฉัน ฉันจะเพิ่มมันกลับมา ..
derobert

ไม่ฉันเพิ่งลบมันเพราะ "คุณไม่จำเป็นต้อง" สรุปแล้วมันขึ้นและกระชับมากขึ้น
bahamat

@bahamat ตรวจสอบบันทึกการแก้ไขunix.stackexchange.com/posts/46620/revisions ... ฉันคิดว่าสิ่งที่เกิดขึ้นคือเราทั้งคู่กดลิงก์แก้ไขจากนั้นฉันส่งการเปลี่ยนแปลงของฉัน (ย่อหน้าพิเศษ) จากนั้นคุณส่งการเปลี่ยนแปลงของคุณ (ซึ่งแน่นอนไม่รวมย่อหน้าพิเศษ) ดูเหมือนว่า StackExchange ควรตรวจจับสิ่งนี้และเตือนด้วยเสียงดัง แต่ดูเหมือนจะไม่ ...
Derobert

ไม่ฉันเพิ่งลบย่อหน้านั้นอย่างชัดเจนเพราะฉันคิดว่าไม่จำเป็น ฉันไม่ได้ทำการเปลี่ยนแปลงอื่น ๆ การแก้ไขของเราห่างกัน 6 เมตรและสิ่งที่ตามมาฉันคือ 12m ในภายหลัง มันไม่ใช่การชน
bahamat

@bahamat Ah ออกความคิดเห็นการแก้ไขจะได้ล้างความสับสน ...
derobert

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.