Tại sao đặt những thứ khác ngoài / nhà vào một phân vùng riêng?


53

Vì vậy, thời gian gần đây một trình cài đặt Debian 5.0.5 cung cấp cho tôi có riêng biệt /usr, /home, /var/tmpphân vùng (trên một đĩa vật lý).

Lý do thực tế cho việc này là gì? Tôi hiểu rằng /homecó thể thuận lợi để đặt trên một phân vùng riêng, bởi vì các tệp người dùng có thể được mã hóa riêng biệt, nhưng tại sao cho bất cứ điều gì khác?


10
Một lý do tốt khác để giữ /homeriêng biệt là nó cho phép bạn cài đặt lại hệ thống của mình và / hoặc chuyển đổi các bản phân phối tự do mà không làm mất các tệp cá nhân của bạn.
David Z

4
@David Zaslavsky: Tôi không khuyên bạn nên chuyển đổi các bản phân phối. như thường xuyên hơn không phải các tập tin cấu hình ẩn trong thư mục nhà của bạn sẽ xung đột.
Troubadour

7
@Troubadour: Thật ra tôi không nghĩ vậy. Các tệp cấu hình đó được đặt ở đó bởi các ứng dụng cụ thể và thường không liên quan gì đến phân phối mà bạn đang sử dụng. Vì vậy, ví dụ, nội dung của ~/.mozilla/firefoxFirefox có thể được sử dụng tốt như nhau trên Ubuntu hoặc Fedora hoặc Gentoo. ~/.bashrcsẽ luôn có tác dụng tương tự đối với Bash, bất kể bạn chạy hệ thống cơ bản nào. Tôi đã thực hiện một số lượng lớn các bản chuyển đổi và chưa bao giờ thực sự có vấn đề với các tệp cấu hình đó.
David Z

3
@David Zaslavsky: Tôi có thể thấy các vấn đề phát sinh nếu bản phân phối mới sử dụng các phiên bản ứng dụng trước đó hơn phiên bản trước, vì chúng có thể không biết cách đọc các tệp cấu hình đó. Điều đó đã được nói, tôi đã không cố gắng tự mình làm bất cứ điều gì.
trực giác

Một lý do khác, nếu bạn đang sử dụng cả hdd và ssd, bạn có thể muốn có phần lớn cài đặt trên ssd, nhưng muốn đặt, giả sử, / home và / var trên hdd để tránh số lượng lớn của ghi vào ssd.
Kevin

Câu trả lời:


55
  1. Giảm thiểu tổn thất: Nếu /usrnằm trên một phân vùng riêng, hư hỏng /usrkhông có nghĩa là bạn không thể phục hồi /etc.
  2. Bảo mật: /không thể luôn luôn ro ( /rootcó thể cần phải là rw, v.v.) nhưng /usrcó thể. Nó có thể được sử dụng để làm cho ro càng nhiều càng tốt.
  3. Sử dụng FS khác nhau: Tôi có thể muốn sử dụng một hệ thống khác cho /tmp(không đáng tin cậy nhưng nhanh đối với nhiều tệp) và /home(phải đáng tin cậy). Similary /varchứa dữ liệu trong khi /usrkhông /usrổn định có thể hy sinh nhưng không nhiều như vậy /tmp.
  4. Thời lượng của fsck: Phân vùng nhỏ hơn có nghĩa là kiểm tra một cái nhanh hơn.
  5. Đề cập đến việc điền vào các phần, mặc dù phương pháp khác là hạn ngạch.

23

Một riêng biệt /usrcó thể hữu ích nếu bạn có một số máy chia sẻ cùng một hệ điều hành. Họ có thể chia sẻ một trung tâm duy nhất /usrthay vì sao chép nó trên mọi hệ thống. /usrcó thể được gắn chỉ đọc.

/var/tmpcó thể được lấp đầy bởi các chương trình người dùng hoặc trình nền. Do đó, có thể an toàn khi có những thứ này trong các phân vùng riêng biệt sẽ ngăn chặn /, phân vùng gốc, đầy đủ 100% và sẽ ảnh hưởng xấu đến hệ thống của bạn. Để tránh có hai phân vùng riêng biệt cho các phân vùng này, không có gì lạ khi thấy /tmplà một liên kết tượng trưng đến /var/tmp.


Tôi đoán tôi có thể hiểu / var và / tmp, nhưng vì trình cài đặt được cung cấp để phân vùng một đĩa đơn , tiện ích của một riêng biệt /usrkhá hạn chế?
Alex B

Nó cho phép bạn chia sẻ /usrthông qua NFS đến các hệ thống khác. Nhưng bạn có thể chia sẻ nó ngay cả khi nó không phải là một phân vùng riêng biệt, đó là sự thật ... suy nghĩ lớn ... Chỉ đọc chỉ là một lý do đủ tốt?
Didier Trosset

Làm thế nào để bạn cập nhật với loại thiết lập này? Thông thường (ít nhất là trong Linux) sẽ thay đổi các tệp trong các thư mục cục bộ hệ thống, ví dụ như trong /etc.
trực giác

+1 cho / usr gắn kết chỉ đọc. Kể lại nó rw trước khi thực hiện cập nhật.
LawrenceC

13

Bởi vì người dùng bình thường có thể gây ra điều cần được ghi vào /var/tmp, và do đó có khả năng gây ra vấn đề cho toàn bộ hệ thống. Bằng cách này, các quy trình người dùng có thể lấp đầy /var/tmp, nhưng không phải là fs gốc. Một riêng biệt /usrlà hữu ích cho /usrhơn NFS hoặc fs từ xa khác.

(Tôi hy vọng điều này là rõ ràng, tôi chưa có cà phê nào)


Câu đầu tiên là lời giải thích tốt nhất, cảm ơn bạn.
greenoldman

11

Vấn đề là một fs root đầy đủ làm cho hệ thống linux không thể hoạt động đến một phần mở rộng mà ngay cả một quản trị viên cũng sửa nó mà không có CD khôi phục hoặc tương tự. Khi /tmp/varđặc biệt /homelà trong một phân vùng riêng, fs gốc không bao giờ có thể lấp đầy nếu không có quản trị viên thực hiện. Đi /usrvào hỗn hợp trong đó tất cả các cài đặt thông thường sẽ được đặt và thậm chí cài đặt phần mềm mới cũng không thể gây ra sự cố này.


Trừ khi nó cài đặt vào /opt:)
Troubadour

1
Tốt. bạn cũng có thể tạo một phân vùng khác cho điều này hoặc tạo một liên kết sao cho / opt thực sự nằm trong phân vùng / usr. Nguyên tắc vẫn vậy.
txwikinger

10

Nói chung, các đối số để có các phân vùng riêng biệt là:

  1. Bảo mật: ví dụ, bạn có thể gắn phân vùng chỉ đọc để giữ người dùng độc hại (hoặc quy trình) không ghi đè hoặc thay thế nhị phân ở đó bằng trojan. Vì vậy, nếu nhị phân ssh của bạn sống trong / usr / local / bin và / usr / local được gắn ở chế độ chỉ đọc, sẽ rất khó cho bất kỳ ai thay thế nhị phân đó.

  2. Tính linh hoạt / tiện lợi: ví dụ: nếu bạn thiết lập / var trên phân vùng của chính nó và nó đã đầy đến 80%, bạn có thể thay đổi kích thước hoặc thậm chí di chuyển nó sang đĩa khác nếu cần. Tôi thà làm điều đó hơn là đối phó với một hệ thống có '/' đầy đủ 100% vì các bản ghi dưới / var đã bị vướng mắc theo một cách nào đó. Các phân vùng khác nhau cũng có thể có các hệ thống tệp khác nhau hoàn toàn, cho phép HĐH của bạn sử dụng ext3 (ví dụ) và cơ sở dữ liệu của bạn để sử dụng ext4 hoặc kho lưu trữ đối tượng của bạn để sử dụng XFS hoặc ứng dụng tùy chỉnh của bạn để sử dụng ... thiết bị thô!


Cách thông thường để xử lý cập nhật hệ thống trong trường hợp đầu tiên là gì?
trực giác

6

Theo truyền thống, nó được thực hiện theo cách này vì đặc thù của phần cứng DEC mà nó được phát triển. Sẽ kinh tế hơn khi mua một đĩa nhỏ, nhanh để root và trao đổi và một đĩa lớn hơn, chậm hơn cho dữ liệu người dùng ( /usr). Trong một số cách, quy ước chỉ bị mắc kẹt.

Tuy nhiên, vẫn còn một số lý do để làm điều này. Một vài cái phổ biến là:

  • Đặt / khởi động vào một phân vùng nhỏ, riêng biệt gần đầu đĩa. Phần sụn BIOS PC cũ hơn sẽ chỉ khởi động từ 1024 bản nhạc đầu tiên của đĩa. Điều này ít có khả năng là một vấn đề với phần cứng hiện đại.

  • Đặt các phân vùng bận rộn như /varhoặc /tmpvào các đĩa riêng biệt để loại bỏ các tắc nghẽn khi truy cập vào dữ liệu người dùng.

  • Hệ thống tập tin khác nhau trên các phân vùng khác nhau. Ví dụ, bạn có thể muốn sử dụng hệ thống tệp nhật ký cho /usrnhưng không phải cho các phân vùng lưu trữ tệp cho DBMS như Oracle - DBMS thực hiện nhật ký riêng và hệ thống tệp nhật ký có thể áp đặt chi phí đáng kể.

  • Có dữ liệu người dùng trên một đĩa hoặc phân vùng riêng biệt giúp bạn dễ dàng di chuyển nó vào một đĩa lớn hơn mà không cần phẫu thuật lớn trên máy.

  • Bạn có thể muốn gắn dữ liệu được chia sẻ, chẳng hạn như thư mục nhà hoặc nhị phân ứng dụng qua NFS.

  • fsckmất nhiều thời gian với khối lượng lớn cho một số loại hệ thống tập tin. Bạn có thể muốn có lịch bảo trì hệ thống tệp khác nhau cho các khu vực hệ thống (thường xuyên) và khu vực người dùng (ít thường xuyên hơn).


5

Định dạng một hệ thống tập tin cũng có thể nhanh hơn rm -rf'ing nó. Đặc biệt nếu bạn có hàng ngàn tệp nhỏ để xóa. Squid cache bạn muốn tạo lại hoàn toàn ... hàng tấn tệp hình ảnh mà bạn cần xử lý nhưng có thể bị loại bỏ sau khi kết quả cuối cùng được tạo. tập tin .obj từ các biên dịch lớn ... vv


4

Một thư mục đôi khi tôi đặt trên một phân vùng riêng biệt /usr/local/để mọi phần mềm tôi đã xây dựng và cài đặt riêng biệt từ trình quản lý gói phân phối của tôi có thể được sử dụng lại nếu tôi thay đổi / nâng cấp bản phân phối của mình hoặc bởi một bản phân phối khác được cài đặt bên cạnh nó. Rõ ràng là nó không được đảm bảo để hoạt động trên tất cả các kết hợp có thể nhưng nó không gây hại.


2

Tôi đặt /tmptrên một tmpfs, vì vậy nội dung được lưu trữ trong RAM thay vì trên đĩa. Điều đó sẽ không hữu ích cho /etchoặc /usrtuy nhiên.

Nhưng việc có thể đặt các thư mục khác nhau trên các hệ thống tập tin khác nhau có thể có lợi; tức là /hometrên một hệ thống tệp nhanh / thử nghiệm như ext4 so với hệ thống tệp ổn định / đáng tin cậy như ext2 cho /etc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.