Giới thiệu về FreeBSD cho người dùng Linux. Những lầm tưởng về FreeBSD

Các thiết bị và chương trình người dùng cơ bản (còn gọi là vùng người dùng), chẳng hạn như lệnh shell, v.v., được chứa trong một cây hệ thống kiểm soát phiên bản (cho đến ngày 31 tháng 5 năm 2008 - CVS, bây giờ - SVN). Điều này phân biệt FreeBSD với GNU/Linux - một hệ điều hành giống UNIX miễn phí khác - trong đó hạt nhân được phát triển bởi một nhóm nhà phát triển, một bộ chương trình người dùng được phát triển bởi những nhóm khác (ví dụ: dự án GNU) và nhiều nhóm thu thập tất cả. thành một tổng thể duy nhất và phát hành nó dưới dạng các bản phân phối Linux khác nhau.

FreeBSD đã chứng tỏ mình là một hệ thống xây dựng máy chủ Internet và mạng nội bộ. Nó cung cấp các dịch vụ mạng khá đáng tin cậy và quản lý bộ nhớ hiệu quả.

Ngoài tính ổn định, FreeBSD còn phổ biến do giấy phép của nó, khác biệt đáng kể so với giấy phép GNU GPL nổi tiếng - nó cho phép sử dụng mã không chỉ trong phần mềm miễn phí mà còn trong các phần mềm độc quyền. Không giống như GNU LGPL, cũng cho phép sử dụng mã miễn phí trong một chương trình đóng, giấy phép BSD đơn giản hơn và ngắn hơn.

Câu chuyện

FreeBSD 3

3.0-RELEASE được công bố vào ngày 13 tháng 10 năm 1998. Sự khác biệt chính so với 2.2 là việc chuyển đổi sang các tệp thực thi ELF. Bản 3.5-RELEASE cuối cùng được phát hành vào ngày 23 tháng 6 năm 2000.

BSD miễn phí 4

Một trong những nhược điểm chính của FreeBSD 4 được coi là hỗ trợ kém cho các hệ thống đa bộ xử lý, đặc biệt là ở chế độ đa luồng.

FreeBSD 4 đã lập kỷ lục về thời gian phát triển của một nhánh hệ điều hành - trong 5 năm, một số lượng lớn lỗi đã được loại bỏ và đạt được một hệ thống cực kỳ ổn định.

Trong quá trình phát triển FreeBSD 4, dự án DragonFlyBSD đã tách ra khỏi nó, những người sáng lập đặt mục tiêu tối ưu hóa nghiêm túc hạt nhân cho các hệ thống được tải cao, đặc biệt là hỗ trợ tốt hơn cho đa xử lý (giảm thời gian cần thiết để chuyển đổi luồng). , vân vân.).

BSD miễn phí 5

Thay đổi kiến ​​trúc lớn nhất trong FreeBSD 5 là thay đổi cơ chế khóa ở cấp kernel thấp hơn để cải thiện khả năng hỗ trợ cho các hệ thống SMP đa bộ xử lý. Điều này đã giải phóng hầu hết kernel khỏi cái gọi là “Khóa khổng lồ”. Bây giờ kernel có khả năng thực hiện nhiều tác vụ cùng một lúc. Một thay đổi quan trọng khác là việc triển khai hỗ trợ riêng cho đa luồng M:N được gọi là Thực thể được lập lịch hạt nhân (KSE). Bắt đầu với FreeBSD 5.3, việc triển khai luồng này được cài đặt theo mặc định cho đến khi nó được thay thế bằng triển khai mô hình 1:1 trong FreeBSD 7.

FreeBSD 5 đã thực hiện một thay đổi lớn đối với hệ thống I/O khối bằng việc giới thiệu hệ thống dịch yêu cầu I/O có cấu trúc, mô-đun GEOM (do Poul-Henning Kamp đóng góp). GEOM cho phép tạo ra nhiều chức năng khác nhau, chẳng hạn như sao chép hoặc mã hóa (mô-đun GBDE và GELI).

Phiên bản 5.4 và 5.5 được coi là ổn định và có hiệu suất cao, nhưng các phiên bản trước đó không phù hợp để sử dụng trong sản xuất.

BSD miễn phí 6

Những người tham gia dự án đang phát triển một nhánh CURRENT (“phiên bản hiện tại”) và một số STABLE (“ổn định”, tính ổn định có nghĩa là đảm bảo các giao diện không thay đổi, chẳng hạn như API, ABI, v.v.).

Mã mới được đẩy tới nhánh HIỆN TẠI, nơi nó nhận được thử nghiệm rộng rãi hơn. Các tính năng mới được thêm vào HIỆN TẠI có thể vẫn còn trong hệ thống hoặc có thể bị hủy nếu việc triển khai không thành công. Đôi khi phiên bản này có thể ở trạng thái không sử dụng được. Với việc bắt đầu sử dụng perforce làm kho lưu trữ phụ và với việc phân bổ các dự án/khu vực trong svn, dự án cố gắng đảm bảo rằng HIỆN TẠI luôn hoạt động.

Phiên bản ỔN ĐỊNH chỉ chứa những cải tiến đã được CURRENT thử nghiệm. Tuy nhiên, phiên bản này cũng chủ yếu dành cho các nhà phát triển. Không nên nâng cấp các máy chủ sản xuất quan trọng lên ỔN ĐỊNH mà không kiểm tra nó trước. Dựa trên các phiên bản ỔN ĐỊNH, RELEASE thường xuyên được tạo ra, kiểm tra kỹ lưỡng bởi các nhà phát triển, nhóm kỹ sư phát hành và nhiều đối tượng người dùng hơn.

Sau khi các bản phát hành được phát hành, các nhánh phát triển bổ sung được tạo ra để hỗ trợ các bản phát hành, nhưng chỉ những thay đổi cần thiết nhất mới được thực hiện để khắc phục các lỗi nghiêm trọng hoặc sự cố bảo mật hệ thống. Trước FreeBSD phiên bản 4, các nhánh ổn định và hiện tại có cùng số phiên bản chính. Nhánh hiện tại sau đó được đánh số 5, trong khi nhánh ổn định vẫn giữ nguyên số 4.

Các nhánh phát triển ổn định hiện được hỗ trợ là 7-STABLE, 8-STABLE và 9-STABLE và 10-CURRENT hiện tại. Các nhân viên bảo mật duy trì nhánh 7-STABLE cho những người dùng chưa nâng cấp lên FreeBSD phiên bản 8 và 9.

Tùy chọn cài đặt

Hệ điều hành FreeBSD có thể được cài đặt từ nhiều phương tiện khác nhau, chẳng hạn như:

  • FAT - phân vùng đĩa cứng;
  • máy chủ từ xa (thông qua giao thức FTP hoặc NFS).

Cổng và gói

FreeBSD hiện cung cấp cho người dùng hai công nghệ bổ sung để cài đặt phần mềm của bên thứ ba: bộ sưu tập các cổng FreeBSD và gói phần mềm nhị phân. Bất kỳ hệ thống nào trong số này đều có thể được sử dụng để cài đặt các phiên bản ứng dụng mới nhất từ ​​phương tiện cục bộ hoặc trực tiếp từ mạng.

Bộ sưu tập các cổng, như một hệ thống con của hệ thống để lắp ráp và bảo trì các chương trình đã cài đặt, được cập nhật định kỳ. Hiện nó có khoảng 22 nghìn chương trình được chuyển sang FreeBSD, bao gồm: môi trường đồ họa GNOME 2.32.1, KDE 4 4.7.4, các ứng dụng văn phòng và gói OpenOffice.org 3.3.2, LibreOffice 3.4.5, hệ thống hỗ trợ in CUPS 1.5.2, Chương trình truy cập Internet Mozilla Firefox 10.0.2 và Thunderbird 10.0.2, Google Chrome 17.0.963.65, hệ thống quản lý cơ sở dữ liệu PostgreSQL 8.2.23, 8.3.18, 8.4.11, 9.0.7 và 9.1.3, MySQL 25, 5.0. .95, 5.1.61 và 5.5.21, bộ công cụ phát triển Java OpenJDK 6 b24 và OpenJDK7 7.2.13, môi trường phát triển Eclipse 3.6.2 với các bổ sung cho phát triển Web và cơ sở dữ liệu cũng như NetBeans 7.1. Cơ sở hạ tầng ngôn ngữ phiên dịch được thể hiện bằng Perl 5.12.4 với khả năng chuyển sang Perl 5.14.2, Python 2.7.2 và Ruby 1.8.7 và 1.9.3.

Logo linh vật

Linh vật chính của hệ thống là quỷ đỏ hay còn gọi là Beastie. Ngoài anh, Devilette, một cô gái mặc trang phục quỷ đỏ, cũng được coi là linh vật.

Hệ thống dẫn xuất

Giấy phép BSD cho phép FreeBSD được sửa đổi để các hệ thống nhúng và các dẫn xuất độc quyền khác được giữ làm bí mật thương mại, khiến FreeBSD trở nên hấp dẫn đối với ngành. Đồng thời, vẫn chưa rõ FreeBSD sử dụng công nghệ cụ thể nào, ngoại trừ bộ định tuyến Juniper và bảng TV. Sau đây là các hệ điều hành phái sinh miễn phí.

  • DragonFly BSD là một nhánh từ FreeBSD 4.8, được tạo ra như một sự tiếp nối hợp lý của nhánh thứ 4. Nó bao gồm một hệ thống phân luồng tin nhắn tương tự như hệ thống được sử dụng trong các hệ thống vi nhân.
  • FreeSBIE là bản phân phối LiveCD của FreeBSD, tương tự như bản phân phối Linux có tên Knoppix.
  • Frenzy là một dự án LiveCD dựa trên FreeBSD khác chủ yếu nhắm vào các quản trị viên hệ thống nói tiếng Nga.
  • TrueBSD là bản phân phối LiveDVD của Belarus dựa trên FreeBSD.
  • BSDeviant là một LiveCD khác.
  • MiniBSD là một bản phân phối FreeBSD nhỏ gọn.
  • NanoBSD là một bản phân phối FreeBSD nhỏ gọn khác.
  • mfsBSD là một LiveCD thu nhỏ có khả năng khởi động dựa trên FreeBSD, được tải hoàn toàn vào RAM của máy tính.
  • Debian GNU/kFreeBSD là phiên bản phái sinh dựa trên bộ công cụ GNU, được phát triển bởi nhóm người dùng Debian.
  • Darwin là kernel của Mac OS X, nhiều lệnh được lấy từ FreeBSD 4/5, được phát triển bởi Apple, họ hàng rất xa của FreeBSD, vì nó sử dụng kernel Mach.
  • m0n0wall là tường lửa plug-in dựa trên FreeBSD.
  • pfSense là một nhánh của dự án m0n0wall, có nhiều chức năng hơn.
  • FreeNAS là một NAS lưu trữ gắn mạng dựa trên m0n0wall.
  • PC-BSD là một bản phân phối có trình cài đặt đồ họa và môi trường máy tính để bàn KDE theo mặc định.
  • RUS-BSD là bản sao của PC-BSD, một bản phân phối được Nga hóa dành cho người dùng ở các quốc gia CIS, từ phiên bản 8.1 RUS-BSD dựa trên Frenzy và sự phát triển của nó.
  • GhostBSD - LiveCD với môi trường máy tính để bàn Gnome mặc định.
  • DesktopBSD là một bản phân phối khác để sử dụng tại nhà.
  • Dự án Bộ định tuyến BSD (BSDRP) là một bộ định tuyến phần mềm nhỏ gọn dựa trên FreeBSD.

trưng Phục Sinh

Xem thêm

  • Làm cách nào để vá KDE2 trong FreeBSD?

Văn học

Sách

  • Christopher Negus, Francois Caen, Hộp công cụ BSD UNIX: Hơn 1000 lệnh cho FreeBSD, OpenBSD và NetBSD, Wiley, ngày 5 tháng 5 năm 2008, 309 trang, ISBN 0-470-37603-1.
  • Babak Farrokhi, Quản trị mạng với FreeBSD 7: Xây dựng, bảo mật và duy trì mạng bằng hệ điều hành FreeBSD, Packt Publishing, ngày 14 tháng 4 năm 2008, 280 trang, ISBN 1-84719-264-5.
  • Bryan J. Hong, Xây dựng máy chủ với FreeBSD 7, No Starch Press, ngày 1 tháng 4 năm 2008, 288 trang, ISBN 5-8459-0741-1.
  • Joseph Kong, Thiết kế Rootkit BSD: Giới thiệu về hack hạt nhân, No Starch Press, 10 tháng 4 năm 2007, 144 trang, ISBN 1-59327-142-5.
  • Brian Tyman. FreeBSD 6. Hướng dẫn đầy đủ = FreeBSD 6 được giải phóng. - M.: “Williams”, 2007. - 1056 tr. - ISBN 5-8459-0741-1
  • Harald Zisler, FreeBSD, Franzis Verlag GmbH, ngày 31 tháng 8 năm 2006, 381 trang, ISBN 3-7723-6538-8
  • Roderick Smith. Tài liệu tham khảo đầy đủ về FreeBSD = FreeBSD: Tài liệu tham khảo đầy đủ. - M.: “Williams”, 2005. - 672 tr. - ISBN 5-8459-0576-1
  • Yanek Korff, Paco Hope, Bruce Potter., Nắm vững bảo mật FreeBSD và OpenBSD, O'Reilly, tháng 3 năm 2005. ISBN 0-596-00626-8.
  • Michael Lucas.= BSD tuyệt đối. Hướng dẫn cơ bản về FreeBSD. - St.Petersburg. : Symbol-Plus, 2004. - 616 tr. - ISBN 5-93286-066-9
  • Dru Lavigne. Hack BSD, 100 mẹo về sức mạnh công nghiệp dành cho người dùng và quản trị viên BSD. O'Reilly, tháng 5 năm 2004. ISBN 0-596-00679-9.
  • Michael Urban, Brian Tiemann. FreeBSD được phát hành, ấn bản thứ hai. Nhà xuất bản Sams, tháng 4 năm 2003. ISBN 0-672-32456-3.
  • Greg Lehey. FreeBSD hoàn chỉnh, Phiên bản thứ 4, Tài liệu từ Nguồn. O'Reilly, tháng 4 năm 2003. ISBN 0-596-00516-4.
  • Marshall Kirk McKusick, George V. Neville-Neil. Thiết kế và triển khai hệ điều hành FreeBSD. Addison Wesley Professional, tháng 8 năm 2004. ISBN 0-201-70245-2.
  • Ted Mittelstaedt. Hướng dẫn dành cho nhà mạng doanh nghiệp FreeBSD. Addison-Wesley, tháng 12 năm 2000. Bìa mềm, ấn bản sách và CD, 401 trang. ISBN 0-201-70481-1.
  • Cẩm nang FreeBSD, Tập 1: Hướng dẫn sử dụng, tái bản lần thứ 3. Dự án tài liệu FreeBSD. Trung tâm mua sắm FreeBSD, tháng 11 năm 2003. ISBN 1-57176-327-9.
  • Cẩm nang FreeBSD, Tập 2: Hướng dẫn dành cho quản trị viên, tái bản lần thứ 3. Dự án tài liệu FreeBSD. Trung tâm mua sắm FreeBSD, tháng 9 năm 2004. ISBN 1-57176-328-7.

Tạp chí thời sự

Liên kết

Ghi chú

Trong chủ đề này có một cuộc đột kích của Linuxoids :-) HZ, những người phàn nàn về một số vấn đề với fr chỉ đơn giản là không biết cách chuẩn bị nó. Corny, phải không? :-) Ở ba nơi làm việc gần đây nhất của tôi, fria đã được sử dụng hết mức. Và tại nơi làm việc hiện tại, chúng tôi loại bỏ mọi thứ có thể có khỏi Linux và chỉ để lại những gì không được phép - theo quy định, những phần mềm rất cụ thể chỉ được phát triển cho Linux. Mọi thứ khác - máy chủ PPPoE, web, thư, giám sát, máy chủ phụ trợ, máy chủ tệp - mọi thứ đều chạy trên fr. Như thường lệ, chúng tôi không gặp bất kỳ vấn đề nào.

Tôi không biết những diễn giả ở trên sử dụng công nghệ nào mà họ không thể sử dụng trong fr, nhưng tôi chưa thấy bất kỳ hạn chế cơ bản nào đối với FreeBSD với tư cách là một nền tảng.

Có vấn đề với các sản phẩm cụ thể trên fr - vâng. Tôi sẽ không nói gì về Bitrix, nhưng hiệu suất của samba trên Linux cao hơn trên fr. Nhưng đây không phải là vấn đề với hệ thống, mà là với chính samba, các nhà phát triển của hệ thống này không muốn giải quyết các vấn đề của samba một cách miễn phí.

Nhìn chung, Frya là một hệ thống khá tốt và được sắp xếp bên trong hợp lý hơn nhiều bản phân phối Linux. Có những kịch bản Linux có thể triển khai nhưng Fria thì không. Nhưng cũng có những kịch bản ngược lại. Vì vậy, không có công thức chung ở đây.

Mọi dịch vụ "phổ quát" trên fr đều hoạt động tốt. Về các vấn đề với trình quản lý gói - đây là thứ rác rưởi, người Linux luôn nói dối :-) Họ lạc hậu quá xa so với thời đại, từ lâu không có vấn đề gì đặc biệt với trình quản lý gói. Riêng biệt, họ đã đưa ra những câu chuyện về thực tế rằng nếu bạn lắp ráp phần mềm từ các cổng, thì sau này bạn sẽ gặp vấn đề với các gói :-)

ZFS trên Linux thua xa ZFS trên fr về mặt chức năng. Trong ZFS-on-linux, chỉ trong bản phát hành gần đây nhất, thuật toán nén lz4 mới được thêm vào, thuật toán này đã có sẵn trong khuôn khổ hơn hai năm. Hỗ trợ ACL gần đây đã được thêm vào, điều mà một lần nữa, friya đã có thể làm được trong một thời gian dài.

Nói tóm lại, có thể đưa ra hàng triệu ví dụ, nhưng kết luận khá đơn giản - đừng tin những câu nói rằng “công cụ XXX thật tuyệt vời và công cụ YYY thật tuyệt vời”. Mỗi cái đều có ưu và nhược điểm, bạn chỉ cần biết chúng và sử dụng đúng công cụ. Nếu bạn dự định thiết lập máy chủ “trong một công ty” hoặc cho nhiệm vụ của nhà cung cấp dịch vụ truyền thông, hoặc đơn giản là đưa trang web của bạn lên Internet, cả Fria và Linux đều sẽ giải quyết những vấn đề này một cách hoàn hảo. Ví dụ: nếu bạn đang tạo một số loại lưu trữ, để ảo hóa, tôi sẽ sử dụng miễn phí. Nếu bạn dự định tạo một dự án web lớn, tải cao, có lẽ Linux là lựa chọn tốt hơn.

Tôi, với tư cách là cựu quản trị viên công ty và hiện là quản trị viên của nhà cung cấp dịch vụ và Internet, không gặp phải bất kỳ vấn đề nào với cá bột trong công việc của mình.


Giới thiệu không có kế hoạch

Anh ấy đến với khuôn mặt của một kẻ giết người
Với vẻ ngoài của một kẻ hút máu độc ác,
Và anh ấy nói rằng anh ấy là nhà phê bình của tôi,
Và mong muốn của tôi là tốt.
Anh ấy nói gì, phong cách của tôi thấp?
Về mặt thẩm mỹ không gần gũi.
Tôi thật nhảm nhí, còn anh ấy là Belinsky,
Tất cả đều điên cuồng.

Timur Shaov,
Cuộc trò chuyện với một nhà phê bình

Tôi được thôi thúc viết phần giới thiệu này bởi số lượng lớn phản hồi cho ba bài viết đầu tiên trong loạt bài này. Có thể chia thành tích cực và quan trọng. Vì vậy, tôi quyết định trả lời tất cả mọi thứ, có thể nói, bán buôn.

Mọi thứ đều rõ ràng với câu trả lời từ nhóm đầu tiên: Tôi chỉ có thể cảm ơn sự hỗ trợ của bạn. Tất nhiên, tất cả các tác phẩm của tôi đều được viết chủ yếu vì niềm vui của riêng tôi, nhưng thật tuyệt khi có người khác quan tâm đến việc đọc chúng.

Đối với những lời chỉ trích vô căn cứ, tôi sẽ trả lời như thế này: thưa quý vị, nếu quý vị tin rằng quý vị hiểu rõ vấn đề trước mắt hơn tôi (điều mà tôi sẵn sàng tin tưởng), tại sao quý vị không dành chút thời gian dành cho việc nghiên cứu. ngọn lửa diễn đàn để giáo dục công chúng? Và liệu bạn có viết những gì bạn cần, theo cách bạn cần, về những chủ đề thích hợp không? Tốt nhất là bằng ngôn ngữ văn học Nga, với tối thiểu các cách diễn đạt thành ngữ. Tôi sẽ sẵn lòng đảm nhận vai trò của một người đọc chu đáo, tiếp thu mọi thông tin hữu ích mà bạn cung cấp. Và những lời phê bình từ góc độ ngôn ngữ văn học Nga (trực giác của tôi mách bảo rằng sẽ có quá đủ lý do cho điều đó).

Tuy nhiên, tôi phải nói thêm rằng tôi thực sự đánh giá cao mọi lời chỉ trích mang tính xây dựng. Điều mà tôi hy vọng sẽ tiếp tục làm. Chỉ là phần giới thiệu.

Trong lưu ý này, chúng ta sẽ nói về phương pháp tổ chức vật lý các khối của phân vùng đĩa, cung cấp khả năng ghi, lưu trữ và thao tác với các tệp, cụ thể cho FreBSD nói chung và nhánh thứ 5 của nó nói riêng.

Hệ thống tệp FreeBSD thuộc họ hệ thống tệp Unix và có nhiều tính năng chung cho tất cả chúng. Nó được gọi là UFS; nhánh thứ 5 sử dụng phiên bản cải tiến UFS2. Trước tiên, chúng ta hãy xem xét các nguyên tắc chung về thiết kế của cả hai, sau đó chuyển sang xem xét các tính năng vốn có của UFS2.

Đối với hệ thống tệp FreeBSD (và các hệ thống BSD nói chung, bắt đầu từ 4.2BSD), bạn cũng có thể tìm thấy một tên khác - FFS (Hệ thống tệp nhanh, ký hiệu “nhanh” được đưa ra so với hệ thống tệp Unix System V s5). Trong các tài liệu hiện có, tôi không thể tìm thấy một công thức rõ ràng nào về mối quan hệ của họ. Tôi có ấn tượng rằng FFS là tên gọi chung cho các hệ thống tệp của tất cả các hệ điều hành thuộc nhóm BSD (Free-, Net-, OpenBSD và BSDi), trong khi UFS (và UFS2) là tên của một triển khai cụ thể cho BSD miễn phí. Mặc dù NetBSD hiện nay (bắt đầu từ phiên bản 1.6 trở lên) có thể sử dụng UFS2 cùng với FFS truyền thống. Nói chung, tôi thấy khó làm sáng tỏ vấn đề này một cách rõ ràng, và vì vậy tôi rất biết ơn nếu được làm rõ.

Như chúng ta đã tìm hiểu trước đó, một phân vùng đĩa, nói một cách ẩn dụ, là một nhóm các hình trụ liền kề được chia thành các khối vật lý 512 byte. Phân vùng mang hệ thống tệp UFS được chia thành ba khu vực độc lập (từ đầu nhóm hình trụ đến cuối của nó): siêu khối, bảng chỉ mục và vùng dữ liệu. Nên bắt đầu kiểm tra chúng từ cuối danh sách, tức là từ vùng dữ liệu.

Vùng dữ liệu (chiếm phần lớn không gian phân vùng) được hình thành bởi các khối hệ thống tệp. Giống như khối vật lý, khối hệ thống tệp (còn gọi là khối logic) là một lượng thông tin có sẵn trong một thao tác đọc/ghi, nhưng không phải từ đầu đĩa mà từ hệ điều hành. Rõ ràng, một khối logic không thể nhỏ hơn khối vật lý (nghĩa là 512 byte) và kích thước của nó nhất thiết phải là bội số của một số nguyên của khối vật lý.

Khái niệm khối logic được đưa ra để cải thiện hiệu suất hoạt động của đĩa. Tuyên bố không yêu cầu bằng chứng rằng tốc độ trao đổi dữ liệu của lượng tử 1 KB sẽ cao hơn lượng tử 512 byte, lượng tử 2 KB thậm chí sẽ nhanh hơn, v.v. Và do đó, từ quan điểm về tốc độ hoạt động của tệp, kích thước tối đa của khối logic của hệ thống tệp là có lợi.

Mặt khác, việc tăng kích thước của khối logic dẫn đến việc tiêu thụ lãng phí dung lượng ổ đĩa do cái gọi là. phân mảnh dữ liệu nội bộ. Không nên nhầm lẫn nó với sự phân mảnh bên ngoài, để chống lại việc tất cả các loại đĩa tốc độ đã được huy động cùng một lúc trên các hệ thống tệp thuộc họ FAT và với các đối tượng chiến đấu: do đặc thù của các thuật toán quản lý dữ liệu, các hệ thống tệp thuộc họ Unix rất ít bị ảnh hưởng. trước sự phân mảnh bên ngoài không thể khắc phục được, họ thực tế không nói về nó chút nào.

Sự phân mảnh bên trong được thể hiện ở chỗ dữ liệu tệp có kích thước nhỏ hơn một khối hệ thống tệp vẫn chiếm toàn bộ. Ngoài ra, toàn bộ khối sẽ được yêu cầu để lưu trữ đuôi tệp, nghĩa là phần dư vượt quá khối lượng là bội số của kích thước của khối logic. Để chống lại sự phân mảnh trong UFS, xin lỗi vì tautology, khái niệm về một đoạn đã được đưa ra - một phần logic của khối hệ thống tệp có thể được ghi hoặc đọc độc lập với phần còn lại của nó.

Rõ ràng là kích thước mảnh vẫn không thể nhỏ hơn một khối vật lý. Đồng thời, UFS cũng áp đặt một hạn chế đối với nó: kích thước phân đoạn tối thiểu được xác định là 1/8 của một khối logic. Các giá trị khác có thể có là khối hệ thống tệp 1/4 và 1/2 (rõ ràng, việc phân bổ một đoạn trong kích thước khối tương đương với việc từ chối phân mảnh khối đó, mặc dù điều này được cho là không bị cấm).

Làm cách nào để xác định rằng khối dữ liệu thuộc về một tệp cụ thể? Sử dụng bảng chỉ mục, còn được gọi là bảng mô tả tệp hoặc bảng inodes. Nó được hình thành bởi một số lượng bản ghi (hữu hạn) nhất định có độ dài cố định (128 KB trong UFS, 256 trong UFS2), mỗi bản ghi tương ứng duy nhất với một tệp, cả hai đều tồn tại thực sự và một tệp chỉ có thể được tạo.

Mục nhập bảng chỉ mục này được gọi là inode, chúng tôi sẽ dành riêng cho nó. Bởi vì tất cả các bản dịch của thuật ngữ này mà tôi biết, như các nút thông tin hoặc bộ mô tả chỉ mục, trông rất vụng về. Ngoài ra, từ “descriptor” cũng xuất hiện trong ngữ cảnh “file descriptor”, có nghĩa là một mã định danh (duy nhất, nếu không thì nó sẽ xác định cái gì?) của một tệp được sử dụng bởi một quy trình nhất định (không liên quan gì đến hệ thống tệp - đây là phạm vi của hệ thống con kiểm soát quá trình). Và những mô tả này không có gì chung với nhau. Do đó, inode có mã định danh 2 (và đây luôn là mã định danh của thư mục gốc của hệ thống tệp) và bộ mô tả tệp có số 2 (và đối với bất kỳ quy trình nào, đây sẽ là thiết bị đầu ra thông báo lỗi tiêu chuẩn, /dev/stderr) thì không theo bất kỳ cách nào cũng có mối tương quan với nhau ( mặc dù vì lý do nào đó họ không thích nói to về điều đó).

Tuy nhiên, tôi lạc đề rồi; hãy quay lại với inode của chúng ta. Mỗi thành viên của bảng này chứa cái được gọi là siêu dữ liệu tệp. Đối với một tập tin thực tế, chúng bao gồm:

  • một mã định danh duy nhất của inode (và theo đó, tệp có siêu dữ liệu chứa trong đó), đây chỉ đơn giản là bộ đếm cho các tệp đã tạo trong hệ thống tệp);
  • loại tệp - đây có thể là một thư mục, liên kết tượng trưng, ​​​​tệp thiết bị, ống hoặc ổ cắm có tên hoặc tệp thông thường (nghĩa là không liên quan đến bất kỳ loại nào được liệt kê);
  • kích thước tệp tính bằng byte;
  • số lượng liên kết đến tệp (chúng tôi sẽ quay lại vấn đề này ở phần thấp hơn một chút);
  • địa chỉ của các khối logic và các đoạn của chúng tạo nên tệp;
  • số khối bị nó chiếm giữ;
  • thuộc tính tệp - quyền sở hữu, quyền truy cập, thời gian (và đây sẽ là chủ đề được xem xét chi tiết nhiều lần).

Nhưng những gì bạn không thể tìm thấy ở inode bằng bất kỳ cách nào là tên tương ứng với nó (hoặc cô ấy? Vì lý do nào đó, đối với tôi, inode, trái ngược với ngữ pháp, là nữ tính). Trong bất kỳ cuốn sách nào về Unix, họ không bao giờ mệt mỏi khi nhắc lại (và tôi sẽ không đi chệch khỏi truyền thống này) rằng tên tệp không phải là một thuộc tính của chính tệp đó mà của thư mục chứa nó. Vì cần phải hiểu điều này khi làm quen với cơ chế Cập nhật mềm trong lưu ý tiếp theo, tôi sẽ thực hiện một đoạn lạc đề nhỏ để làm rõ vấn đề đặt tên tệp trong FreeBSD (và trong Unix nói chung).

Khi mô tả nội dung của bảng inodes, trường loại tệp đã được đề cập khi truyền. Vì vậy, trong Unix, tất cả các tệp (và mọi thứ có sẵn trong Unix, bao gồm cả các thiết bị vật lý, đều được đưa vào hệ thống dưới dạng tệp) được chia thành hai nhóm - thư mục và các nhóm khác. Các tệp khác có thể phục vụ cho nhiều mục đích khác nhau (lưu trữ dữ liệu và chương trình thực thi, là liên kết tượng trưng, ​​​​mô tả thiết bị hoặc phương tiện tương tác giữa các quy trình; chúng ta sẽ nói về tất cả những điều này kịp thời hoặc muộn hơn một chút). Mục đích của các thư mục là duy nhất nhưng rất quan trọng: là người quản lý tên của các tệp có trong chúng, được gán duy nhất cho mã định danh của các nút lưu trữ siêu dữ liệu của các tệp này.

Nghĩa là, tên tệp chỉ tồn tại trong danh sách thư mục và không tồn tại ở nơi nào khác trong hệ thống. Và việc tạo một tệp không chỉ là điền mục liên quan đến nó vào bảng chỉ mục và điền các khối dữ liệu được chỉ định trong đó mà còn là nhập một bản ghi có dạng “tên tệp định danh” vào vùng dữ liệu của một danh mục. Và một thư mục, giống như bất kỳ tệp nào khác, có siêu dữ liệu riêng trong bảng inodes và vùng dữ liệu riêng. Và, đến lượt nó, tên của nó, cùng với mã định danh inode, được đưa vào một thư mục cấp cao hơn, v.v. cho đến thư mục gốc của hệ thống tệp. Trường số lượng liên kết inode của tệp đã tạo được đặt ở giá trị tối thiểu có thể bằng một, vì bất kỳ tệp nào đều được bao gồm trong ít nhất một thư mục, nếu không, tệp hệ thống sẽ không thể truy cập được vào các tệp hệ thống có số lượng liên kết bằng 0; dường như không tồn tại đối với nó (và trên thực tế, các inode và khối dữ liệu của chúng chắc chắn sẽ bị ghi đè về mặt vật lý theo thời gian).

Trên thực tế, cùng một bộ dữ liệu và siêu dữ liệu có thể được gán cho một số lượng thư mục tùy ý trong cùng một hệ thống tệp và thậm chí xuất hiện dưới các tên khác nhau trong cùng một thư mục, trong trường hợp đó số lượng liên kết đến nó sẽ tương ứng. Nhưng số lượng liên kết tối thiểu đến một thư mục là hai vì một mục về nó tồn tại cả trong thư mục mẹ (..) và trong thư mục hiện tại (. tức là trong chính nó). Và mỗi thư mục con lồng nhau sẽ tăng số lượng liên kết của thư mục lên một.

Các liên kết, với sự trợ giúp của tên tệp được liên kết dưới dạng thành phần thư mục với mục nhập của nó trong bảng inodes và các khối dữ liệu tạo thành tệp, còn được gọi là liên kết cứng (một từ tương đương trong tiếng Nga hay sẽ là từ “kết nối”). ”, nhưng không hiểu sao nó lại không thành công). Thông qua các liên kết cứng, cùng một bộ dữ liệu hoặc chương trình thực thi có thể được đặt một số tên tùy ý, điều này không ai cấm đưa vào các thư mục giống nhau hoặc khác nhau. Điều kiện duy nhất cho điều này là tất cả các tên trùng lặp này phải được đặt trong các thư mục của một hệ thống tệp duy nhất, nghĩa là nằm trên cùng một phân vùng đĩa. Và trong một trong những ghi chú tiếp theo, lý do sẽ trở nên rõ ràng.

Nhìn về phía trước một chút, tôi lưu ý rằng các liên kết cứng cần được phân biệt với các liên kết tượng trưng (liên kết tượng trưng, ​​​​thường được gọi đơn giản là liên kết, đó là lý do tại sao sẽ hợp lý khi giữ lại tên gọi liên kết cho chúng và gọi các liên kết cứng là kết nối bằng tiếng Nga). Liên kết tượng trưng là một loại tệp đặc biệt, gần giống với các phím tắt trong Windows hoặc bóng tối trong OS/2, bản thân chúng không chứa bất kỳ dữ liệu nào mà chỉ tham chiếu đến siêu dữ liệu và dữ liệu của một tệp khác (có thể được bản địa hóa bên ngoài hệ thống tệp nhất định). ).

Đối với các tệp không tồn tại, các mục trống trong bảng inode chỉ được bảo lưu. Và vì số lượng bản ghi này là hữu hạn nên kích thước của bảng chỉ mục sẽ quyết định số lượng tệp thực sự có thể được tạo trong một hệ thống tệp nhất định. Việc cạn kiệt các bản ghi trống trong đó dẫn đến thực tế là, bất kể dung lượng ổ đĩa trống bao nhiêu, không một tệp mới nào có thể được tạo ra Superblock.

Tuy nhiên, không có thông tin nào về kích thước của bảng chỉ mục được tìm thấy bên trong nó. Bởi vì nơi chúng được đặt chính là siêu khối xuất hiện đầu tiên trong phân vùng của chúng ta (trên thực tế, khối đầu tiên trong bất kỳ phân vùng nào sẽ là khối khởi động, nhưng trên thực tế, nó chỉ được chiếm trong phân vùng khởi động; trong tất cả các phân vùng khác, một vị trí chỉ đơn giản là dành riêng cho nó). Ngoài ra, siêu khối ghi lại kích thước của khối hệ thống tệp và tổng số của chúng, số lượng khối dữ liệu, kích thước của đoạn khối và số lượng của chúng trong khối, số lượng khối thực sự bị chiếm giữ bởi các tệp, dung lượng của phân vùng được bảo lưu vĩnh viễn dưới dạng miễn phí và nhiều đặc điểm khác của hệ thống tệp, điều này không phù hợp để nói đến bây giờ.

Trên thực tế, những điều trên đã được đơn giản hóa phần nào. Điểm đặc biệt của hệ thống tệp nhóm BSD là phân vùng đĩa thực sự được chia thành các phần có kích thước cố định (tùy thuộc vào dung lượng của phân vùng). Đây là cái gọi là các nhóm trụ, mỗi nhóm có bản sao siêu khối riêng của nó (đảm bảo khả năng chống hư hỏng cơ học đối với đĩa), khối riêng của một nhóm trụ mô tả nó (đặc biệt, nó chứa các bản đồ của các inode rảnh/bận và các bản đồ khối dữ liệu rảnh/bận), bảng inode và vùng khối dữ liệu riêng. Điều này nhằm mục đích đặt các nút và các khối dữ liệu liên quan càng gần nhau càng tốt, ngoài việc tăng hiệu suất còn đòi hỏi phải giảm thiểu sự phân mảnh dữ liệu bên ngoài được đề cập ở trên.

Do đó, quá trình tạo một hệ thống tệp bao gồm a) phân bổ một siêu khối và ghi lại các tham số hệ thống tệp chung, b) tạo một bảng các nút (trong UFS, không giống như một số hệ thống tệp hiện đại dành cho Linux, tất cả các nút được tạo một lần và lâu dài). tất cả và không được phân bổ động nếu cần) và c) đánh dấu các khối trong vùng dữ liệu. Đối với tất cả những điều này, giống như Katerina Matvevna khó quên, một chương trình duy nhất, được gọi đơn giản là newfs, chịu trách nhiệm.

Lệnh newfs yêu cầu một đối số duy nhất: tên tệp của phân vùng cần được định dạng, ví dụ: $ newfs /dev/ad0s1a

sau đó tất cả các thuộc tính hệ thống tệp cơ bản sẽ được xác định theo mặc định. Tuy nhiên, người dùng có quyền tác động đến họ bằng cách sử dụng các tùy chọn, tùy chọn quan trọng nhất mà chúng tôi sẽ xem xét (hoặc bằng cách xác định chúng một lần và mãi mãi trên toàn cầu, thông qua cài đặt hệ thống, nhưng đây là chủ đề cho một cuộc thảo luận khác).

Tùy chọn -b chỉ định kích thước khối logic của hệ thống tệp. Kích thước tối thiểu của nó là 4096 byte, kích thước tối đa, theo như tôi biết, chỉ được xác định theo lẽ thường. Và từ quan điểm này, giá trị “mặc định” là 16384 byte có vẻ hợp lý.

Tùy chọn -f đặt kích thước đoạn khối. Nên xác định nó ở mức 1/8 kích thước khối, theo mặc định là 2048 byte. Các giá trị của khối 1/4 hoặc 1/2 cũng được chấp nhận, nhưng tài liệu này đặc biệt khuyến khích.

Tùy chọn -i rất quan trọng vì nó gián tiếp đặt số lượng mục trong bảng chỉ mục (nghĩa là số lượng tệp tối đa trong hệ thống tệp). Giá trị của tùy chọn này được tính bằng byte được phân bổ cho mỗi phần tử của bảng chỉ mục và phải là bội số của kích thước đoạn khối. Giá trị mặc định là kích thước gấp bốn lần, xác định kích thước tệp dự đoán trung bình (8096 byte).

Một tùy chọn thú vị khác là -m, giá trị của nó được biểu thị bằng phần trăm của tổng dung lượng ổ đĩa được phân bổ cho phân vùng. Và nó đại diện cho khối lượng dành riêng cho việc ghi của người dùng thông thường (nhưng không phải bằng root; anh ta luôn có cơ hội ghi các hành động của mình vào đĩa). Nó được xác định bởi vì hiệu suất của các hoạt động tệp trong UFS đơn giản giảm xuống một cách thảm khốc khi số lượng khối trống. trong vùng dữ liệu gần cạn kiệt (đã được thử nghiệm trong thực tế). Và do đó, một lượng nhất định của hệ thống tệp được dự trữ bắt buộc (theo mặc định là 8%).

Liên kết với tùy chọn này là một tùy chọn khác, -o, chỉ định thuật toán phân bổ các khối dữ liệu trống khi tạo tệp mới. Thực tế là UFS có thể đặt chúng theo hai cách. Đầu tiên là phương pháp đóng gói dày đặc nhằm giảm thiểu sự phân mảnh bên trong và tiết kiệm dung lượng ổ đĩa. Và nó được gọi là tối ưu hóa theo khối lượng (tùy chọn -o chiếm không gian giá trị). Phương pháp thứ hai (-o time) đảm bảo phân bổ các khối miễn phí nhanh nhất nhằm tăng tốc độ tạo tệp (nghĩa là trái với nguyên tắc “nền kinh tế nên tiết kiệm” của Leonid Ilyich). Vì vậy, giá trị mặc định -o tương quan với giá trị -m: nếu nó lớn hơn hoặc bằng 8%, tối ưu hóa thời gian sẽ được áp dụng, nếu nhỏ hơn - tối ưu hóa âm lượng sẽ được áp dụng. Mặc dù có thể chỉ ra rõ ràng chính xác các giá trị ngược lại.

Trên thực tế, tất cả các tùy chọn trên đều rất quan trọng, thú vị và hữu ích cho giáo dục phổ thông, nhưng người dùng khó có thể phải sử dụng đến chúng: các giá trị mặc định của chúng, giống như hầu hết mọi thứ trong FreeBSD, đều hợp lý và được chấp nhận ở đại đa số người dùng. các trường hợp. Nhưng tùy chọn -U không được bật theo mặc định khi bắt đầu newfs. Nó cung cấp hỗ trợ cho một thứ cực kỳ hữu ích - cơ chế Cập nhật mềm, giúp (nghịch lý nhưng đúng) vừa tăng tốc độ hoạt động của tệp vừa giúp tăng tính ổn định của hệ thống tệp.

Tuy nhiên, chủ đề về Cập nhật mềm bản thân nó thú vị đến mức nó xứng đáng được thảo luận riêng, điều mà chúng ta sẽ thực hiện trong phần tiếp theo của cùng ghi chú này. Trong thời gian chờ đợi, chúng ta hãy xem xét sự khác biệt giữa phiên bản hiện tại của hệ thống tệp FreeBSD, UFS2 và phiên bản tiền nhiệm của nó, UFS.

Mọi điều đã nói ở trên về hệ thống tệp FreeBSD đều được áp dụng như nhau cho cả hai loại của nó. Tính năng chính của UFS2 là nó là 64-bit và do đó, có khả năng hoạt động với dung lượng ổ đĩa lớn hơn một terabyte (tôi tự hỏi liệu điều này có sớm phù hợp với người dùng máy tính để bàn không? Đánh giá theo tốc độ của ổ đĩa, ngày này không còn xa nữa). Về vấn đề này, hãy để tôi nhắc bạn rằng độ dài của mục trong bảng inodes trong UFS2 đã tăng gấp đôi và bằng 256 byte.

Hơn nữa, UFS2 còn hỗ trợ các thuộc tính tệp mở rộng, đặc biệt là ACL, nhưng điều này rất cần thiết đối với quản trị viên mạng. Nhưng điều mà người dùng có thể nhận thấy là việc tạo một hệ thống tệp mới nhanh hơn (trên các phân vùng đĩa lớn, điều này thực sự đáng chú ý, như người ta nói, về mặt cảm quan). Điều này xảy ra do cái gọi là. Việc khởi tạo các nút in một cách “lười biếng”, mặc dù không có sự phân bổ động nào cho chúng, chẳng hạn như trong XFS.

Nhìn chung, theo quan điểm của người dùng, có thể không thấy rõ sự khác biệt giữa UFS và UFS2. Tuy nhiên, cũng không có lý do gì để từ bỏ UFS2. Hơn nữa, cả newfs, đã được đề cập ở trên và sysinstall, sẽ được thảo luận sau, hiện theo mặc định (trong nhánh thứ 5) đều tạo ra chính xác điều này. Nếu bạn chỉ muốn tạo UFS (để tương thích với các phiên bản của các nhánh trước không hỗ trợ UFS2), việc này phải được thực hiện một cách bắt buộc bằng cách chỉ định tùy chọn -O cho newfs 1.Soft Updates Paradox

Với tất cả nhiều ưu điểm của nó, hệ thống tệp FreBSD không thể tự hào về một điều: tốc độ. Và điều này mặc dù thực tế là nó dựa trên hệ thống tệp nhanh Berkeleyan FFS nói chung. Tuy nhiên, biểu tượng ở đây là so sánh với hệ thống tệp Unix s5 trước đó, tất cả các biến thể của chúng, như những người hiểu biết nói, được phân biệt bằng sự chu đáo đặc biệt. Nếu chúng ta so sánh hiệu suất của hệ thống tệp FreeBSD với Linux Ext2fs gốc thì sẽ không. hãy ưu tiên cái đầu tiên, đặc biệt là khi thao tác với số lượng lớn tệp nhỏ.

Tại sao? Thật dễ dàng để trả lời: do chế độ mặc định của FreeBSD để xử lý các tệp đã sửa đổi. Hầu hết các hệ thống tập tin bình thường đều có khả năng hoạt động ở một trong ba chế độ:

  • hoàn toàn đồng bộ, khi các bản cập nhật cho cả siêu dữ liệu và vùng dữ liệu của tệp được ghi vào đĩa ngay sau khi thay đổi;
  • hoàn toàn không đồng bộ, trong đó tất cả các thay đổi đối với tệp (cũng như siêu dữ liệu và vùng dữ liệu của nó) được lưu vào bộ nhớ đệm trong RAM và thực sự được ghi vào đĩa vào thời điểm thích hợp;
  • hỗn hợp, triển khai cơ chế đồng bộ cho siêu dữ liệu đã thay đổi và bộ đệm để sửa đổi vùng dữ liệu.

Rõ ràng, chế độ đầu tiên cung cấp độ ổn định cao nhất cho hệ thống tệp trước các lỗi, chế độ thứ hai cung cấp tốc độ hoạt động tệp cao nhất (với cái giá là khả năng vi phạm tính toàn vẹn của hệ thống tệp và thậm chí phá hủy hoàn toàn nó trong trường hợp khẩn cấp). tắt máy) và giải pháp thứ ba cung cấp một dạng thỏa hiệp giữa giải pháp thứ nhất và giải pháp thứ hai.

Vì vậy, trong hệ thống tệp Linux (cụ thể là trong ext2fs, Linux hiện nhận dạng nhiều hệ thống tệp là gốc) theo mặc định, chế độ hoạt động hoàn toàn không đồng bộ được sử dụng và trong FreeBSD, đó là chế độ hỗn hợp. Tất nhiên, điều này được xác định khi hệ thống tệp được gắn kết và với các tùy chọn thích hợp cho lệnh mount (mà tôi sẽ trình bày trong bài đăng liên quan), hệ thống tệp FreeBSD có thể được tạo để chạy hoàn toàn không đồng bộ. Tuy nhiên, những người hợp lý nhất quyết không khuyên bạn nên làm điều này và có thể có lý do cho việc này (một trong những lý do cho việc này sẽ được làm rõ ở cuối ghi chú).

Thật vậy, ở chế độ mặc định, hệ thống tệp FreeBSD (so với ext2fs) thể hiện sự ổn định vượt trội. Trong hai năm rưỡi làm việc với hệ điều hành này (và một năm rưỡi trong số đó là ở vùng nông thôn, nơi tình trạng mất điện đột xuất xảy ra thường xuyên hơn), tôi chưa bao giờ phải đối mặt với các vấn đề do phiên làm việc bị chấm dứt bất thường (trong Linux luôn có những vấn đề như vậy nảy sinh trước khi hệ thống tệp được ghi nhật ký ra đời).

Tuy nhiên, cái giá phải trả cho việc này là tốc độ. Hay đúng hơn là sự vắng mặt của nó. Và điều này đặc biệt rõ ràng khi sao chép một số lượng lớn các tệp nhỏ (một quy trình rất phổ biến khi làm việc chủ yếu với các tài liệu văn bản). Thật vậy, trong trường hợp này, một số lượng lớn các nút tệp được cập nhật ở chế độ đồng bộ, trong khi bản thân dữ liệu bị thay đổi với số lượng không đáng kể và việc lưu chúng vào bộ nhớ đệm không mang lại nhiều niềm vui. Trong mọi trường hợp, việc sao chép các bài báo được nhập bằng trình soạn thảo văn bản có kích thước bằng ghi chú này và tổng âm lượng vào một đĩa CD tiêu chuẩn mất khá nhiều thời gian nhạy cảm (không giống như Linux, nơi thao tác như vậy được thực hiện dường như ngay lập tức; một điều nữa là hoạt động của ổ cứng). chỉ báo có thể mất nhiều thời gian nháy mắt).

Hơn nữa, bất chấp tất cả sự ổn định thực tế của nó, hệ thống tệp FreeBSD, không được ghi nhật ký, bản thân nó không có cơ chế để đảm bảo tính toàn vẹn của chính nó. Đó là: trong trường hợp tắt máy khẩn cấp, khi có cái gọi là. bit ngắt kết nối sạch (byte sạch, đây là một trong những tham số quan trọng của hệ thống tệp, được ghi trong siêu khối của nó khi thoát khỏi hệ thống đúng cách), trong quy trình khởi động tiếp theo, một chương trình buộc phải được gọi để kiểm tra xem có tìm thấy sự không nhất quán giữa siêu dữ liệu không và các vùng dữ liệu (và loại bỏ chúng). Và với các kích thước đĩa hiện đại (và theo đó là hệ thống tệp trên chúng), việc kiểm tra như vậy có thể mất hàng giờ. Tất nhiên, điều này đặc biệt đáng tiếc đối với các máy chủ, nhưng ngay cả trên máy tính để bàn, nó cũng mang lại rất ít cảm xúc tích cực.

Vấn đề vi phạm tính toàn vẹn cũng tồn tại trong Linux (vì những lý do đã nêu ở trên, thậm chí ở mức độ lớn hơn). Và trong Linux, vấn đề này được giải quyết thông qua ghi nhật ký, tức là chủ động đăng ký các thay đổi trong siêu dữ liệu (và trong một số trường hợp, thậm chí cả dữ liệu). ). Trong FreeBSD, cuộc đấu tranh vì tính toàn vẹn của hệ thống tệp trước đây được tiến hành theo hai hướng. Thứ hai trong số đó là kiểm tra lý lịch về tính toàn vẹn của hệ thống tệp, xuất hiện ở nhánh thứ 5, cho phép hoạt động bình thường bắt đầu ngay sau khi khởi động lại máy khẩn cấp. Vì đây là một trong những đổi mới cơ bản nên tôi sẽ nói vài lời về chủ đề này.

Để kiểm tra tính toàn vẹn của hệ thống tệp trong FreeBSD, tiện ích fsck được sử dụng (có một tiện ích cùng tên trong Linux dành cho ext2fs, có các công cụ tương tự dành cho các hệ thống tệp khác). Nó có thể được khởi chạy bởi người dùng (hay đúng hơn là root) từ dòng lệnh. Tuy nhiên, sơ đồ khởi động hệ thống cung cấp khả năng khởi chạy tự động nếu bit ngắt kết nối sạch không được phát hiện trong bất kỳ hệ thống tệp nào được gắn tự động. hoạt động theo bit, để tránh hậu quả nghiêm trọng, nó thường được thực hiện trên các hệ thống tệp chưa được gắn kết. Đó là trường hợp trong FreeBSD ít nhất là phiên bản 4.6 (Tôi chưa thấy các phiên bản cũ hơn từ nhánh thứ 4, nhưng trong các phiên bản của nhánh thứ 4. nhánh thứ 5, bắt đầu từ nhánh đầu tiên). Hơn một năm trước, việc kiểm tra đĩa của nhà phát triển có thể được thực hiện trên một hệ thống tệp được gắn và sẵn sàng sử dụng. Và theo đó, ở chế độ nền sau khi hệ thống được tải đầy đủ, song song với việc thực hiện công việc bình thường. Nó có vẻ như là chuyện vặt, nhưng thật tuyệt: Tôi thấy khó để nói việc kiểm tra toàn bộ các vít 80 hoặc 120 GB phổ biến hiện nay sẽ mất bao lâu.

Tuy nhiên, lần đầu tiên triển khai cách đấu tranh cho tính toàn vẹn của hệ thống tệp là cơ chế Cập nhật mềm, đồng thời (hay đúng hơn là chủ yếu) giúp tăng hiệu suất hoạt động của tệp.

Bản thân cơ chế Cập nhật mềm (chúng ta hãy để thuật ngữ này không có bản dịch; các biến thể của loại “cập nhật mềm” này không những không tỏa sáng với vẻ sang trọng văn học mà còn không làm rõ bản chất của vấn đề) được mô tả chi tiết trong một bài viết đặc biệt của McCasick và Ganger, mà tôi thấy chẳng ích gì khi kể lại (may mắn thay nó đã có sẵn). Tóm lại, bản chất của cơ chế này là giảm thiểu các hoạt động ghi đồng bộ mà không cần thao tác siêu dữ liệu không đồng bộ rõ ràng, một mặt, nhưng cũng không ghi nhật ký sơ bộ về siêu dữ liệu (như trong các hệ thống tệp như ReiserFS hoặc XFS).

Điều này được triển khai, một lần nữa nói khá đại khái (tôi thú nhận rằng chi tiết triển khai nằm ngoài tầm hiểu biết của tôi) thông qua cái gọi là phụ thuộc cập nhật. Những sự phụ thuộc này là gì, rõ ràng bằng trực giác từ ví dụ về việc tạo một tệp mới (để đơn giản, trống). Điều này đòi hỏi:

  • một mục trong bảng inode, điền vào các trường của loại tệp, mã định danh của nó, bộ đếm liên kết (có giá trị là 1, mỗi tệp phải thuộc ít nhất một thư mục) và các quyền truy cập khác ở đó theo mặt nạ của chúng và sớm;
  • thay đổi bản đồ các inode rảnh/bận trong khối nhóm trụ (inode tương ứng với tệp mới phải được đánh dấu bằng một bit bận trong đó);
  • thêm một mục nhập có dạng “tên tệp nhận dạng” vào cấu trúc thư mục nơi tệp mới được tạo, cung cấp liên kết duy nhất đó trong trường inode tương ứng của tệp.

Từ góc độ toàn vẹn của hệ thống tệp, các thao tác này phải được thực hiện theo thứ tự này. Nghĩa là, sự hiện diện trong thư mục của một tên tệp có mã định danh là một nút trống (chưa được tạo hoặc đã bị hủy) là một sự rối loạn rõ ràng: để khắc phục kiểu xúc phạm này khi chương trình kiểm tra đĩa được khởi chạy sau một sự cố bất thường. chấm dứt phiên họp.

Việc thực hiện các hoạt động cập nhật liên quan đến phụ thuộc ở chế độ đồng bộ mất nhiều thời gian (mỗi hoạt động sẽ yêu cầu quyền truy cập riêng vào đĩa); ở chế độ không đồng bộ, không có gì đảm bảo duy trì trình tự (các bản cập nhật trong bộ đệm có thể được ghi khi Chúa muốn). Vì vậy, cơ chế Cập nhật mềm một mặt cung cấp khả năng kiểm soát trình tự thực hiện các cập nhật phụ thuộc (góp phần vào tính toàn vẹn của trạng thái hệ thống tệp), mặt khác, nó nhóm chúng thành một hoạt động nguyên tử duy nhất của đồng bộ. truy cập vào đĩa, bằng cách giảm số lượng mà năng suất tăng lên. Theo tôi hiểu, đây là lời giải thích cho nghịch lý Cập nhật mềm - sự gia tăng bất ngờ cả về độ tin cậy và hiệu suất.

Nói chung, tôi đã cố gắng giải thích tốt nhất có thể và theo tôi hiểu, hãy xem bài viết được đề cập để biết chi tiết. Ngoài ra, tôi chỉ lưu ý để tránh hiểu lầm: cơ chế Cập nhật phần mềm không những không đảm bảo an toàn cho dữ liệu người dùng không được lưu do người dùng bất cẩn trước khi hệ thống gặp sự cố mà còn không theo đuổi mục tiêu như vậy . Công việc của anh là đảm bảo rằng hệ thống tập tin luôn được trình bày nhất quán nhất có thể. Tuy nhiên, điều tương tự cũng có thể xảy ra với bất kỳ hệ thống tệp được ghi nhật ký nào, không hệ thống nào trong số chúng đảm bảo chống lại lỗi của người dùng...

Bây giờ hãy xem cách sử dụng Cập nhật mềm. Nếu bạn tạo hệ thống tệp thông qua sysinstall thì mọi thứ đều đơn giản: theo mặc định, việc kích hoạt cơ chế này đã được cung cấp từ lâu (các phiên bản từ khoảng 4.3) cho tất cả các hệ thống tệp ngoại trừ hệ thống tệp gốc. Điều thứ hai được tranh luận vì lý do bảo mật, điều này (đối với máy tính để bàn) có vẻ không thuyết phục đối với tôi - vì vậy tôi đưa nó vào đây. Mặc dù Cập nhật mềm không đặc biệt cần thiết cho hệ thống tập tin gốc: với việc phân vùng đĩa thích hợp và hoạt động đúng cách, việc ghi vào nó (sau khi cài đặt lần đầu) chỉ xảy ra khi cài đặt kernel mới, nhưng việc này có thường xuyên được thực hiện trong điều kiện bình thường không?

Khi tạo hệ thống tệp theo cách thủ công bằng lệnh newfs, Cập nhật mềm không được bật tự động: việc này phải được thực hiện, như đã đề cập, bằng cách chỉ định tùy chọn: $ newfs -U /dev/ad#s#?

Tuy nhiên, nếu nó bị quên trong quá trình định dạng thì không sao: đối với tất cả các phân vùng ngoại trừ phân vùng gốc, bạn có thể dễ dàng bật Cập nhật mềm bằng lệnh tunefs. Để thực hiện việc này, bạn cần chuyển sang chế độ một người dùng (rất khuyến khích; bằng cách nào đó tôi đã quản lý được mà không cần nó, nhưng tốt hơn là nên làm theo lời khuyên của những người hợp lý), việc này được thực hiện bằng lệnh $ tắt máy ngay bây giờ

Ngắt kết nối tất cả các hệ thống tệp ngoại trừ thư mục gốc (số này dù sao cũng sẽ không hoạt động với nó) bằng lệnh $ umount -Af

Ra lệnh tunefs -n Enable /dev/ad#s#?

cho mỗi phân vùng có hệ thống tệp yêu cầu Cập nhật mềm. Và cuối cùng lặp lại lệnh $shutdown ngay

Quy trình cài đặt từng bước cho hệ điều hành FreeBSD dành cho người mới bắt đầu. Tất cả các giai đoạn cài đặt đều được nhận xét và minh họa bằng ảnh chụp màn hình.

Tôi sẽ đề cập đến quá trình cài đặt hệ điều hành FreeBSD-5.3-RELEASE, nhưng vì trình cài đặt không thay đổi trong một thời gian rất dài nên hầu hết mọi thứ được mô tả trong bài viết này cũng đúng với các phiên bản trước đó. Trong trường hợp của tôi, việc cài đặt sẽ được thực hiện từ đĩa CD-ROM.

Trong BIOS của máy tính, đặt nó khởi động từ CD-ROM, đưa đĩa phân phối vào ổ đĩa và khởi động lại. Chúng tôi thấy menu chương trình cài đặt hệ thống:

Nó có thể được gọi sau khi cài đặt đối với một số cài đặt, nhưng tôi không khuyến nghị sử dụng nó. Trong hầu hết các trường hợp, kiểu cài đặt “tiêu chuẩn” là phù hợp, đó là kiểu tôi đã chọn. Các kiểu cài đặt khác là cần thiết cho những người cần cấu hình thứ gì đó không chuẩn hoặc cho những người biết chính xác những gì họ cần để không cài đặt những thứ không cần thiết.

Trước hết, chúng ta cần tạo một phân vùng trên ổ cứng để cài đặt HĐH, đó là những gì chúng ta được yêu cầu thực hiện:

Chúng tôi thấy danh sách các phân vùng hiện có và dung lượng trống (tất cả các số được tính bằng byte; bằng cách nhấn “z”, bạn có thể chuyển đổi giữa các tùy chọn). Để tạo phân vùng, bạn cần đặt con trỏ lên dải có dung lượng đĩa trống đã chỉ định và nhấn “c” (tạo). Nhập kích thước phân vùng mong muốn (theo mặc định, nó được đề xuất sử dụng tất cả dung lượng có sẵn). Nếu bạn không muốn sử dụng hết dung lượng thì bạn cần chỉ định số lượng (để biểu thị số lượng tính bằng megabyte, bạn phải thêm MB vào cuối, ví dụ 4096 MB, theo mặc định, người ta giả định rằng kích thước được nhập vào các cung ). Tiếp theo, đặt loại (để nguyên là 165). Bạn có thể xóa một phân vùng bằng cách nhấn “d” (xóa). Chú ý! Hãy cẩn thận ở giai đoạn này - bạn có thể loại bỏ các phần cần thiết chỉ bằng một cử động nhẹ của tay;) Bây giờ chúng ta lưu các thay đổi - “w” và kết thúc - “q”. Tiếp theo, chuyển đến menu tạo phân vùng của hệ thống tệp FreeBSD.

Ở đây có hai tùy chọn: tin tưởng vào quy trình tự động bằng cách nhấn “a” (tự động) hoặc tạo thủ công bằng cách nhấn “c” (tạo, con trỏ phải ở đầu dòng với phần FreeBSD của chúng tôi). Nếu bạn quyết định tạo thủ công, thì trong hộp thoại tạo phân vùng hệ thống tệp, bạn sẽ cần nhập tên và kích thước (kích thước mặc định được nhập theo các cung, để biểu thị bằng megabyte, bạn cần thêm MB ở cuối của các số, ví dụ: 256MB).

Các phần cần thiết để tạo:

/ /hoán đổi /var /tmp /usr

Về nguyên tắc, phân phối tự động là khá đủ, nhưng tôi khuyên bạn nên thực hiện thủ công. Trước tiên, hãy xem trình cài đặt cung cấp cho chúng ta những gì bằng cách nhấn “a”, ghi lại các giá trị này, sau đó xóa chúng - “d” và thực hiện theo ý của bạn. Tôi có thể cung cấp các kích thước sau:
/ 128 Mb /swap RAM*2 trở lên (RAM là kích thước của RAM máy tính) /var server: 2Gb, máy tính ở nhà: 128 Mb /tmp server: 1 Gb, máy tính ở nhà: 64 Mb /usr mọi thứ khác

Khi đã chọn kích thước phân vùng, chúng ta có thể nhấn “w” để lưu chúng và “q” để tiếp tục. Bạn sẽ được nhắc cài đặt trình quản lý khởi động - bạn phải chọn tùy chọn này nếu bạn muốn FreeBSD và, chẳng hạn như Windows hoặc hệ điều hành khác hoạt động trên máy tính của bạn (Cài đặt trình quản lý khởi động FreeBSD).

Nếu chỉ có FreeBSD được lên kế hoạch trên máy tính thì chúng tôi sẽ từ bỏ trình quản lý khởi động (Tiêu chuẩn). Mục cuối cùng (Không) có thể được chọn nếu Hệ điều hành FreeBSD đã được cài đặt trên máy tính và không cần thay đổi bộ nạp khởi động trên ổ cứng.

Tại thời điểm này, chúng tôi chọn những gì cần cài đặt thêm: mã nguồn hệ điều hành, tài liệu, v.v. Trong hầu hết các trường hợp, chỉ cần cài đặt mọi thứ là đủ. Nhưng tốt hơn hết bạn nên chọn tùy chỉnh và lưu ý ở đó: base, crypto, manpages, doc, src (tất cả các nguồn đều có thể, nhưng nếu chúng ta đang tiết kiệm dung lượng và xây dựng lại kernel thì chỉ sys), cổng, compat4x (một số chương trình có thể hoạt động thật kỳ lạ nếu chế độ tương thích này không được đặt).

Dưới đây là các tập tin được sao chép.

Bây giờ bạn cần cấu hình một số cài đặt hệ thống. Bước đầu tiên là định cấu hình thiết bị SLIP/PPP (nếu bạn có). Đây thường là đường dây dành riêng cho Internet. Nếu có tùy chọn như vậy, thì trong đoạn hội thoại, chúng ta đồng ý bằng cách nhấp vào “CÓ”, chọn giao diện bên ngoài (thường là ed0), cho biết các cài đặt cần thiết:

Có hỗ trợ IPv6 không?

Cấu hình DHCP, địa chỉ IP của máy tính và cổng (máy tính được truy cập Internet; tất cả các cài đặt này phải được lấy từ nhà cung cấp của bạn).

Sau đó chúng tôi được hỏi liệu chúng tôi có muốn kích hoạt giao diện này ngay lập tức hay không.

Các câu hỏi tiếp theo:

  • bạn có muốn chiếc máy tính này đóng vai trò như một cánh cổng cho người khác không?
  • bạn có muốn định cấu hình chương trình inetd và các dịch vụ mà nó cung cấp không? (nếu máy tính được sử dụng làm máy chủ thì nó cần phải được cấu hình; tất nhiên, bạn có thể chạy tất cả các dịch vụ tương tự mà không cần sự trợ giúp của inetd, nhưng đây là vấn đề sở thích).

Bạn có muốn cho phép truy cập vào máy tính của mình từ xa bằng giao thức ssh (vỏ bảo mật) không? Nếu bạn cần truy cập từ xa thì tôi khuyên bạn nên sử dụng ssh và tắt telnet vì telnet là một dịch vụ rất không an toàn.

Tôi có nên cho phép truy cập ẩn danh vào máy qua ftp không? (tất nhiên, bắt đầu từ một thư mục cụ thể chứ không phải toàn bộ đĩa;)

Máy có đang được sử dụng làm máy chủ và máy khách NFS không? (Hệ thống tệp mạng)

Chúng ta sẽ cấu hình bảng điều khiển chứ? (bạn cần thiết lập ngôn ngữ tiếng Nga nên chọn có, vào từng danh mục một và chọn mục có dấu “russian” - tiếng Nga, sau đó nhấn “exit”)

Nên đặt đồng hồ máy tính. Nếu bạn chọn có thì sẽ có những câu hỏi sau:

  • Đồng hồ của máy tính này có được đặt theo giờ quốc tế không? (nếu có, hãy chọn “CÓ”; nếu chúng được đặt theo giờ địa phương hoặc bạn không chắc chắn, hãy chọn “KHÔNG”)
  • bạn được nhắc chọn một khu vực từ danh sách:


  • một đất nước;
  • về mặt địa lý gần thành phố của bạn nhất là gì;
  • một từ viết tắt cho khu vực được đề xuất và câu hỏi “cái này trông có thật không”? Nếu không, bạn sẽ cần phải chọn lại.)

Tôi có nên cài đặt chương trình để tương thích với hệ thống Linux không? (nếu cài đặt nó, bạn sẽ có thể chạy các chương trình dành cho Linux. Nếu máy tính để sử dụng tại nhà, tôi khuyên bạn nên cài đặt nó.)

Có chuột không? :) (Tôi nghĩ bạn sẽ chọn “CÓ”, trong hộp thoại bạn cần cho biết loại chuột, cổng (đối với USB, chọn BusMouse) và nhấp vào “bật”. Người cấu hình sẽ hỏi chuột có hoạt động không? Bạn phải đồng ý. Có lẽ chuột không hoạt động ngay sẽ hoạt động, nhưng sau khi khởi động lại, thường thì tất cả chuột đều được phát hiện và hoạt động rầm rộ).

Hộp thoại chọn các chương trình bổ sung để cài đặt. Các chương trình được chia thành các loại. Tôi khuyên bạn nên xem qua mọi thứ. Tên thường phản ánh mục đích của chương trình và bạn có thể dễ dàng chọn những cái bạn cần (tất nhiên, nếu bạn biết ít nhất một chút tiếng Anh).

Tất cả phụ thuộc vào nhiệm vụ mà FreeBSD đang được cài đặt:

  • nếu đây là máy chủ thì bạn cần chọn một số chương trình mạng (apache, samba, v.v.);
  • Nếu đây là hệ điều hành trên máy tính gia đình thì việc cài đặt hệ thống X-Window (máy chủ đồ họa) và các chương trình đa phương tiện là điều hợp lý.

Menu sẽ có hai mục để làm việc với nhóm và người dùng:

Bây giờ tôi sẽ hiển thị một ví dụ về cài đặt cho người dùng vasya, thành viên của nhóm bánh xe (nhóm quản trị viên) - điều này là cần thiết để anh ta có thể có được quyền root trong tương lai bằng cách sử dụng lệnh su. Nếu người dùng không phải là thành viên của nhóm bánh xe thì anh ta sẽ không thể có được quyền siêu người dùng (điều này được thực hiện vì lý do bảo mật).

Khi bạn đã định cấu hình nhóm và người dùng, hãy nhấp vào thoát. Bạn sẽ được nhắc đặt mật khẩu người dùng root.

Việc này đã hoàn tất quá trình cài đặt hệ điều hành FreeBSD! Bây giờ bạn cần định cấu hình nó theo nhu cầu của mình: bản địa hóa phông chữ trong KOI8-R hoặc CP-1251, định cấu hình tất cả các dịch vụ mà HĐH sẽ cung cấp, v.v. Thông tin về cách thực hiện việc này có thể được tìm thấy trên các trang web bsdekaterinburg.ru, cũng như trong sổ tay (sổ tay dành cho người dùng FreeBSD; nó có sẵn trên trang web freebsd.org.ru, đồng thời, nếu bạn đã cài đặt tài liệu, trên ổ cứng của bạn :).

Và đây là giao diện của máy tính để bàn FreeBSD trên máy tính ở nhà của tôi:

tái bút anbioZz đã giúp đỡ với lời khuyên.

Cài đặt FreeBSD 10 sau vài phút (cài đặt từng bước)

FreeBSD là một hệ điều hành miễn phí. Một sửa đổi hiện đại của UNIX. Một trong những hệ thống đáng tin cậy nhất, hoàn hảo để quản trị mạng cục bộ, chẳng hạn như máy chủ truy cập, máy chủ thư, máy chủ tệp, máy chủ định danh, v.v. Không phải tự nhiên mà Mac OS cuối cùng đã được tạo ra trên cơ sở của nó. Cũng có thể cài đặt shell đồ họa hoặc sử dụng giải pháp làm sẵn cho dự án PCBSD.

1. Chọn bản phân phối, chuẩn bị phương tiện cài đặt
2. Bắt đầu cài đặt, phân vùng đĩa
3. Lựa chọn và lắp đặt linh kiện

FreeBSD chủ yếu là một hệ thống mạng và để có hiệu suất tốt nhất, nó không (theo mặc định) có lớp vỏ đồ họa. Toàn bộ bản chất của việc làm việc trong hệ thống này là chỉnh sửa các tệp cần thiết, cài đặt chương trình, kích hoạt các chức năng và gõ lệnh.

Và khi bạn cấu hình hệ thống phù hợp với nhu cầu của mình, nó sẽ không làm bạn thất vọng. Cá nhân tôi, khi làm việc với nó (2 năm), tôi không quan sát thấy bất kỳ hỏng hóc, trục trặc hay tải trọng nào trên thiết bị.

Chọn bản phân phối, chuẩn bị phương tiện cài đặt

Trên trang web chính thức, bạn có thể chọn phiên bản hệ điều hành, độ sâu bit và nền tảng (amd64, i386, powerpc, sparc)

Sau khi chọn nền tảng, một danh sách các tùy chọn cài đặt sẽ mở ra (CD, DVD, máy chủ FTP, MS DOS, đĩa mềm và thậm chí cả băng từ).

Tất nhiên, tốt hơn hết là không nên "chơi với tambourine" và tải xuống bộ phân phối cho đĩa CD hoặc DVD và ghi đĩa cài đặt bằng các chương trình: Alcohol120%, UltraISO hoặc bất kỳ chương trình nào khác để ghi đĩa cài đặt.

Bắt đầu cài đặt, phân vùng đĩa

Chúng tôi khởi động từ đĩa cài đặt và menu bộ tải khởi động FreeBSD bắt đầu. Bạn có thể đợi 10 giây để trình cài đặt tự động khởi động hoặc bạn có thể nhấp vào Đi vào hoặc 1.

Màn hình sẽ hiển thị nhiều dòng trang bị cụ thể. Bạn có thể xem nó bằng cách nhấn vào nút Khóa cuộn, cuộn trang bằng các nút PageUp và PageDown.

Sau khi xác định và kiểm tra phần cứng, cửa sổ chào mừng cài đặt FreeBSD sẽ xuất hiện. Nhấp chuột Cài đặt


Trong cửa sổ chọn bố cục bàn phím, bạn để mặc định hoặc chọn bố cục phù hợp.



bác sĩ- Tài liệu về hệ thống

Trò chơi- Trò chơi

cổng- cổng để cài đặt chương trình

src- lõi hệ thống

Thông thường tôi chỉ để lại src, vì tôi cũng không cần tài liệu, trò chơi nên chúng tôi sẽ cài đặt và cập nhật cổng sau khi cài đặt hệ thống, vì bản dựng mới nhất được cập nhật qua Internet. Kernel cũng có thể được cài đặt sau.


Chúng tôi quyết định các lát cắt (đó là phân vùng được gọi trong FreeBSD) của đĩa cứng. Chúng ta có thể chọn tùy chọn tự động tạo phân vùng hoặc tự tạo các phân vùng mà chúng ta cần.


Trình chỉnh sửa phần tự động tạo ba khu vực:

ada0p1 512KB freebsd-boot- khu vực bootloader. Thế là đủ rồi, không cần thêm nữa

ada0p2 19GB freebsd-ufs/- phân vùng gốc của hệ điều hành. Tất cả không gian còn lại dành cho hệ thống và các tệp bạn sẽ làm việc. Trên thực tế, nó chỉ cần 1GB bộ nhớ, với điều kiện là các phân vùng khác sẽ được tạo và chỉ có công việc được thực hiện trên chúng.

Dành cho chuyên gia: Theo thông lệ, người ta thường tạo các phân vùng khác ngoài một phân vùng gốc:

/var- chứa các tập tin, nhật ký tạm thời và liên tục thay đổi.

/usr- chứa các tập tin với các chương trình đã cài đặt và những thứ khác.

/dữ liệu- trong phần này tôi có các tập tin trang web chẳng hạn.

ada0p3 1.0GB freebsd-swap không có- trao đổi tập tin. Kích thước của nó phụ thuộc vào dung lượng RAM. Nếu không đủ, giả sử 1GB, thì nên đặt tệp hoán đổi lớn gấp đôi. Nếu có nhiều RAM thì tệp hoán trang có thể được đặt bằng dung lượng RAM hoặc thậm chí ít hơn.


Nhấn nút Hoàn thành, xác nhận những thay đổi được chấp nhận Làm và quá trình cài đặt hệ thống FreeBSD bắt đầu.


Sau khi cài đặt, bạn được nhắc nhập mật khẩu hai lần. Các ký tự bạn nhập không được hiển thị.


Lựa chọn và cài đặt thành phần

Sau đó, bạn được nhắc định cấu hình (các) card mạng để truy cập mạng. Không giống như Linux, nơi mà bất kỳ card mạng nào cũng được gọi đạo đức, trong FreeBSD, card mạng có thể được gọi khác nhau, tùy thuộc vào nhà sản xuất.


Chúng tôi chọn phiên bản giao thức Internet, phiên bản thứ tư của IPv4 hoặc phiên bản thứ sáu của IPv6. Sau đó, bạn cấu hình mạng thông qua DHCP hoặc đăng ký địa chỉ IP, mặt nạ mạng con và cổng.


Chúng ta chỉnh thời gian theo giờ của máy cục bộ hoặc chọn múi giờ của mình.


Chúng tôi chọn các dịch vụ sẽ khởi động khi FreeBSD khởi động. Để mặc định.


Bạn có thể thêm (những) người dùng bổ sung, gán quyền và thư mục cho họ. Bạn có thể làm tất cả điều này sau.


Quá trình cài đặt sắp hoàn tất và bạn có thể muốn cấu hình lại hoặc điều chỉnh một số cài đặt trước khi hoàn tất.