Những lợi thế và bất lợi của việc gắn các thư mục khác nhau trên các phân vùng riêng biệt là gì?


41

Trong khi cài đặt Ubuntu với tùy chọn "cái gì khác", tôi phát hiện ra rằng có nhiều thư mục có thể được gắn trên các phân vùng riêng biệt, như bạn có thể thấy trong hình bên dưới.

nhiều thư mục có thể được gắn trên các phân vùng riêng biệt

Vì vậy, những lợi thế và bất lợi của việc gắn các thư mục (hoặc thư mục) này trên các phân vùng riêng biệt là gì?

Cụ thể các thư mục là

  1. /boot
  2. /home
  3. /tmp
  4. /usr
  5. /var
  6. /srv
  7. /opt
  8. /usr/local


6
@CharlesGreen Câu hỏi đó mô tả việc sử dụng các thư mục này. Tôi muốn biết những lợi thế và bất lợi của việc gắn chúng trên các phân vùng riêng biệt. Vì vậy, những câu hỏi này không giống nhau.
Người dùng đã đăng ký

Câu trả lời:


54

Cách đây rất lâu...

... Đã có lúc mọi người thường cài đặt Linux và cấu hình nó bằng tay cho các nhu cầu cụ thể của họ. Một số điều này là đúng ngay cả ngày nay cho các máy chủ. Các lựa chọn bạn thấy trong gpartedmột số lựa chọn phổ biến cho những người có nhu cầu rất khác so với người dùng máy tính để bàn trung bình, đối tượng dự định cho máy tính để bàn Ubuntu.

Hãy để chúng tôi lấy những cái này tại một thời điểm. Tôi sẽ bỏ qua những cái tôi không biết nhiều.

  1. /bootđã có lúc hệ thống tập tin Linux rất mong manh và ổ cứng thì nhỏ. Mọi người sợ rằng ổ cứng sẽ bị đầy hoặc bị hỏng và Ubuntu sẽ không khởi động. Giữ các hạt nhân trong một phân vùng riêng biệt giúp hệ thống khởi động khi có sự cố khác. Trong những ngày đó, người dùng Linux thường biên dịch kernel của riêng họ và dọn sạch những cái cũ. Như gần đây như với Ubuntu 16.04 LTS , ứng dụng Software Updater đã cài đặt bản cập nhật kernel mới nhất nhưng không xóa các kernel cũ. Do đó, một /bootphân vùng nhỏ chứa đầy các hạt nhân cũ và hệ thống đã ngừng khởi động trừ khi được dọn dẹp định kỳ. Xem điều gì đã xảy ra nếu bạn có một /bootphân vùng riêng và quên làm sạch nó thường xuyên: Làm cách nào để tôi giải phóng thêm không gian trong / boot? Với Ubuntu 18.04 LTS , ứng dụng Trình cập nhật phần mềm không chỉ giúp hệ thống luôn cập nhật mà còn loại bỏ các nhân cũ.
  2. Mặt khác, nếu bạn muốn mã hóa /phân vùng (để bảo vệ phần mềm bí mật mà bạn đang làm việc), bạn sẽ cần một /bootphân vùng riêng (và không được mã hóa) . Nếu không hệ thống sẽ không khởi động. Tương tự, nếu bạn có ổ RAID, việc giữ /boottrong phân vùng không phải RAID có thể hữu ích. Nhiều người nghĩ rằng có một /bootphân vùng riêng là một ý tưởng rất tốt cho những lý do này và những lý do khác.
  3. /homeGiữ nhà trong một phân vùng riêng biệt vẫn có ý nghĩa. Thư mục / phân vùng này có các tệp cá nhân của bạn và có nó trong một phân vùng riêng cho phép bạn định dạng /và cài đặt lại Ubuntu trong khi giữ cho các tệp của bạn không bị ảnh hưởng. Các phiên bản gần đây của phần mềm cài đặt Ubuntu bao gồm lựa chọn cập nhật từ DVD / USB. Tùy chọn này giữ /homenguyên vẹn ngay cả khi nó không nằm trên một phân vùng riêng. Nếu bạn hết dung lượng trong ổ đĩa chính có /phân vùng. Bạn có thể muốn thêm một ổ đĩa mới và tạo một /homephân vùng duy nhất trong ổ đĩa mới.
  4. /tmplà nơi các tập tin tạm thời đi. Nếu bạn đang chạy một máy chủ tạo các tệp tạm thời lớn, chúng có thể lấp đầy tất cả dung lượng đĩa và khiến máy chủ của bạn tạm dừng. Giữ nó trong một phân vùng riêng sẽ chỉ lấp đầy phân vùng đó và có thể dừng quá trình tạo các tệp tạm thời lớn nhưng sẽ không dừng phần còn lại của hệ thống. Tôi được bảo là dễ dàng xử lý một /tmpphân vùng đã đầy hơn một thư mục tạm thời trong /phân vùng.
  5. /usr/, /opt//usr/locallà tất cả những nơi mà các chương trình và ứng dụng được giữ trong các điều kiện khác nhau. Nếu bạn phát triển phần mềm cho Linux, có thể nên giữ những phần này trong các phân vùng riêng biệt, để nếu bạn cài đặt lại Ubuntu, bạn sẽ không xóa các chương trình bạn đã viết hoặc đang làm việc.
  6. Giữ /opt//usr/localtrong phân vùng riêng biệt cũng có ý nghĩa nếu bạn cài đặt các chương trình từ nguồn (của riêng bạn hoặc từ nơi khác) và muốn sử dụng chúng trong một bản phân phối khác (giả sử Red Hat) được cài đặt trong cùng một máy tính trong phân vùng riêng. Sau đó, cả hai bản phân phối, Ubuntu và Red Hat có thể chia sẻ /opt/usr/localphân vùng. (Cảm ơn Rmano!)
  7. /srv/varđặc biệt hữu ích như các phân vùng riêng biệt nếu bạn chạy máy chủ hoặc phát triển các trang web. Đối với người dùng máy tính để bàn trung bình, các thư mục này không chiếm nhiều dung lượng và không chứa bất kỳ thứ gì có giá trị cho người dùng. Đối với một nhà phát triển web mất /var/wwwcó thể có nghĩa là mất việc.

Để chắc chắn, đây không phải là những thư mục duy nhất người ta có thể gắn kết làm phân vùng. Trong Linux, người ta có thể gắn kết một phân vùng như bất kỳ thư mục nào ở bất cứ đâu. Các phân vùng thường được gắn dưới dạng thư mục con của /mnt//media.

Hi vọng điêu nay co ich


+1, câu trả lời hay. Bạn cũng có thể thấy sự tham gia của tôi trong Askubfox.com/a/379212/16395Askubfox.com/a/379019/16395
Rmano

1
Cảm ơn @Rmano tôi đã thấy câu trả lời chi tiết của bạn trước đây. Tôi sẽ mượn từ câu trả lời thứ hai của bạn và chỉnh sửa của tôi.
dùng68186

2
Không sao (mặc dù tôi làm vậy để giúp họ sống sót khi cài đặt lại hoàn toàn --- trình cài đặt mới hơn có thể lưu /homenhưng không /usr/local. BTW, "cài đặt bằng tay và thợ may" là bổ đề của Arch Linux ... vì vậy vẫn còn (rất nhiều ) của những người làm điều đó.
Rmano

2
Lý do lịch sử của việc có / khởi động như một phân vùng riêng biệt là từ những ngày mà ổ cứng lớn hơn BIOS có thể xử lý vì vậy nếu hạt nhân nằm trong phần không thể truy cập của đĩa thì không thể tải được. Bằng cách đặt / boot partiton trước trên đĩa, đảm bảo rằng BIOS luôn có thể truy cập kernel để Linux có thể khởi động.
Thorbjørn Ravn Andersen

1
Cũng lưu ý rằng các đĩa có thể được thêm vào để có thêm dung lượng, nhưng trong Unix bạn cần một nơi nào đó để gắn kết chúng thay vì chỉ gán một ký tự ổ đĩa. Chẳng hạn, nếu đĩa chạy đầy, một đĩa mới đã được mua để giữ / home và nội dung hiện tại được chuyển đến đó.
Thorbjørn Ravn Andersen

15

Ưu điểm chung của việc có nhiều phân vùng:

  1. Bạn có thể sử dụng các đĩa / LUN khác nhau và có hiệu suất tốt hơn. Điều này có thể tăng hiệu suất của cơ sở dữ liệu vì bạn có thể có nhật ký giao dịch trên một bộ lưu trữ và các tệp dữ liệu trên một cơ sở dữ liệu khác. Tương tự cho các ứng dụng web chuyên sâu I / O.
  2. Bạn có thể sử dụng các tùy chọn gắn kết khác nhau (làm tăng tính bảo mật hoặc ảnh hưởng đến hiệu suất hoặc tính ổn định theo cách chi tiết hơn)
  3. Bạn có thể có các hệ thống tập tin khác nhau
  4. Bạn quản lý không gian riêng. Vì vậy, bạn có thể có một ứng dụng khó chịu lấp đầy không gian không ảnh hưởng đến các ứng dụng khác.
  5. Sự phân mảnh của một phân vùng là độc lập với phân vùng khác.
  6. Bạn có thể chụp nhanh, gắn kết, umount, định dạng, chống phân mảnh, theo dõi hiệu suất của các hệ thống tệp đó một cách độc lập.
  7. Bạn có thể có mã hóa trên khối lượng cụ thể.
  8. Bạn có thể gắn khối lượng theo yêu cầu.

Nhược điểm chung của việc có nhiều phân vùng:

  1. Nó làm tăng chi phí quản lý.
  2. Bạn sẽ có nhiều cơ hội để lãng phí nhiều dung lượng đĩa hơn.
  3. Bạn sẽ có nhiều sự cố liên quan đến đĩa đầy đủ.
  4. Khó hơn để tạo một ảnh chụp nhanh nhất quán của một ứng dụng chạy trên các khối lượng khác nhau.
  5. Nó sử dụng nhiều tài nguyên hơn một chút.
  6. Tùy thuộc vào loại âm lượng (nhãn MS-DOS, LVM, btrfs ...), bạn có thể không dễ dàng phân bổ không gian từ một âm lượng bằng cách thu nhỏ âm lượng khác. Đặc biệt là trực tuyến.

Một cách khác để phân vùng hệ thống của bạn là sử dụng LVM, btrfs hoặc zfs cho /. Chỉ phân bổ không gian tối thiểu cho / và khi cần tạo khối lượng logic hoặc mở rộng /. Điều này cho phép bạn lựa chọn phân chia khối lượng sau đó và có chi phí bảo trì thấp hơn.

Bây giờ công cụ cụ thể:

  • / boot là tốt để là một phân vùng riêng biệt. Hệ thống tệp phải được hỗ trợ bởi bộ tải khởi động của bạn (thường là GRUB).
  • Nếu bạn sử dụng EFI / UEFI, yêu cầu phải có phân vùng hệ thống EFI.
  • / home là tốt để tách nội dung người dùng khỏi HĐH và ứng dụng.
  • / tmp có thể được gắn với noexec, gật đầu, nosuid. Nó có thể là một bộ nhớ ánh xạ fs như tmpfs.
  • / usr có thể được gắn kết chỉ đọc và chỉ rwed cho các bản cập nhật, nó có thể được điều khiển từ xa như chia sẻ NFS.
  • / srv / opt sẽ lưu trữ dữ liệu ứng dụng và ứng dụng. Nếu bạn có ứng dụng chuyên sâu I / O, bạn có thể sử dụng hệ thống con đĩa tốt hơn (ví dụ: SSD)
  • / usr / local là mặc định được sử dụng bởi các ứng dụng được cài đặt cục bộ trên máy hiện tại. Ví dụ: bạn có mọi thứ khác trên NFS và có đĩa cục bộ ...

Không có giải pháp hoàn hảo. Nếu bạn không có lý do rõ ràng tại sao để tạo một phân vùng mới, thì không. Phân vùng duy nhất bạn có thể cần tạo bên cạnh / is / boot.

Đối với máy tính để bàn / máy tính xách tay là tốt để có / nhà để bạn có thể cài đặt lại hệ điều hành độc lập với dữ liệu của bạn.


Không có gì. Tôi không đồng ý rằng nên có một /bootphân vùng riêng cho người dùng máy tính để bàn trung bình. Các hạt nhân cũ không được dọn sạch tự động và các hạt nhân mới được thêm vào. Sau đó, điều này xảy ra!
dùng68186

1
Nếu nó đầy, người dùng sẽ không thể cài đặt các kernel mới hơn và các bản cập nhật sẽ thất bại. Nhưng hệ thống sẽ hoạt động.
Mircea Vutcovici

1
Mặt khác, nếu bạn đang sử dụng một hệ thống tệp không được GRUB hỗ trợ hoặc bạn mã hóa phân vùng /, bạn phải sử dụng phân vùng / boot.
Mircea Vutcovici

Đồng ý cả hai điểm.
dùng68186

1
Tôi đã chỉnh sửa câu trả lời của mình để xóa yêu cầu bắt buộc của / phân vùng khởi động.
Mircea Vutcovici

2

Cho máy tính để bàn?

Không khác nhau.

Cho máy chủ?

Quản lý không gian và sao lưu.

Nếu hệ thống của bạn có nhiều người dùng, bạn có thể tạo phân vùng bổ sung cho / home /, thì người dùng sẽ không cho phép không gian và root (/) sẽ không bị ảnh hưởng.

Bạn cũng có thể gắn NFS, SMB hoặc phân vùng trên các đĩa vật lý khác trên các thư mục đó. Ví dụ :

/ dev / sda1 / boot (1GB)

/ dev / sda2 / (60GB)

nfs: // IP / thư mục / nhà (X TB)

/ dev / sdb1 / var (1TB cho / var / www hoặc / var / ftp)

Dành cho máy tính xách tay

/ trên m-sata (nhanh)

/ var / home / opt / tmp trên hdd (chậm)


1
Bạn có thể giải thích về điểm cuối cùng của bạn? Một bài đăng khác khuyên không nên có các phân vùng đó trên một đĩa riêng biệt, do tạo thêm một điểm lỗi: bây giờ, nếu một trong hai ổ đĩa bị lỗi, bạn sẽ không có hệ thống làm việc. Chưa kể rằng nó sẽ làm chậm thời gian khởi động, vì bây giờ / đang chờ phân vùng ổ cứng gắn kết.
Khashir

2

Câu trả lời của przemo, imo, gần như đạt được những điểm thực tế. Dưới đây là một số cân nhắc thực tế bổ sung:

Các môi trường doanh nghiệp thường sử dụng các phân vùng riêng cho thuê /, / nhà, / opt, / var, / boot và các hệ thống tệp bổ sung (1 cho mỗi ứng dụng hoặc nhóm ứng dụng) trong / opt. Điều này chủ yếu là để tránh việc hệ thống hết dung lượng do thư mục nhà của ai đó bị lớn (/ home), nhật ký mất kiểm soát (/ var) hoặc các ứng dụng tiêu tốn hàng tấn dung lượng (/ opt, / opt //, v.v.) và / boot để các phân vùng khác có thể được xây dựng trong LVM và cũng để đảm bảo bạn có thể lấy thứ gì đó của trình phục hồi nếu phân vùng hệ thống chính bị hỏng vì một số lý do.

Đối với việc sử dụng máy chủ cá nhân của riêng tôi, tôi chỉ giữ các phân vùng /, / boot và / home riêng biệt để tôi có thể khởi động kép nhiều hệ điều hành Linux / UNIX và sử dụng cùng một phân vùng / home cho chúng.

Trong trường hợp xây dựng VM trong Oracle Virtualbox, VMWare Player / Workstation / Fusion, v.v. để sử dụng cá nhân, thực sự không có lý do thực tế nào để có nhiều phân vùng với các điểm gắn kết khác nhau trên tài khoản về khả năng chia sẻ thư mục đẹp được cung cấp bởi ít nhất VirtualBox và VMWare Player / Workstation / Fusion. Ngoại lệ duy nhất có thể là / khởi động cho lý do shell recovery được đưa ra trong đoạn "môi trường doanh nghiệp" của tôi.


2

Nếu có điều gì đó thực sự sai trong quá trình cập nhật hoặc nâng cấp phiên bản chính, có / home trên một phân vùng khác cho phép bạn khởi động từ CD và sau đó xóa hoàn toàn và cài đặt lại hệ điều hành mà không mất dữ liệu. Ngoài ra, điều này làm cho nhiều khởi động với các bản phân phối Linux khác nhau có thể, một số người muốn đánh giá chúng cạnh nhau.


Riêng biệt / nhà là một trong những hộp xà phòng của tôi, nhưng tôi vẫn bị cháy gần đây khi tôi cài đặt saucy trong một phân vùng khác chỉ để thử nghiệm trên một sổ ghi chép một chiều và nó làm hỏng một loạt các tệp cấu hình trong nhà chung / nhà của tôi khiến cho một người rất không hài lòng khi Tôi khởi động lại vào nó.
Joe

0

Ngoài các câu trả lời hiện có, bạn có thể có các trường hợp sử dụng hiệu suất và khả năng tương thích không chuẩn / chung có lợi từ các phân vùng khác nhau.

Bạn có thể muốn chia sẻ dữ liệu với một hệ điều hành khác như Windows và cần sử dụng một hệ thống tệp mà cả Linux và hỗ trợ.

Bạn có thể có các trường hợp sử dụng chuyên gia cho phép bạn có các điều chỉnh khác nhau (cùng loại hệ thống tệp, chẳng hạn như phân vùng EXT4 cho nhiều tệp nhỏ và phân vùng EXT4 cho một số tệp lớn (như máy ảo), có thể tối ưu hóa lưu trữ và hiệu suất cho cả hai trường hợp sử dụng.

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.