it-swarm-vi.com

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

Vì vậy, gần đây, trình cài đặt Debian 5.0.5 đã cung cấp cho tôi các phân vùng /usr, /home, /var/tmp (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 /home Có thể thuận lợi khi đặ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, nhưng tại sao lại có bất cứ điều gì khác?

56
Alex B
  1. Giảm thiểu tổn thất: Nếu /usr nằm trên một phân vùng riêng, bị hỏng /usr không có nghĩa là bạn không thể phục hồi /etc.
  2. Bảo vệ: / không thể luôn luôn ro (/root có thể cần phải là rw, v.v.) nhưng /usr có 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 /var chứa dữ liệu trong khi /usr không như vậy /usr sự ổn định có thể là sự hy sinh nhưng không nhiều bằng /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.
57
Maciej Piechotka

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

/var/tmp Có 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 /, 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 /tmp Là một liên kết tượng trưng đến /var/tmp.

25
Didier Trosset

Bởi vì người dùng thông thường có thể khiến mọi thứ được ghi vào /var/tmp, Do đó có khả năng gây ra sự cố cho toàn hệ thống. Bằng cách này, các quy trình người dùng có thể điền vào /var/tmp, Nhưng không phải là fs gốc. /usr Riêng biệt hữu ích cho /usr Trên NFS hoặc cá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)

13
KellyClowers

Vấn đề là một fs root đầy đủ làm cho hệ thống linux không thể hoạt động được đế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 nào /tmp/var và đặc biệt /home nằm 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. Lấy /usr vào hỗn hợp trong đó tất cả các cài đặt thông thường sẽ được đặt và ngay cả cài đặt phần mềm mới cũng có thể gây ra sự cố này.

11
txwikinger

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ô!

9
jonesy

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 rãnh đầ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ư /var hoặc là /tmp vào các đĩa riêng biệt để loại bỏ tắc nghẽn khi truy cập 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 /usr nhưng không dành cho các phân vùng lưu trữ các tệp cho một DBMS như Oracle - DBMS tự ghi nhật ký 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.

  • fsck mấ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 nhất định. Bạn có thể muốn có lịch trình 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).

Đị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 là 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.

5
gabe.

Một thư mục đôi khi tôi đặt trên một phân vùng riêng là /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.

4
Troubadour

Tôi đặt /tmp trê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 /etc hoặc là /usr Tuy 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; I E. /home trên 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.

2
jonescb