แอพพลิเคชั่นที่ติดตั้งใดจะดีกว่า: / usr / bin หรือโฮมไดเร็กตอรี่ของผู้ใช้?


9

ไม่ชัดเจนเลยสำหรับฉันว่าจะเป็นการดีกว่าถ้าจะติดตั้งแอปพลิเคชัน GUI ใน/usr/binหรือโฮมไดเร็กตอรี่ของฉัน ฉันได้อ่านบทความนี้และบทความนี้แล้ว แต่มันไม่ได้พูดเกี่ยวกับปรัชญาของวิธีการใช้ไดเรกทอรีต่าง ๆ เหล่านี้จริงๆ ควรใช้คำสั่งต่างจากแอปพลิเคชัน GUI หรือไม่

คำตอบ:


11

/usr/binเป็นไดเรกทอรีหลักของคำสั่งปฏิบัติการในระบบ

The /usr/local:

  • ใช้โดยผู้ดูแลระบบเมื่อติดตั้งซอฟต์แวร์แบบโลคัล
  • จะต้องปลอดภัยจากการเขียนทับเมื่อ
    มีการอัพเดทซอฟต์แวร์ระบบ
  • มันอาจจะใช้สำหรับโปรแกรมและข้อมูลที่ใช้ร่วมกันได้ในหมู่กลุ่มของครอบครัว /usrแต่ไม่พบใน

ซอฟต์แวร์ที่ติดตั้งในเครื่องต้องอยู่ภายใน/usr/localแทนที่จะ/usrติดตั้งเพื่อแทนที่หรืออัปเกรดซอฟต์แวร์ใน / usr

เพิ่มเติมที่นี่


7

ไม่มีเหตุผลใดที่ทำให้แตกต่างระหว่างคำสั่ง GUI และ CLI

/usr/binเป็นของระบบปฏิบัติการดังนั้นแม้ว่าจะไม่มีสิ่งใดที่จะป้องกันคุณในฐานะที่เป็นรูท แต่คุณก็ไม่ควรใส่อะไรลงไป ไดเรกทอรีนี้มีไว้สำหรับคนแจกจ่ายซอฟต์แวร์ที่รวมเข้ากับระบบปฏิบัติการและจัดการ / หลีกเลี่ยงความขัดแย้งของชื่ออย่างเหมาะสม

/usr/local/binเป็นไดเรกทอรีทั่วไปสำหรับซอฟต์แวร์ที่สร้างขึ้นภายในเครื่อง หากคุณสามารถเขียนที่นี่คุณสามารถใช้ไดเรกทอรีนี้

/opt/<name>/binสำหรับซอฟต์แวร์ที่ไม่ได้เป็นของระบบปฏิบัติการ เป็นตำแหน่งที่ดีสำหรับซอฟต์แวร์ที่ใช้ร่วมกัน

โฮมไดเร็กตอรี่ของคุณเป็นของคุณดังนั้นคุณสามารถใส่อะไรก็ได้ตามที่ต้องการไว้ในนั้น แต่มันก็ไม่ใช่ตำแหน่งที่ดีที่สุดถ้าคนอื่นต้องใช้โปรแกรมของคุณ


1
ดังนั้นความแตกต่างเพียงอย่างเดียวระหว่าง / usr / local / bin และ / opt / foo / bin เมื่อใด / ติดตั้งซอฟต์แวร์อย่างไร? ตามกฎแล้วซอฟต์แวร์ใด ๆ ที่ฉันติดตั้งด้วยตนเองควรไปในอดีตและสิ่งใดก็ตามที่ติดตั้งจากตัวจัดการแพคเกจจะสิ้นสุดลงในภายหลังหรือไม่ แก้ไข: มันปรากฏขึ้น ลิงก์
TheAmpersand

ใช่. โปรดทราบว่าซอฟต์แวร์ในตัวอาจไปที่ / opt / local / bin สิ่งนี้หลีกเลี่ยงปัญหากับ / usr / local ที่สามารถเขียนได้มากในขณะที่ / usr อาจถูกเมาท์แบบอ่านอย่างเดียว
jlliagre

3

/usr/binอย่าติดตั้งอะไรด้วยตนเอง ทั้งของ/usrเช่นเดียวกับ/bin, /libและ/sbinจะสงวนไว้สำหรับซอฟแวร์ที่ให้บริการโดยการกระจายของคุณ มีข้อยกเว้นคือ: /usr/localซึ่งมีไว้สำหรับโปรแกรมที่ติดตั้งโดยผู้ดูแลระบบและไม่ได้สัมผัสโดยผู้จัดการแพคเกจ (ยกเว้นสำหรับการสร้างไดเรกทอรีน้อย) (ที่อยู่บน Linux ตัวแปร unix อื่น ๆ อาจมีตัวจัดการแพ็กเกจที่ติดตั้งซอฟต์แวร์ภายใต้/usr/local)

ระหว่าง/usr/localและสถานที่ในไดเรกทอรีบ้านของคุณเลือกเป็นของคุณ /usr/localหากคุณต้องการโปรแกรมที่จะสามารถใช้ได้กับผู้ใช้ทุกคนใส่ไว้ใน หากคุณต้องการให้มันมีให้สำหรับคุณเท่านั้นให้ติดตั้งในโฮมไดเร็กตอรี่ของคุณ

ไม่ว่าจะเป็นโปรแกรมที่มี GUI หรือไม่ไม่เกี่ยวข้อง


1
/optบางครั้งก็ใช้สำหรับการติดตั้งในท้องที่แม้ว่าการแบ่งระหว่าง/usr/localและ/optไม่ชัดเจน
Faheem Mitha

2

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


0

สำหรับการใช้งานทั่วโลกคุณสามารถติดตั้งลงใน / usr / bin แต่ไม่มีใครแนะนำ

สำหรับการใช้งานแอพพลิเคชั่นบางอย่างในฐานะผู้ใช้เฉพาะ (ควรมีความปลอดภัยมากขึ้นเมื่อใช้งานในฐานะผู้ใช้ 1 คน) ติดตั้งไว้ที่โฮมไดเร็กตอรี่ของผู้ใช้เฉพาะ

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