มีสถานที่มาตรฐานสำหรับการวางสคริปต์ Linux ที่กำหนดเองหรือไม่?


70

ฉันกำลังพัฒนาชุดสคริปต์ซึ่งฉันต้องการให้ผู้ใช้ทุกคนเห็นเมื่อฉันติดตั้งเซิร์ฟเวอร์ แต่ผมไม่ต้องการให้พวกเขาในสถานที่มาตรฐานเช่น/usr[/local]/[bin], [sbin]ฯลฯ

มีการประชุมที่มีอยู่สำหรับตำแหน่งที่ควรวางสคริปต์ดังกล่าวหรือไม่?


2
สำเนาซ้ำที่เป็นไปได้ของsuperuser.com/questions/185184/where-should-i-put-my-script
user68186

สำหรับผู้ที่อาจสนใจมีเธรด usenet เก่าที่นี่vb.serverknecht.de/ …ซึ่งนำไปสู่สิ่งที่ตรงกว่า giwersworld.org/computers/linux/linux-file-system.html
vfclists

คำตอบ:


48

เท่าที่ฉันรู้ไม่มีสคริปต์ Linux ที่กำหนดเอง ไดเร็กทอรีที่ควรใช้สำหรับการติดตั้งแบบกำหนดเองคือ/optไดเร็กทอรีดังนั้นจึงเป็นตัวเลือกที่ปลอดภัยที่สุดในการวางไว้ที่นั่น แต่โปรดจำไว้ว่าสำหรับสคริปต์ที่จะสามารถใช้งานได้หากไม่มีพา ธ เต็มคุณจำเป็นต้องรวมมันไว้ในตัวแปร PATH

หากคุณต้องการความช่วยเหลือในการเปลี่ยนPATHตัวแปรสำหรับผู้ใช้ทั้งหมดคุณสามารถตรวจสอบฉันจะตั้งค่าตัวแปร PATH สำหรับผู้ใช้ทั้งหมดบนเซิร์ฟเวอร์ได้อย่างไร? ซึ่งหมายถึงคุณไปยัง/etc/environmentไฟล์เพื่อกำหนดค่านี้

หากข้อกังวลของคุณคือหลีกเลี่ยงการปะทะ แต่คุณไม่ต้องการเพิ่มเส้นทางอื่นให้กับตัวแปร PATH ที่คุณสามารถ/usr/local/binใช้ได้ ในการติดตั้งเซิร์ฟเวอร์ของฉันไม่มีไฟล์ใด ๆ เพื่อให้ง่ายต่อการแก้ไข

หวังว่ามันจะช่วย


31

/usr/local/bin น่าจะเป็นสถานที่ทั่วไปและไดเรกทอรีนี้ควรจะว่างเปล่าในการติดตั้งใหม่

ที่มา: ยอมรับคำตอบกับคำถามนี้:


5
สิ่งนี้จะทำให้ฉันทิ้งเสมอ - สคริปต์ (เช่นไฟล์ที่ไม่ใช่ไบนารี) จะเข้าไปbinหรือไม่ etc? opt? ถอนหายใจ
Monkpit

5
เมื่อคุณหยุดการทำแตกต่างระหว่างไบนารีและสคริปต์คุณจะได้รับการแก้ไขข้อสงสัยของคุณได้ทันที :)
Marcin Orlowski

13

คุณสามารถวางสคริปต์ใน/opt/binและเพิ่มสถานที่ไปยังเส้นทาง

ดู:

  1. ตัวแปรสภาวะแวดล้อมพา ธ Linux

  2. เพิ่มไดเรกทอรีลงในเชลล์ PATH อย่างถาวร

    สำหรับการใช้ทั่วโลกใน:

    /etc/bash.bashrc

    หรือ

    /etc/profile

1
ใน Ubuntu 16.04 ไม่มี/opt/binไดเรกทอรีอีกต่อไปดังนั้นคุณต้องสร้างมันขึ้นมาก่อน ในกรณีนี้คุณอาจสร้าง/usr/local/scriptsและวางไว้ใน $ PATH เช่นกัน
WinEunuuchs2Unix

6

มีหลายที่ที่คุณสามารถใส่สิ่งเหล่านี้ได้โดยปกติแล้วฉันจะใส่ไว้ใน/opt/และอัปเดต PATH สำหรับผู้ใช้แต่ละคน (หรือทั่วโลกใน/etc/bash.bashrc) เพื่อให้ผู้ใช้สามารถใช้งานได้ /opt/ได้รับการออกแบบมาไม่มากก็น้อยสำหรับสิ่งที่คุณต้องการทำ


0

นอกจากนี้ยังมี~/binที่ทำหน้าที่เหมือน/usr/local/binแต่สำหรับผู้ใช้เพียงคนเดียว หากต้องการเปิดใช้งานให้สร้าง~/binไดเรกทอรีออกจากระบบและลงชื่อเข้าใช้อีกครั้ง

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