ฉันจะตั้งค่าตัวแปร PATH สำหรับผู้ใช้ทั้งหมดบนเซิร์ฟเวอร์ได้อย่างไร


52

ฉันเพิ่งติดตั้งLaTeXสำหรับเซิร์ฟเวอร์ Ubuntu ของ บริษัท ที่เราใช้ SSH ทั้งหมด ในตอนท้ายของการติดตั้งมันบอกว่า:

Add /usr/local/texlive/2010/texmf/doc/man to MANPATH, if not dynamically determined.

Add /usr/local/texlive/2010/texmf/doc/info to INFOPATH.

Most importantly, add /usr/local/texlive/2010/bin/x86_64-linux to your PATH for current and future sessions.

ฉันจะทำสิ่งนี้เพื่อให้ตัวแปรเหล่านี้ถูกตั้งค่าสำหรับผู้ใช้ทั้งหมดในระบบได้อย่างไร (และใช่ฉันมีสิทธิ์ sudo)


คำตอบของ @ geirha (ด้วยความคิดเห็นของ Rob ใน MANPATH) จะแก้ไขสิ่งนี้ยกเว้นตัวแปร INFOPATH แม้ว่าฉันจะจินตนาการว่าผู้ใช้ไม่ได้ใช้บ่อย (?) ไม่มีใครรู้ตำแหน่งที่ถูกต้องในการตั้งค่าดังกล่าวหรือไม่ มันควรจะเป็นยัง/etc/environment ?
belacqua

@jgbelacqua afaik Debian และ distros Linux อื่น ๆ ใช้ แต่ไม่ใช่ Ubuntu หรืออย่างน้อยนั่นก็เป็นสิ่งที่ดีที่สุดที่ฉันสามารถรวบรวมการค้นหา frm บน google เป็นเวลาหนึ่งชั่วโมง
Rob S. เมื่อ

เมื่อคุณติดตั้ง TeXlive 2010 คุณควรถามคุณว่าต้องการสร้าง symlink สำหรับไบนารีทั้งหมดหรือไม่ หากคุณตอบว่าใช่สิ่งนี้จะไม่เป็นปัญหาเลย
frabjous

@frabjous มันไม่เคยถามฉันเลย คำสั่งเดียวที่ฉันเคยให้คือ "i" ในตอนเริ่มต้นเพื่อเริ่มต้นการติดตั้ง อย่างไรก็ตามหลังจากตั้งค่าตัวแปรแล้วมันก็ทำงานได้อย่างสมบูรณ์แบบ
Rob S.

1
@frabjous: ตัวเลือก symlink ดูเหมือนจะหายไปจากตัวติดตั้ง ฉันติดตั้ง TeXLive 2011 วันนี้และสามารถหามันได้อีกต่อไป ฉันติดตั้ง TeXLive ในหลาย ๆ เวอร์ชันอย่างน้อยหนึ่งโหลก่อนหน้านี้ดังนั้นฉันจึงสงสัยว่าทำไมมันถึงไม่มีอีกต่อไป
Martin Scharrer

คำตอบ:


57

/etc/environmentคุณสามารถเพิ่มเหล่านั้นไป

ดูเหมือนว่าจะมีสายอยู่แล้วPATHดังนั้นคุณเพิ่งต่อ:/usr/local/texlive/2010/bin/x86_64-linuxท้ายสิ่งนั้น จากนั้นเพิ่มสองบรรทัดใหม่สำหรับ MANPATH และ INFOPATH

ดูhttps://help.ubuntu.com/community/EnvironmentVariables

หลังจากแก้ไข/etc/environmentให้ออกจากระบบและกลับมาตรวจสอบว่าเช่นecho "$MANPATH"เอาท์พุทมูลค่าที่คุณเพิ่ม


ในที่สุดฉันก็ต้องแก้ไข / etc / manpath.config ขอบคุณ
Rob S.

2
ฉันได้ลบคำตอบของฉันเนื่องจากนี่เป็นตัวเลือกที่ดีกว่า ตามhelp.ubuntu.com/community/EnvironmentVariablesSystem-wide /etc/environmentเป็นสถานที่สำหรับ "การตั้งค่าตัวแปรสภาพแวดล้อมที่ส่งผลกระทบต่อระบบโดยรวม (แทนที่จะเป็นแค่ผู้ใช้เฉพาะ) [... ]" /etc/profileและ/etc/bash.bashrcแสดงเป็น 'ไม่แนะนำ'
belacqua

น่ารำคาญไม่ทำงานสำหรับราก!
Owl

7

/etc/profileเพิ่มเส้นทางเริ่มต้นเหล่านี้ไป มันจะทำงานเพื่อทุบตีและดวลจุดโทษ Bashเป็นค่าเริ่มต้นใน Ubuntu

PATH=$PATH:<new path you need to add>

echo $SHELLสามารถใช้เพื่อกำหนดเปลือกของผู้ใช้ปัจจุบันหรือสามารถดูได้จาก/etc/passwdไฟล์

หรือคุณสามารถรวมไว้ใน/etc/environmentเช่นกัน ที่นี่คุณสามารถเพิ่ม PATH ที่ส่วนท้ายของคำสั่ง PATH


ฉันเปิด etc / profile เป็นกลุ่มและไม่มีอะไรเกี่ยวข้องกับ PATH ในนั้น ขอบคุณสำหรับการตอบกลับเหมือนกัน
Rob S.

17
ลำดับของการดำเนินการของไฟล์คือ / etc / environment -> / etc / profile -> /etc/bash.bashrc -> /home/<user>/.profile -> /home/<user>/.bashrc
Jamess

การแก้ไขตัวแปรพา ธ / etc / profile อาจทำให้ระบบเสียหายและดีกว่าที่จะหลีกเลี่ยง พิเศษเมื่อคุณเชื่อมต่อกับโฮสต์ระยะไกลผ่าน ssh
AmirHossein Rezaei
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.