เหตุใดจึงต้องใส่สิ่งอื่นนอกเหนือจาก / home ในพาร์ติชันแยก


53

ดังนั้นเมื่อเร็ว ๆ นี้ Debian 5.0.5 การติดตั้งให้ฉันที่จะมีการแยกต่างหาก/usr, /home, /varและ/tmpพาร์ทิชัน (บนดิสก์ทางหนึ่ง)

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


10
อีกเหตุผลที่ดีสำหรับการ/homeแยกต่างหากคือมันช่วยให้คุณติดตั้งระบบและ / หรือสลับ distros ได้อย่างอิสระโดยไม่สูญเสียไฟล์ส่วนบุคคลของคุณ
David Z

4
@ David Zaslavsky: ฉันไม่อยากจะแนะนำให้เปลี่ยน distros บ่อยกว่าไฟล์การกำหนดค่าที่ซ่อนอยู่ในไดเรกทอรีบ้านของคุณจะขัดแย้งกัน
Troubadour

7
@Troubadour: ที่จริงฉันไม่คิดอย่างนั้น ไฟล์การกำหนดค่าเหล่านั้นจะถูกวางไว้ที่นั่นโดยแอปพลิเคชันเฉพาะและโดยทั่วไปไม่มีอะไรเกี่ยวข้องกับการกระจายที่คุณใช้ ตัวอย่างเช่นเนื้อหาของ~/.mozilla/firefoxสามารถใช้งานได้ดีอย่างเท่าเทียมกันโดย Firefox บน Ubuntu หรือ Fedora หรือ Gentoo ~/.bashrcจะมีผลเช่นเดียวกันกับ Bash ไม่ว่าคุณจะใช้ระบบพื้นฐานใด ฉันได้ทำ distros switch อย่างยุติธรรมแล้วและไม่เคยมีปัญหากับไฟล์การกำหนดค่าเหล่านั้น
David Z

3
@ David Zaslavsky: ฉันเห็นปัญหาที่เกิดขึ้นถ้า distro ใหม่ใช้แอปพลิเคชันรุ่นก่อนหน้ากว่ารุ่นก่อนหน้าเนื่องจากพวกเขาอาจไม่รู้วิธีอ่านไฟล์ปรับแต่งเหล่านั้น ที่ถูกกล่าวว่าฉันไม่ได้พยายามทำอะไรเอง
สัญชาตญาณเมื่อ

อีกเหตุผลหนึ่งหากคุณใช้ทั้ง hdd และ ssd คุณอาจต้องการติดตั้งจำนวนมากใน ssd แต่ต้องการพูดพูด / home และ / var บน hdd เพื่อหลีกเลี่ยงจำนวนมาก ของการเขียนไปยัง ssd
เควิน

คำตอบ:


55
  1. การลดการสูญเสียให้น้อยที่สุด: หาก/usrอยู่ในพาร์ติชันแยกต่างหากความเสียหาย/usrไม่ได้หมายความว่าคุณจะไม่สามารถกู้คืน/etcได้
  2. ความปลอดภัย: /ไม่สามารถเป็น ro ได้เสมอ ( /rootอาจต้องเป็น rw เป็นต้น) แต่/usrทำได้ มันสามารถใช้เพื่อทำให้ ro มากที่สุด
  3. การใช้ FS ที่แตกต่างกัน: ฉันอาจต้องการใช้ระบบที่แตกต่างกันสำหรับ/tmp(ไม่น่าเชื่อถือ แต่รวดเร็วสำหรับไฟล์จำนวนมาก) และ/home(ต้องมีความน่าเชื่อถือ) Similary /varมีข้อมูลในขณะที่/usrไม่ได้เพื่อ/usrความมั่นคงสามารถเสียสละ /tmpแต่ไม่ได้มากที่สุดเท่าที่
  4. ระยะเวลาของ fsck: พาร์ติชันที่มีขนาดเล็กหมายความว่าการตรวจสอบเร็วกว่า
  5. กล่าวถึงการเติมพาร์ทิชันแม้ว่าวิธีอื่นจะเป็นโควต้า

23

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

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


ฉันเดาว่าฉันสามารถเข้าใจ / var และ / tmp ได้ แต่เนื่องจากตัวติดตั้งมีการแบ่งพาร์ติชันดิสก์เดียวยูทิลิตี้ของการแยก/usrจึงค่อนข้าง จำกัด
อเล็กซ์ B

อนุญาตให้คุณแชร์/usrผ่าน NFS ไปยังระบบอื่น แต่คุณสามารถแบ่งปันได้แม้ว่าจะไม่ใช่พาร์ติชันแยกต่างหากนั่นเป็นเรื่องจริง ... คิดออกมาดัง ๆ ... การเมาท์แบบอ่านอย่างเดียวมีเหตุผลเพียงพอหรือไม่?
Didier Trosset

คุณจะอัปเดตด้วยการตั้งค่าประเภทนี้ได้อย่างไร บ่อยครั้ง (อย่างน้อยภายใต้ Linux) /etcแพคเกจที่จะทำการเปลี่ยนแปลงไฟล์ในไดเรกทอรีระบบท้องถิ่นเช่นใน
intuited

+1 สำหรับ / usr เมานต์อ่านอย่างเดียว ติดตั้งใหม่ rw ก่อนทำการอัปเดต
LawrenceC

13

เนื่องจากผู้ใช้ทั่วไปสามารถทำให้สิ่งต่าง ๆ ที่จะเขียน/varและ/tmpและอาจทำให้เกิดปัญหาสำหรับระบบทั้งหมด วิธีนี้กระบวนการของผู้ใช้สามารถเติม/varและ/tmpแต่ไม่ใช่รูท fs การแยก/usrมีประโยชน์สำหรับ/usrNFS หรือ fs ระยะไกลอื่น ๆ

(ฉันหวังว่านี่จะชัดเจนฉันยังไม่มีกาแฟ)


ประโยคแรกคือคำอธิบายที่ดีที่สุดขอบคุณ
greenoldman

11

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


ยกเว้นว่าจะติดตั้งลงใน/opt:)
39324 Troubadour

1
ดี. คุณสามารถสร้างพาร์ติชันที่แตกต่างกันสำหรับสิ่งนี้ได้เช่นกันหรือสร้างลิงค์ที่ / opt ตั้งอยู่ในพาร์ทิชัน / usr หลักการยังคงเหมือนเดิม
txwikinger

10

โดยทั่วไปอาร์กิวเมนต์สำหรับการมีพาร์ติชันแยกต่างหากคือ:

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

  2. ความยืดหยุ่น / ความสะดวกสบาย: ตัวอย่างเช่นหากคุณตั้งค่า / var บนพาร์ติชันของตัวเองและเต็ม 80% คุณสามารถปรับขนาดหรือย้ายมันไปยังดิสก์อื่นหากจำเป็น ฉันควรจะทำมากกว่าจัดการกับระบบที่ '/' เต็ม 100% เพราะบันทึกภายใต้ / var หายไปในทางใดทางหนึ่ง พาร์ติชันที่แตกต่างกันยังสามารถมีระบบไฟล์ที่แตกต่างกันโดยสิ้นเชิงทำให้ระบบปฏิบัติการของคุณใช้ ext3 (ตัวอย่าง) และฐานข้อมูลของคุณใช้ ext4 หรือที่เก็บวัตถุของคุณเพื่อใช้ XFS หรือแอปที่กำหนดเองของคุณเพื่อใช้ ... อุปกรณ์ดิบ!


วิธีจัดการการอัปเดตระบบตามปกติในกรณีแรกคืออะไร
intuited

6

ตามเนื้อผ้ามันทำแบบนี้เพราะลักษณะเฉพาะของฮาร์ดแวร์ DEC ที่พัฒนาขึ้นมา มันประหยัดกว่าที่จะซื้อดิสก์ที่มีขนาดเล็กและเร็วสำหรับรูทและ swap และดิสก์ที่ใหญ่กว่าและช้ากว่าสำหรับข้อมูลผู้ใช้ ( /usr) ในบางวิธีการประชุมก็ติดอยู่

อย่างไรก็ตามยังมีเหตุผลบางอย่างสำหรับการทำเช่นนี้ คนทั่วไปสองสามคือ:

  • วาง / บูตลงบนพาร์ติชั่นแยกต่างหากขนาดเล็กใกล้กับจุดเริ่มต้นของดิสก์ เฟิร์มแวร์พีซี BIOS รุ่นเก่าจะบูตจาก 1024 แทร็กแรกของดิสก์เท่านั้น นี่เป็นโอกาสน้อยที่จะมีปัญหากับฮาร์ดแวร์ที่ทันสมัย

  • การวางพาร์ติชันที่ไม่ว่างเช่น/varหรือ/tmpลงบนดิสก์ที่แยกต่างหากเพื่อลบปัญหาคอขวดในการเข้าถึงข้อมูลผู้ใช้

  • ระบบไฟล์ที่แตกต่างกันในพาร์ติชันที่แตกต่างกัน ตัวอย่างเช่นคุณอาจต้องการใช้ระบบไฟล์ที่ทำเจอร์นัล/usrแต่ไม่ใช่สำหรับพาร์ติชันที่โฮสต์ไฟล์สำหรับ DBMS เช่น Oracle - DBMS จะทำเจอร์นัลของตัวเองและระบบไฟล์ที่ทำเจอร์นัลอาจกำหนดค่าใช้จ่ายจำนวนมาก

  • การมีข้อมูลผู้ใช้บนดิสก์หรือพาร์ติชันแยกต่างหากทำให้ง่ายต่อการย้ายข้อมูลไปยังดิสก์ขนาดใหญ่โดยไม่ต้องทำการผ่าตัดใหญ่ ๆ บนเครื่อง

  • คุณอาจต้องการติดตั้งข้อมูลที่ใช้ร่วมกันเช่นโฮมไดเรกทอรีหรือไบนารีแอปพลิเคชันผ่าน NFS

  • fsckใช้เวลานานในปริมาณมากสำหรับระบบไฟล์บางประเภท คุณอาจต้องการที่จะมีตารางการบำรุงรักษาระบบไฟล์ที่แตกต่างกันสำหรับพื้นที่ระบบ (บ่อย) และพื้นที่ผู้ใช้ (น้อยกว่าบ่อย)


5

การจัดรูปแบบระบบไฟล์อาจเร็วกว่า rm -rf'ing โดยเฉพาะอย่างยิ่งหากคุณมีไฟล์ขนาดเล็กหลายพันไฟล์ที่จะลบ Squid cache คุณต้องการสร้างไฟล์ภาพใหม่ ... เต็มจำนวนที่คุณต้องการสำหรับการประมวลผล แต่สามารถโยนทิ้งได้หลังจากสร้างผลลัพธ์สุดท้ายแล้ว ไฟล์. obj จากคอมไพล์ขนาดใหญ่ ... ฯลฯ


4

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


2

ฉันใส่/tmptmpfs ดังนั้นเนื้อหาจะถูกเก็บไว้ใน RAM แทนที่จะเป็นบนดิสก์ นั่นจะไม่เป็นประโยชน์สำหรับ/etcหรือ/usrอย่างไรก็ตาม

แต่ความสามารถในการใส่ไดเร็กตอรี่ที่แตกต่างกันในระบบไฟล์ที่แตกต่างกันอาจเป็นประโยชน์; เช่น/homeบนอย่างรวดเร็วระบบแฟ้ม / ทดลองเช่น ext4 เทียบกับระบบแฟ้มที่มีเสถียรภาพ / ที่เชื่อถือได้เช่น ext2 /etcสำหรับ

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