/ usr /, ฉันถือว่าเป็นผู้ใช้คอมพิวเตอร์
ปิด.
Unix เริ่มต้นจากระบบปฏิบัติการหลายผู้ใช้ดังนั้นจึงไม่ใช่ "ผู้ใช้" เป็น " ผู้ใช้ " เป็นพหูพจน์
ก่อนที่ AT&T Unix System V รีลีส 4 (SVR4) ออกมาในปี 1988 ด้วยเครื่องมือการจัดการผู้ใช้ที่เริ่มต้นในการสร้างโฮมไดเรกทอรีของผู้ใช้ใน/home
สถานที่ทั่วไปคือ. /usr
¹ $HOME
ไดเรกทอรีของคุณอาจ/usr/jfw
อยู่ในกล่องSystem III
/usr
ยังมีแล้วเป็นตอนนี้/usr/bin
, /usr/lib
ประสบการณ์อื่น ๆ แสดงให้เห็นว่าแยกไดเรกทอรีบ้านเป็นเรื่องระบบการจัดการที่ดีเพื่อให้กับ/home
การเปลี่ยนแปลงนโยบายใน SVR4 /usr
ก็ทิ้งทุกอย่างตอนนี้เราคิดว่าเป็นที่อยู่ใน
/usr
ยังคงมีเหตุผลที่ดีที่จะใช้ชื่อนี้: สิ่งที่ถูกทิ้งไว้ข้างหลังคือไฟล์ที่ไม่จำเป็นต้องใช้งานจนกว่าระบบจะถูกบูตขึ้นมาไกลพอที่จะรองรับการใช้งานแบบอินเตอร์แอคทีฟตามปกติ กล่าวคือสิ่งที่เหลือไว้คือส่วนที่ผู้ใช้โฟกัสของระบบปฏิบัติการ นั่นหมายความว่า/usr
อาจจะเกี่ยวกับปริมาณทางกายภาพที่แตกต่างกันซึ่งเป็นสิ่งที่ดีกลับไปในสมัยที่92 MB ฮาร์ดดิสก์ไดรฟ์ขนาดของเครื่องซักผ้า
ระบบ Unix ยุคแรก ๆ ระมัดระวังที่จะไม่ให้ไฟล์หลักของระบบปฏิบัติการ/usr
นั้นทำงานเพื่อให้คุณสามารถบูตเข้าสู่โหมดผู้ใช้เดี่ยว²ได้แม้ว่าจะไม่สามารถต่อเชื่อม/usr
ไดรฟ์ได้ด้วยเหตุผลบางประการ ปริมาณรูทประกอบด้วยเครื่องมือที่เพียงพอเพื่อให้/usr
ไดรฟ์ข้อมูลกลับมาออนไลน์
รสชาติ Unix หลายตอนนี้ไม่สนใจหลักการออกแบบนี้เก่าตั้งแต่ระบบฝังตัวเล็ก ๆ ยังมีที่ว่างพอสำหรับทั้งไฟล์ปริมาณรากแบบดั้งเดิมและทั้งหมดของ/usr
บนvolume.³เดียว Red Hat Enterprise Linux, Solaris และ Cygwin symlink /bin
ไป/usr/bin
และ/lib
ไป/usr/lib
เพื่อให้ไม่มี ความแตกต่างระหว่างไดเรกทอรีเหล่านี้อีกต่อไป
... / local / ... หมายถึงคอมพิวเตอร์ในพื้นที่ ...
ใช่. มันหมายถึงความจริงที่ว่าไฟล์ที่อยู่ภายใต้/usr/local
ควรจะเป็นเฉพาะกับระบบเดียวที่ ไฟล์ที่อยู่ในลักษณะทั่วไปควรอยู่ที่อื่น
สิ่งนี้ยังมีรากฐานในทางที่ระบบยูนิกซ์ใช้กันทั่วไปเมื่อหลายสิบปีก่อนเมื่อทั้งหมดนี้ได้มาตรฐาน อีกครั้งฮาร์ดดิสก์ของเวลามีขนาดใหญ่แพงมากและเก็บไว้เล็กน้อยตามมาตรฐานของวันนี้ เพื่อประหยัดเงินและพื้นที่บนดิสก์ห้องปฏิบัติการคอมพิวเตอร์ที่เต็มไปด้วยกล่อง Unix มักจะแบ่งปัน/usr
NFS หรือโปรโตคอลการแชร์ไฟล์เครือข่ายอื่น ๆ ส่วนใหญ่ดังนั้นแต่ละกล่องไม่จำเป็นต้องมีสำเนาซ้ำซ้อนของตัวเอง⁴ไฟล์เฉพาะของไฟล์เดียว กล่องจะไปอยู่ภายใต้ซึ่งจะเป็นปริมาณที่แยกต่างหากจาก/usr/local
/usr
มรดกทางประวัติศาสตร์นี้เป็นเหตุผลว่าทำไมจึงยังคงเป็นค่าเริ่มต้นสำหรับซอฟต์แวร์ Unix บุคคลที่สามส่วนใหญ่ที่จะติดตั้ง/usr/local
เมื่อติดตั้งด้วยมือ ซอฟต์แวร์ส่วนใหญ่ดังกล่าวจะช่วยให้คุณติดตั้งแพคเกจที่อื่น แต่ด้วยการไม่เลือกตัวเลือกคุณจะได้รับค่าเริ่มต้นที่ปลอดภัยซึ่งไม่รบกวนการติดตั้งทั่วไปอื่น ๆ ด้วยจุดประสงค์ที่เฉพาะเจาะจงมากขึ้น
มีเหตุผลที่ดีในการติดตั้งซอฟต์แวร์ที่อื่นแทน แอปเปิ้ลทีม MacOS ไม่นี้เมื่อพวกเขาสร้างการพูดbash
จากรหัสที่มา GNU ทุบตี พวกเขาใช้/
เป็นคำนำหน้าการติดตั้งเอาชนะเริ่มต้นเพื่อให้ทุบตีจบลงใน/usr/local
/bin
อีกตัวอย่างหนึ่งคือวิธีที่ระบบ Linux เก่าแยกซอฟต์แวร์ GUI ออก/usr/X11R6
เพื่อแยกมันออกจากบรรทัดคำสั่งดั้งเดิมและcurses
ซอฟต์แวร์ที่ใช้ สิ่งนี้ทำได้โดยการแทนที่/usr/local
คำนำหน้าเริ่มต้นด้วย. /usr/X11R6
⁵
และ / bin คืออะไร
มันสั้นสำหรับ "ไบนารี" ซึ่งในบริบทนี้หมายถึง "ไฟล์ที่ไม่ใช่ข้อความธรรมดา" ไฟล์ดังกล่าวส่วนใหญ่เป็นไฟล์เรียกทำงานบนกล่อง Unix ดังนั้นคำทั้งสองนี้จึงมีความหมายเหมือนกันในบางวงการ ("โปรดสร้างเลขฐานสองสำหรับฉันสำหรับ RHEL 7, Fred")
ไฟล์ข้อความบนกล่อง Unix อาศัยอยู่ที่อื่น: /etc
, /usr/include
, /usr/share
ฯลฯ
กาลครั้งหนึ่งแม้แต่เชลล์สคริปต์ - ซึ่งเป็นไฟล์ข้อความล้วน - ถูกเก็บไว้นอกbin
ไดเรกทอรี แต่บรรทัดนี้ก็เบลอเช่นกัน ทุกวันนี้bin
ไดเรกทอรีต่างๆมักจะมีไฟล์ที่สามารถใช้งานได้ทุกประเภทไม่ว่าจะเป็น "ไบนารี" หรือไม่ก็ตาม⁶
เชิงอรรถและการแยกย่อย :
ธรรมชาติดั้งเดิมของเครื่องมือการจัดการผู้ใช้ก่อนที่จะ SVR4 หมายความว่าHOME=/usr/$NAME
รูปแบบการบันทึกเป็นแบบแผนเท่านั้นแทนที่จะบังคับใช้โดยเครื่องมือซอฟต์แวร์เป็นค่าเริ่มต้น
คุณสามารถดูสิ่งนี้ได้ในหน้า 4-8 ของ " คำแนะนำผู้ดูแลระบบ AT&T Unix V 3.2 : ที่นี่คุณจะเห็น AT&T แนะนำ/usr/$NAME
แบบแผนเก่าใน Unix เวอร์ชันหลักสุดท้ายก่อนที่ SVR4 จะออกมา
มันค่อนข้างธรรมดาในระบบ Unix ที่เก่ากว่าสำหรับผู้ดูแลระบบเพื่อเลือกรูปแบบที่แตกต่างกัน ผู้คนเป็นคนนั่นหมายถึงแผนการที่แตกต่างกันมากมายได้ถูกประดิษฐ์ขึ้น
โครงการหนึ่งที่ฉันมาข้ามก่อนที่จะกลายเป็นมาตรฐานเป็น/home/$NAME
/u/$NAME
ระบบผมใช้อีกในช่วงปี 1990 มีผู้ใช้จำนวนมากที่พวกเขาไม่สามารถพอดีทั้งหมดไดเรกทอรีบ้านบนปริมาณทางกายภาพเดียวดังนั้นพวกเขาใช้ในโครงการเช่น/u1/$NAME
, /u2/$NAME
และอื่น ๆ เท่าที่ผมจำ ดิสก์โฮมไดเร็กตอรี่ของคุณจบลงที่ใดเป็นเรื่องที่มีเนื้อที่ว่างในตอนที่สร้างบัญชีของคุณ
คุณสามารถบู๊ตกล่อง macOS ในโหมดผู้ใช้คนเดียวโดยกดค้างไว้Cmd-Sขณะบูทเครื่อง ปล่อยให้ไปเมื่อหน้าจอเปลี่ยนเป็นสีดำและคุณเห็นข้อความสีเทาอ่อนปรากฏขึ้น มันเหมือนกับการทำงานภายใต้ Terminal แต่มันใช้งานได้ทั้งหน้าจอเพราะ GUI ยังไม่เริ่ม
root
ระวังคุณกำลังทำงานเป็น
พิมพ์ "exit" ที่พร้อมต์รูทของผู้ใช้คนเดียวเพื่อออกจากโหมดผู้ใช้คนเดียวและทำการบู๊ตต่อไปในโหมดผู้ใช้หลายคน
ระบบปฏิบัติการ Unixy ที่ยังคงปรากฏขึ้นเพื่อป้องกันไม่ให้ไฟล์โหมดผู้ใช้คนเดียวที่สำคัญ/usr
อาจไม่จริงวันนี้ ฉันเคยแสดงผล FreeBSD 9 กล่องไม่สามารถบูตได้โดยการย้าย/usr
ไปที่ปริมาณ ZFS ฉันลืมไปว่าฟีเจอร์ ZFS-on-root ไม่ได้ลงจอดจนกว่า FreeBSD 10 จะสร้างCatch 22 : ระบบปฏิบัติการจำเป็นต้องใช้ไฟล์/usr
เพื่อติดตั้ง/usr
!
นั่นเป็นสิ่งที่แย่มาก แต่ถ้า FreeBSD 9 ยังคงเก็บข้อมูลการบูตผู้ใช้คนเดียวเอา/usr
ไว้ เนื่องจากมันจะไม่สามารถบู๊ตได้แม้แต่โหมดผู้ใช้คนเดียวโดย/usr
ไม่สามารถถอดออกได้ชัดเจนว่าประเพณีนั้นถูกละเมิดอย่างใด ฉันต้องบูตจากซีดีกู้คืนเพื่อให้ระบบสำรองอีกครั้ง
นี่คือสิ่งที่เราได้รับ/usr/share
: มันแยกไฟล์ที่สามารถแบ่งปันได้ระหว่างกล่อง Unix ที่มีประเภทโปรเซสเซอร์ที่แตกต่างกัน โดยทั่วไปแล้วไฟล์ข้อความ: หน้าคนพจนานุกรม ฯลฯ
"X11R6" อ้างถึงเวอร์ชันของX Window Systemหนุน Linux GUIs ในเวลาที่การประชุมนี้แพร่หลาย ระบบ Linux ทั่วไปหยุดแยก GUI ซอฟต์แวร์เกี่ยวกับเวลา X11R6 ถูกแทนที่ด้วยX.Org
ระบบยูนิกซ์เดิมเก็บไว้เชลล์สคริปต์หลักของพวกเขาในการ/etc
ในการสั่งซื้อเพื่อหลีกเลี่ยงการ commingling /bin
พวกเขาด้วยไบนารีจริงใน