ความหมายของไดเรกทอรีเริ่มต้นในลำดับชั้นของระบบแฟ้ม Linux คืออะไร?


41

มีการติดตั้งลินุกซ์ดิสทริบิวชันต่าง ๆ เพื่อทำการซ่อมแซมผมรู้สึกงุนงงกับตัวติดตั้งที่เสนอเลย์เอาต์ของพาร์ติชั่น - เพื่อให้ง่ายต่อการใช้งาน

บางส่วนของพาร์ทิชันที่นำเสนอมีชื่อคลุมเครือรวมทั้ง/ var , แลกเปลี่ยน , / usrและ/ home ตัวติดตั้งไม่ได้อธิบายสิ่งเหล่านี้ให้ฉัน - พวกเขามีจุดประสงค์อะไรและควรใช้งานอะไรถ้ามี

คำตอบ:


61

คำตอบสั้น ๆ เกี่ยวกับชื่อไดเรกทอรี: พิมพ์ " man hier" ลงในเทอร์มินัล :)

นั่นคือ man page สำหรับลำดับชั้นของระบบไฟล์ซึ่งจะอธิบายวัตถุประสงค์ทั่วไปของชื่อไดเรกทอรีและสิ่งที่พวกเขามี คุณสามารถดูเว็บรุ่นที่นี่

นอกจากนี้ยังมีการอ่านเพิ่มเติมเกี่ยวกับ Wikipedia:

ลิงก์เหล่านั้นจะอธิบายทุกอย่างเกี่ยวกับพาร์ติชั่นที่เรียกว่าอะไรและใช้อะไรในการจัดเก็บ

คำตอบเกี่ยวกับการใช้พาร์ทิชันแยกต่างหากมากกว่าแค่ไดเรกทอรีในพาร์ทิชันเดียวกันกลับมาสู่การบำรุงรักษาและการขยาย หากคุณมีพาร์ติชั่นหนึ่งพาร์ทเนอร์/และ/homeในนั้นโจผู้ใช้สามารถเติม/home/joeโฟลเดอร์ของเขาและเครื่องทั้งหมดจะมีพื้นที่ดิสก์เหลือและหยุดทำงาน (ฉันทำให้มันง่ายขึ้น แต่นี่เป็นผลทั่วไป) หากคุณมี/และ/homeบนพาร์ติชันที่แตกต่างกัน, โจผู้ใช้สามารถกรอกเขา/home/joeโฟลเดอร์และ/homeพาร์ทิชันจะเต็ม แต่เครื่องจะดำเนินการต่อไปเพราะ/ไม่ได้รับผลกระทบ

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


12
+1 สำหรับman hierสอนผู้ชายให้ตกปลาและทุกสิ่ง
George Marian

ใช่ขอบคุณสำหรับตัวชี้ไปที่ hier (7) ฉันมักจะไปที่หน้าเว็บของ FHS โดยไม่ทราบว่าฉันได้รับคำตอบที่ง่ายกว่านี้มาก
andol

ปัญหาคือแม้ว่าสิ่งเหล่านี้จะอธิบายถึงวิธีการใช้งาน แต่บางส่วนไม่ได้ใช้จริงตามค่าเริ่มต้นเช่นเดียวกับในไดเรกทอรี / srv
Ronaldo Nascimento

7

เมื่อทำการติดตั้งดิสทริบิวชันมากมายให้คุณเลือกวางไดเร็กตอรี่ที่ต่างกันในพาร์ติชั่นต่าง ๆ . ตัวอย่างเช่นผู้ใช้จำนวนมากเลือกที่จะมีไดเร็กทอรี / home บนพาร์ติชันที่แตกต่างจากการติดตั้งที่เหลือ นี่เป็นเพราะทุกอย่างในไดเรกทอรี / home เป็นของผู้ใช้ - เอกสารวิดีโอและข้อมูลเฉพาะอื่น ๆ ของผู้ใช้ไปที่นี่ โดยการวางไดเร็กตอรี่ / home ไว้ในพาร์ติชั่นแยกต่างหาก, และไฟล์ระบบปฏิบัติการจริงอีกอันหนึ่ง, หากผู้ใช้ตัดสินใจที่จะทำการติดตั้งระบบปฏิบัติการลีนุกซ์ใหม่, เขาสามารถเขียนพาร์ติชั่นหลักและออกจากพาร์ติชั่นหลัก / ของไฟล์ของเขา) ไม่เป็นอันตราย

สิ่งนี้ยังอนุญาตให้ผู้ใช้ติดตั้งลีนุกซ์หลายดิสทริบิวชั่นบนพาร์ติชั่นต่าง ๆ , แชร์พาร์ติชั่น / โฮมเดียวกันทั้งหมด ด้วยวิธีนี้ผู้ใช้สามารถเข้าถึงไฟล์ของเขาไม่ว่าเขาจะใช้รุ่น Linux อะไร

ผู้ใช้ทั่วไปไม่จำเป็นต้องกังวลมากเกินไปเกี่ยวกับการกำหนด / var, swap, / usr แยกต่างหาก ฯลฯ ไดเรกทอรีทั้งหมดเหล่านี้เป็นส่วนหนึ่งของระบบปฏิบัติการและมีส่วนเกี่ยวข้องกับไฟล์ของผู้ใช้เพียงเล็กน้อย


+1 สำหรับลิงก์ที่ดี ไม่ได้ / สลับพาร์ติชั่นเสมอหรือไม่
George Marian

@ George Marian: มันไม่จำเป็นต้อง เป็นไปได้ที่จะกำหนดค่าการสลับระบบไฟล์ (ซึ่งเป็นไฟล์ภายในระบบไฟล์ของพาร์ติชันที่มีอยู่) แทนการสลับพาร์ติชัน ด้วยวิธีนี้ระบบ Ubuntu สามารถทำงานบนพาร์ติชันเดียวได้
txwikinger

3
สำหรับผู้ที่เล่นที่บ้านคุณควรทราบว่าความสามารถในการใช้ไฟล์ swap ในระบบไฟล์ปกตินั้นขึ้นอยู่กับระบบไฟล์ IE: อย่าลองด้วย btrfs มันจะ (ในเคอร์เนลที่เก่ากว่า) ทำให้คุณเสียหายข้อมูลอย่างเงียบ ๆ และ (ในเมล็ดที่ใหม่กว่า) จะเกิดข้อผิดพลาดเมื่อคุณพยายามเพิ่มการแลกเปลี่ยน
RAOF

5

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

ในระบบเหมือน UNIX ระบบไฟล์เริ่มต้นที่ไดเรกทอรีราก '/' ในเงื่อนไข DOS / Windows ที่จะเป็น 'C:'

ในขณะที่อยู่ใน DOS / Windows คุณสามารถเพิ่มไดรฟ์ลงในไดฟ์ตัวอักษร D:, E:, ฯลฯ ในระบบที่คล้าย UNIX คุณจะเมานต์ไดรฟ์ลงในไดเรกทอรี ย้อนกลับไปในวันที่คุณมีฮาร์ดไดรฟ์ 10 หรือ 10 เมกะไบต์คุณสามารถติดตั้งไดเรกทอรีต่าง ๆ ในไดรฟ์และพาร์ทิชันต่าง ๆ เพื่อให้เห็นภาพลวงตาของไดรฟ์ขนาดใหญ่ ค่อนข้าง 0 RAID 0 ของคนยากจน

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

นอกจากนี้ยังมีการแบ่งพาร์ติชันที่บ้าน / แยกได้ดีมากถ้าคุณใช้ linux หลายรุ่นในเครื่องเดียว (เช่น Ubuntu และ Red Hat) เนื่องจากโปรแกรม Unix / Linux วางการตั้งค่าของผู้ใช้ไว้ในโฮมไดเร็กตอรี่ของเขาหรือเธอ. ทฤษฎีนี้ใช้งานได้ดีกว่าในทางปฏิบัติมากกว่า เพราะคุณต้องเข้าใจอย่างถ่องแท้ถึงผลกระทบของการอนุญาต

นี่เป็นไดเรกทอรีที่สำคัญบางประการสำหรับระบบปฏิบัติการ UNIX และคำอธิบาย

  • /bin - ไฟล์ปฏิบัติการพื้นฐานของระบบ
  • /lib - ไลบรารีระบบพื้นฐาน (.so ใน Linux, .dlls ใน Windows)
  • /boot- ที่ซึ่งคุณอาศัยเคอร์เนล คอมพิวเตอร์จะไม่เริ่มโดยไม่มีสิ่งนี้
  • /var- ไดเรกทอรีถูกบริการสามารถจัดเก็บไฟล์ เช่นเดียวกับไฟล์บันทึกและกล่องจดหมาย
  • /etc - ไฟล์การกำหนดค่าระบบ
  • /usr- แอปพลิเคชันผู้ใช้ที่ไม่จำเป็น (ระบบยูนิกซ์สามารถบู๊ตได้โดยไม่ต้องมี / usr (เพื่อจุดประสงค์ในการกู้คืน) แต่มันจะไม่สนุกมากในระบบเก่านี้จะเหมือนกับ / home)
  • /home- โฮมไดเรกทอรีของผู้ใช้ ผู้ใช้ปกติสามารถเขียนไปยังโฮมไดเร็กตอรี่ของตนเองเท่านั้น
  • swap (ไม่ใช่ไดเร็กตอรี่) ซึ่งมักเป็นพาร์ติชันแยกต่างหากใน UNIX ไม่มีไดเรกทอรี swap แม้ว่าคุณจะสามารถสร้างไฟล์ swap ใน Linux ได้

2
ฉันจะบอกว่าแม้สำหรับเดสก์ท็อป / คอมพิวเตอร์ส่วนบุคคลการมี / home ในพาร์ติชันแยกเป็นความคิดที่ดี ด้วยวิธีนี้คุณจะมีอาการปวดหัวน้อยลงถ้าคุณเติมไดเรกทอรีบ้านของคุณ
George Marian

@ George ไม่มีอะไรหยุดคุณจากการเชื่อมโยงไปยังไดเรกทอรีบ้านของคุณบนไดรฟ์อื่น ในการตั้งค่าของฉันเพื่อให้เข้ากันได้กับ windows พาร์ติชันหลักของฉันคือ NTFS และฉันเชื่อมโยงโฟลเดอร์ใด ๆ ก็ตามที่ฉันใช้ในโฟลเดอร์บ้าน ฉันจะเชื่อมโยงโฟลเดอร์ทั้งหมด แต่ฉันต้องการเก็บสิ่งที่ซ่อนอยู่ใน ~ / แยกในกรณีที่ฉันตัดสินใจที่จะทำการติดตั้งใหม่ การใช้ไฟล์พา ธ แบบ hardcoded ที่เชื่อมโยงกับพาร์ติชันแยกอาจมีความจำเป็นเมื่อยี่สิบปีที่แล้ว แต่ข้อ จำกัด ทางสถาปัตยกรรมที่ทำให้พวกเขาจำเป็นไม่มีอยู่ในปัจจุบัน
Evan Plaice

1
@evan ฉันสับสน คุณหมายถึงการเชื่อมโยงไดเรกทอรีเข้ากับโฮมไดเร็กตอรี่ของคุณหรือเชื่อมโยงโฮมไดเร็กตอรี่ของคุณที่อื่น? สิ่งนี้แตกต่างจากการตั้งค่า / home ไปยังพาร์ติชันอื่นอย่างไร (โปรดทราบว่า "พาร์ทิชันที่แตกต่างกัน" อาจอยู่ในไดรฟ์ที่แตกต่างกันโดยสิ้นเชิง) ฉันหมายถึงการปกป้องพฤติกรรมเริ่มต้น (เช่นการดาวน์โหลดถูกวางไว้ในไดเรกทอรีย่อยของโฟลเดอร์บ้านของคุณ) โดยไม่ได้ตั้งใจ
George Marian

@ George ทั้งสองและสิ่งที่คุณต้องการ จุดที่ฉันพยายามทำคือทำไมตั้งค่าฮาร์ดโค้ดที่เชื่อมโยงระหว่างการติดตั้งระบบเมื่อคุณเพียงแค่ใส่สัญลักษณ์เชื่อมโยงสองสามอันหลังจากนั้นทำสิ่งเดียวกันและสามารถเปลี่ยนแปลงได้อย่างง่ายดายตลอดเวลา?
Evan Plaice

@evan จุดยุติธรรม ฉันไม่เคยโชคดีมาก่อนกับการติดตั้งสิ่งต่าง ๆ หลังจากติดตั้งดังนั้นฉันจึงชอบที่จะทำแบบ "เริ่มต้น" อยู่เสมอ
George Marian

2

คุณสามารถค้นหาคำอธิบายโดยละเอียดได้ในหน้าเอกสารโครงการเอกสารระบบ Linux : ลำดับชั้นระบบไฟล์ Linux


+1 สำหรับลิงก์ แต่คุณควรรวมข้อมูลที่จำเป็นที่นี่และให้ลิงค์สำหรับการอ้างอิง
Anwar

1

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

มันมักจะแนะนำว่า swap พาร์ติชันมีขนาดเท่ากับหน่วยความจำ RAM ของคุณ


1

คุณสามารถสร้างพาร์ติชันแยกต่างหากระหว่างการติดตั้ง /homeพาร์ทิชันจะหมายถึงทุกครั้งที่คุณติดตั้งอูบุนตูตั้งค่าผู้ใช้ส่วนบุคคลของคุณจะยังคงอยู่

/- คือราก
/var- (อธิบายไว้ด้านบน)
/dev- มี "ลิงก์" ไปยังอุปกรณ์ที่ลงทะเบียน ie / dev / Video0 เป็นการ์ดจับภาพ ...

/bin /sbin - มีแอปพลิเคชัน

ดีกว่า แต่ Wikipedia มีเพจที่ยอดเยี่ยมhttp://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

สิ่งที่ใหญ่ที่สุดที่ฉันพบคือมีพาร์ติชั่นที่ 2 (ใหญ่ที่สุด) สำหรับสิ่งของของคุณและอย่างที่ฉันพูดทุกครั้งที่คุณติดตั้งใหม่หรืออัพเกรด เลือกพาร์ติชันนั้นอีกครั้งและตรวจสอบให้แน่ใจว่าคุณยกเลิกการเลือกกล่องรูปแบบแล้วทุกอย่างกลับมา แม้แต่วอลล์เปเปอร์ของคุณ!


1

ดีswapจะใช้พื้นที่แลกเปลี่ยน มันเหมือนกับไฟล์หน้าใน Windows มันเสริมแรม

/home ใช้สำหรับข้อมูลผู้ใช้เช่น My Documents ใน Windows

/usr เป็นที่ซึ่งโปรแกรมส่วนใหญ่นั้นคล้ายกับ C: \ Windows และ

/var มีข้อมูลที่เปลี่ยนแปลงเมื่อระบบทำงานตามปกติ

สำหรับสาเหตุที่อยู่ในพาร์ติชันแยกต่างหากฉันคิดว่ามันเป็นหลักถ้าระบบปฏิบัติการของคุณลงข้อมูลของคุณไม่ลงไปด้วย แต่ฉันไม่แน่ใจจริงๆ


ความแตกต่างระหว่าง/varvs /etc?
Pacerier

1

ในอดีตก็ถือว่าปฏิบัติที่ดีที่สุดที่จะมี/home, swapและโหนดที่สำคัญอื่น ๆ ที่อาศัยอยู่ในพาร์ทิชันที่แตกต่างกันดิสก์ทางกายภาพที่แตกต่างกันหรือเครื่องทางกายภาพที่แตกต่างกันแม้กระทั่ง ถึงแม้ว่าเพื่อความสะดวก (สำหรับดีขึ้นหรือแย่ลง) และด้วยการสำรองข้อมูลจากภายนอกหรือราคาถูกบนคลาวด์ แต่ทุกอย่างก็อยู่ในพาร์ติชั่นขนาดใหญ่เดียวแล้วคุณก็สำรองข้อมูลส่วนตัวของคุณไปยังที่อื่น

/usrหมายถึงทรัพยากรระบบ Unix

/sbin, ระบบไบนารี

ตรงกันข้ามกับความเชื่อที่เป็นที่นิยม/etcไม่ทนต่อและอื่นๆ แต่มันหมายถึงการขยายเครื่องมือหน้าอก แต่ตรงกันข้ามกับความเชื่อที่นิยมก็ยังคงเป็นเรื่องของการอภิปราย

ต่อไปนี้เป็นข้อมูลเพิ่มเติมเกี่ยวกับโฟลเดอร์เหล่านั้นและวิธีจัดระเบียบ


0

ควรเก็บค่า Swap แยกต่างหากหากคุณใช้ และใช้ขนาด RAM ของคุณ 1.5-2.0 x

ส่วนที่เหลือสามารถเก็บไว้ด้วยกันและไม่สำคัญ (Linux / Unix ไม่ใช่ windows และมีลำดับชั้นไดเรกทอรีเดียวไม่ว่าจะเป็นไดเรกทอรี / var ของคุณแยกพาร์ติชันหรือไม่ก็ดูเหมือนกัน) วัตถุประสงค์หลักของการแบ่งพาร์ติชันคือการใช้ระบบไฟล์ที่แตกต่างกันและเพื่อแยกสถานการณ์ "ดิสก์เต็ม" ที่เป็นไปได้ (เช่นตัวอย่างเช่นถ้า / var เติมด้วยบันทึกของแอพที่บ้าบางอย่าง / home stil works)

ในฐานะ sidenote ฉันขอแนะนำให้ใช้ LVM ซึ่งอนุญาตให้สร้างพาร์ติชันที่ปรับขนาดได้และถอดได้อย่างอิสระเท่าที่ชอบและยังเพิ่มฮาร์ดดิสก์ใหม่ให้กับครอบครัว ถึงกระนั้นก็ต้องเรียนรู้บรรทัดคำสั่งบางอย่างเพื่อไม่ให้เริ่มต้นทั้งหมด

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