- Giá trị cốt lõi của Gentoo không nằm ở hiệu năng biên dịch tự thân, mà ở sự linh hoạt mà việc build từ mã nguồn mang lại và triết lý là một bản phân phối được tạo ra vì người dùng
- Dự án được vận hành mà không có công ty hay mô hình kinh doanh đứng sau; việc giải thể Gentoo Foundation và chuyển sang SPI nhằm giảm nút thắt quản trị tài chính và rủi ro phụ thuộc
- Với đội ngũ bảo mật chuyên trách, hạ tầng riêng, kênh phân phối được bảo vệ bằng OpenPGP và chính sách QA nghiêm ngặt, Gentoo ứng phó với các phụ thuộc cũ, liên kết tĩnh và phụ thuộc đóng gói sẵn
- Cấu trúc ưu tiên mã nguồn và cờ USE cho phép lựa chọn tính năng, thư viện, hệ thống init, libc và cách build, nhưng các lựa chọn không còn được duy trì có thể bị giới hạn
- Rolling release, sự cùng tồn tại giữa cấu hình ổn định và thử nghiệm, hỗ trợ phần cứng cũ, tính thân thiện với nhà phát triển và định hướng loại bỏ telemetry đều là những cách Gentoo thể hiện sự tôn trọng người dùng
Bản sắc cốt lõi của Gentoo
- Gentoo thường được biết đến là “bản phân phối biên dịch mọi thứ”, nhưng khó có thể giải thích nó chỉ bằng việc theo đuổi hiệu năng đơn thuần hay tối ưu hóa cực đoan
- Khi tối ưu hóa CPU, trình biên dịch và gói phần mềm của các bản phân phối phổ thông ngày càng tiến bộ, chênh lệch hiệu năng giữa một gói Ubuntu trung bình và một gói Gentoo được tinh chỉnh theo CPU thực tế có thể không tạo ra khác biệt lớn trong đời thực
- Giá trị quan trọng hơn của Gentoo nằm ở sự linh hoạt mà build từ mã nguồn đem lại, và ở chỗ đây là bản phân phối do những người yêu thích Gentoo tự làm ra cho chính mình
Tính độc lập
- Không có công ty hay mô hình kinh doanh nào đứng sau Gentoo; dự án được tạo ra và vận hành bởi những người tận tâm với các giá trị của Gentoo
- Một số người làm việc với Gentoo như một phần công việc, nhưng phần lớn là tình nguyện viên, được thúc đẩy bởi đam mê hơn là lợi nhuận
- Hạ tầng một phần do được tài trợ, một phần được duy trì bằng tiền quyên góp, và dự án tránh phụ thuộc vào một nhà tài trợ duy nhất để không ai có thể chi phối Gentoo
- Để giảm nguy cơ quản trị tài chính trực tiếp trở thành nút thắt, dự án đang tiến hành giải thể Gentoo Foundation và chuyển sang SPI
Bảo mật
- Gentoo coi trọng bảo mật gói phần mềm và đôi khi backport bản vá còn sớm hơn cả upstream
- Đội ngũ bảo mật chuyên trách chịu trách nhiệm theo dõi vấn đề, xử lý và thông báo cho người dùng
- Dự án duy trì hạ tầng riêng để giảm rủi ro bị chiếm quyền, đồng thời bảo vệ kênh phân phối và các mirror bằng OpenPGP
- Codeberg và GitHub chỉ được dùng như các mirror tùy chọn và kênh đóng góp, để Gentoo không phụ thuộc vào một trong hai nền tảng đó
- Với chính sách QA mạnh, Gentoo có lập trường phê phán đối với các cách làm như phụ thuộc đóng gói sẵn, liên kết tĩnh và phụ thuộc bị cố định cứng
- Dự án cố gắng ngăn chặn các mối đe dọa rõ ràng như phụ thuộc đã lỗi thời nghiêm trọng
Bản phân phối do con người tạo ra
- Gentoo đã cấm đóng góp bằng LLM từ 2 năm trước và vẫn giữ quan điểm không hối tiếc về quyết định đó
- Không thể đảm bảo 100% rằng chưa từng có mã bị ô nhiễm lọt vào, nhưng niềm tin và sự cảnh giác được xem là nền tảng cốt lõi nâng đỡ cộng đồng
- Ngay cả khi upstream không có cùng lập trường, Gentoo cũng không thể ngăn hoàn toàn việc phần mềm dựa trên LLM được đóng gói, vì họ có trách nhiệm cung cấp phần mềm mới và an toàn
- Với các trường hợp nghiêm trọng như copywashed chardet hay phần mềm mã hóa được vibe-code, dự án cố gắng chặn tối đa có thể
Tính ổn định
- Gentoo không phải bản phân phối dễ bắt đầu nhất, nhưng sau khi cấu hình xong, nó có thể ổn định đáng ngạc nhiên
- Ngay cả khi phát sinh sự cố, trong nhiều trường hợp người dùng có thể sửa hệ thống mà không cần cài lại từ đầu
- Cây gói không bị khóa vào một phiên bản duy nhất của một gói cụ thể, nên nếu bản mới không phù hợp, khả năng downgrade là khá cao
- Ngay cả khi phiên bản đó đã biến mất khỏi Gentoo, việc khôi phục lại vẫn tương đối dễ
- Vì là bản phân phối rolling release, Gentoo không bị chia thành nhiều phiên bản phát hành và không cần định kỳ chuyển sang bản phát hành kế tiếp
- Người dùng có thể chọn giữa môi trường mới nhất, nhận gói mới ngay khi được thêm vào, và môi trường ổn định, chỉ cập nhật sau khi đã được xác nhận sẵn sàng
- demize @ unstable.systems cho biết ngay cả với cấu hình thử nghiệm như
ACCEPT_KEYWORDS="~amd64", profile LLVM, system linker mold và LTO toàn phần, trải nghiệm vẫn ổn định hơn nhiều bản Linux desktop khác
Sự linh hoạt
-
Bản phân phối ưu tiên mã nguồn
- Cách cài đặt mặc định của Gentoo là build từ mã nguồn, nhưng không phải mô hình buộc người dùng tự đi tìm phụ thuộc và tự ghép thủ công các lệnh build
- Trình quản lý gói xử lý các bước cần thiết và cả những việc vượt quá mức đó để đơn giản hóa việc cài đặt gói
- Build từ mã nguồn cho phép kiểm soát chi tiết hơn về những tính năng mà gói sẽ có và cách nó được build
- Việc loại bỏ các tính năng không cần thiết có thể cải thiện hiệu năng và giảm bề mặt tấn công; chẳng hạn có thể build trình đọc RSS hay ứng dụng email mà không cần các thành phần trình duyệt web dễ tổn thương
-
Kiểm soát thư viện và quy trình build
- Biên dịch từ mã nguồn không trói người dùng vào một tổ hợp thư viện duy nhất mà người build Gentoo đã dùng
- Điều đó mở ra khả năng giữ lại phiên bản cũ của một thư viện cụ thể, dùng phiên bản mới hơn, hoặc thậm chí dùng một triển khai hoàn toàn khác
- Dù có giới hạn giữa phạm vi hỗ trợ chính thức và khả năng thực sự chạy được, số lượng tổ hợp tiềm năng vẫn rộng hơn rất nhiều so với bản phân phối thuần binary
- Ngay cả khi đi ra ngoài phạm vi hỗ trợ, việc áp dụng bản vá hoặc điều chỉnh quy trình build cũng khá dễ
-
Phạm vi lựa chọn và giới hạn
- Gentoo đôi khi được gọi là “bản phân phối của sự lựa chọn”, nhưng không phải mọi lựa chọn đều có thể được duy trì mãi mãi
- Có những trường hợp dự án có thể cung cấp các lựa chọn hợp lý như OpenRC và systemd, glibc và musl
- Muốn một lựa chọn tiếp tục tồn tại thì phải có người tích cực hỗ trợ; nếu không, nó rất dễ trở thành một hệ thống nửa hỏng nửa hoạt động
- Cũng có những trường hợp bị từ bỏ vì chi phí bảo trì quá lớn, như LibreSSL và OpenSSL, hay libav và ffmpeg
- Khi Qt từ chối hỗ trợ LibreSSL ở upstream, việc duy trì LibreSSL lại càng khó hơn
-
Mặc định và tùy biến tự chọn
- Phần lớn các lựa chọn của Gentoo được cung cấp theo kiểu opt-in
- Mục tiêu là mang lại sự linh hoạt cho người cần nó, trong khi những người còn lại vẫn có được các mặc định tốt
- Người dùng có thể chỉ tùy biến những phần mình quan tâm và để các phần còn lại theo mặc định mà vẫn có trải nghiệm tốt
- charon @ hachyderm.io đánh giá cao việc cùng một hệ điều hành có thể xử lý và duy trì trạng thái cập nhật cho nhiều kiến trúc, libc, hệ thống init, bản vá gói, cấu hình tính năng và display stack khác nhau
- Josh @ babka.social xem khả năng cấu hình một hệ thống headless hoàn toàn không có gói đồ họa, hoặc một graphics stack mong muốn, chỉ bằng tệp cấu hình đơn giản thay vì quy trình cài đặt riêng là một ưu điểm lớn
Niềm vui và thử nghiệm
- Gentoo không chỉ hướng đến việc hoàn thành công việc, mà còn muốn mang lại trải nghiệm để người dùng tiến xa hơn và thử nghiệm
- Nếu muốn dùng phần mềm phát triển mới nhất, Gentoo thường cung cấp các phiên bản từ nhánh stable, testing và development của upstream
- Nhiều gói có live ebuild build trực tiếp từ kho upstream, nên chỉ cần unmask nhánh phát triển mới nhất là có thể thử nghiệm
- Ngoài một hệ GNU/Linux thông thường, người dùng còn có thể thử musl, GNU Hurd, toolchain dựa trên LLVM, FreePG, Sequoia, Samurai, libarchive tar/cpio, các triển khai awk thay thế và nhiều thứ khác
- Những thử nghiệm này không mâu thuẫn với tính ổn định; người dùng có thể bắt đầu từ gói stable hoặc
~arch, chỉ kéo một số thành phần lên mới hơn, hoặc cố định những phần cần thiết ở nhánh LTS
Tính bền vững
- Dù có nhiều người dùng build từ mã nguồn, Gentoo vẫn hướng tới tính bền vững của điện toán
- Dự án cung cấp hỗ trợ gói binary rộng rãi để có thể build cùng một gói với nhiều cấu hình khác nhau
- Người dùng có thể dùng gói binary chính thức phù hợp với nhu cầu, hoặc quay lại build từ mã nguồn nếu không phù hợp
- Có thể dùng các gói chính thức cho nhiều mục tiêu khác nhau, đồng thời cũng có thể tự build gói binary riêng, độc lập hoặc ngay trong quá trình cài hệ thống
- Gentoo cố gắng hỗ trợ rộng rãi phần cứng cũ hoặc ít phổ biến, đồng thời muốn cung cấp hệ thống vẫn chạy được trên những phần cứng mà Rust hay V8 không hỗ trợ
- Thay vì vứt bỏ các máy tính đã bị nhà cung cấp thương mại ngừng hỗ trợ vì không còn lợi nhuận, Gentoo ưu tiên giúp người dùng tiếp tục sử dụng chúng, dù con đường đó có thể gập ghềnh hơn
Thân thiện với nhà phát triển
- Vì Gentoo build mọi thứ từ mã nguồn, người dùng có sự gắn kết rất chặt với môi trường phát triển
- Muốn cài gói thì cần có một toolchain hoàn chỉnh, và cách chia gói thành phần “runtime” và “development” không mang nhiều ý nghĩa trong Gentoo
- Trong Gentoo, một môi trường phát triển tốt thường đã hiện diện sẵn theo mặc định
- Về mặt chính sách, Gentoo không thích vá gói và cố tránh nếu có thể; dự án muốn các gói bám sát upstream và phần mềm được phát triển trên Gentoo phải đúng đắn, có tính di động
- Gentoo là một trong số rất ít bản phân phối không thêm tệp
pkg-config phi tiêu chuẩn vào gói bzip2
- Phát triển trên Gentoo giúp tránh lỗi phổ biến là phát hành gói yêu cầu tệp phi tiêu chuẩn đó
- Gentoo cũng là một trong số ít bản phân phối hỗ trợ tích cực nhiều phiên bản Python, không chỉ cho phép chọn một phiên bản cụ thể mà còn cài đồng thời gói cho nhiều phiên bản Python
- Vì tồn tại nhiều cấu hình Gentoo khác nhau, kiểm thử với người dùng cuối rất quan trọng, và người dùng có thể dễ dàng bật chạy test suite trong lúc build gói
- rayslava @ mitra.do.rayslava.com cho rằng cờ USE là cách tốt nhất để cấu hình ứng dụng theo nhiều tổ hợp, và Portage còn cho phép các gói rpm doanh nghiệp cũng được tiêu thụ qua
emerge mà không gặp vấn đề
- Cũng theo người này, họ đang dùng
pycargoebuild để duy trì hạ tầng Rust mà không cần công cụ hay môi trường riêng, và đã dùng Gentoo từ năm 2004 mà vẫn chưa tìm được thứ gì tốt hơn
Một bản phân phối hữu ích
- Gentoo muốn cung cấp một hệ thống hữu ích cho nhiều tình huống sử dụng như máy phát triển, PC chơi game, máy terminal đơn giản hay máy chủ
- Từ góc nhìn của Free Software Foundation, Gentoo có thể không phải bản phân phối tốt vì việc cài proprietary software quá dễ
- Đồng thời, việc chỉ giữ lại phần mềm tự do cũng dễ như vậy, và mặc định của dự án vẫn là phần mềm tự do
- Linn @ mastodon.social cho rằng cách tiếp cận giấy phép của Gentoo cho phép chọn giấy phép nào được chấp nhận theo từng gói, đồng thời giữ mặc định là phần mềm tự do để người dùng phải xem lại giấy phép trước khi cài proprietary software
- Gentoo duy trì chính sách báo lỗi phát hiện được lên upstream và cùng sửa chúng
- Dự án cho rằng chỉ những cách lách tạm thời để làm cho build qua được trên hệ thống build là chưa đủ; cần lời giải hoạt động cho tất cả mọi người
- Gentoo xử lý các vấn đề phức tạp như tính di động và hỗ trợ fringe platform, bao gồm cả những nền tảng mà phần lớn bản phân phối khác không hỗ trợ
- danzin @ mastodon.social cho rằng ngay cả khi không dùng Gentoo, những đóng góp của dự án trong việc tìm, báo và sửa lỗi ở các dự án upstream vẫn rất quan trọng để duy trì khả năng tương thích và ổn định, chẳng hạn trong hệ sinh thái Python
- Tài liệu của Gentoo từng được xem là thuộc hàng tốt nhất trong các bản phân phối Linux trước đây, và đến nay vẫn được đánh giá là khá tốt
- Khi dùng Gentoo, người dùng có thể đi từ cài hệ thống, viết ebuild, chỉnh sửa nhỏ trong
/etc/portage/patches, đóng góp cho semi-official overlay, cho đến gửi bug lên upstream, qua đó học sâu hơn về điện toán
- anton @ icosahedron.website nhận xét Gentoo mang lại một đường cong học tập thoải, từ mức chỉ cần làm theo Handbook đến những tầng sâu hơn của điện toán, trong đó mỗi bước đều nhỏ và là một cơ hội để học
Cách tôn trọng người dùng
- Nhiều định hướng khác nhau của Gentoo cuối cùng đều hội tụ ở việc tôn trọng người dùng
- Dự án không ra lệnh quá mức về cách người dùng phải sử dụng hệ thống của mình
- Dù có giới hạn hỗ trợ và các biện pháp an toàn để ngăn hỏng hóc nghiêm trọng, quyết định cuối cùng vẫn thuộc về người dùng
- Ngay cả khi người dùng chọn đi ra ngoài phạm vi hỗ trợ, Gentoo cũng không cố tình phá vỡ tình huống sử dụng đó, nhưng cũng không đảm bảo rằng nó sẽ không vô tình bị hỏng
- Markus Osterhoff @ troet.cafe mô tả cảm giác được đối xử như một người trưởng thành: nếu đổi user ID bằng
su thì hệ thống sẽ làm đúng điều được yêu cầu, và người dùng có thể cấu hình bằng vim rồi đọc log bằng less
- Ilya Shchepetkov @ social.treehouse.systems xem cảm giác kiểm soát, khi hệ thống không tự làm những việc mà người dùng chưa cấu hình, là một lợi thế của Gentoo
- Quá trình cài đặt cho thấy không có “ma thuật” nào ở đây, và để lại cảm giác rằng ngay cả khi máy đột nhiên không boot được thì người dùng vẫn có thể sửa bất cứ thứ gì bên trong hệ thống
- Gentoo muốn cung cấp các mặc định tốt, trải nghiệm ổn định, duy trì bảo mật, tôn trọng công việc của con người và không dựa vào LLM
- Dự án cũng muốn tôn trọng quyền riêng tư của người dùng thay vì xem đó là đối tượng để “định giá giá trị”, và đến nay Gentoo vẫn không thu được telemetry từ việc hệ thống được dùng ra sao
- Khi phát hiện telemetry trong gói, Gentoo về nguyên tắc sẽ cố loại bỏ nó, đồng thời nếu người dùng muốn thì có thể cung cấp cờ USE để khôi phục mặc định upstream
- Dự án hướng đến việc xây dựng quanh Gentoo một cộng đồng thân thiện và cởi mở, cùng một hệ thống mang lại trải nghiệm vui vẻ và không phản bội người dùng
- Nội dung này được truyền cảm hứng lớn từ các phản hồi trong thread Fediverse “how Gentoo is perceived by people”, và chỉ trích dẫn một phần trong số đó
1 bình luận
Ý kiến trên Lobste.rs
Tôi đã dùng thử Gentoo trong giai đoạn 2019~2022, và ấn tượng còn lại là một sự pha trộn giữa ưu và nhược điểm
Một mặt, đúng là có cái thú mà tác giả bài viết nói tới. Đây không phải kiểu ứng dụng cài đặt xong chỉ sau vài cú nhấp chuột, mà là quá trình tự chọn lựa theo một hướng dẫn viết tốt và tùy biến bản phân phối theo đúng sở thích, nên cảm giác như mình thật sự tự tay tạo ra hệ thống của mình
Việc lược bỏ những thứ không cần thiết và xem có thể làm nó nhẹ đến mức nào mà vẫn không ảnh hưởng đến khả năng sử dụng cũng rất hay, và tự cấu hình kernel cũng khá thú vị. Tuy vậy, nếu không có USB cứu hộ hay bản sao lưu thì cấu hình kernel có thể là cái bẫy lớn nhất của Gentoo
Ngoài
march=nativera thì tôi không tinh chỉnh gì nhiều, nhưng dù vậy nó vẫn cho cảm giác nhanh nhẹn hơn hẳn các bản phân phối khác mà tôi từng dùng khi đó. Tôi không benchmark nên khó nói chắc, nhưng nó đã giúp chiếc T440p cũ kỹ tôi dùng thời đại học trở nên khá dễ chịuNgược lại, tôi cũng thường xuyên có cảm giác như đang phải vật lộn với hệ thống. Thời gian build thì tôi đã lường trước, nhưng ngay cả bản thân
emergecũng có cảm giác quá chậm mỗi khi truy vấn gói hoặc cài các phụ thuộc phức tạp, đến mức tôi phải lo không biết PC bị treo hay mình làm sai gì đóUSE flags thường gây ra những màn debug phiền phức do tài liệu thiếu hụt hoặc các tác dụng phụ khó lường. Chỉ cần bật một flag nào đó là ứng dụng có thể không chạy nổi, rồi lại phải bật thêm các flag khác trông có vẻ độc lập. Việc tính năng này không được tích hợp ngay vào trình quản lý gói mặc định mà phải tra trên website hoặc bằng
equery, rồi cấu hình bằngflaggie, cũng khiến tôi thấy khá lạCấu hình kernel là một kỹ năng cần bỏ thời gian học, nhưng những hướng dẫn tôi tìm được hồi đó hầu như không giúp ích nhiều ngoài mức cơ bản. Bây giờ Gentoo đã có kernel nhị phân nên có thể tránh việc cấu hình thủ công, nhưng khi ấy tôi có cảm giác chỉ có hai lựa chọn: bước qua một bãi mìn, hoặc build một kernel cồng kềnh mất rất nhiều thời gian
qt-webkitlà cơn ác mộng trên máy chậm. Chỉ riêng gói này thôi là mỗi lần lại cộng thêm 2~3 tiếng biên dịch lên trên thời gian cài đặt/cập nhật vốn có. Điều đó không hẳn là lỗi của Gentoo vì đây là bản phân phối ưu tiên mã nguồn, nhưng với người dùng cuối thì thực sự khá đau khổCuối cùng, Gentoo hoàn toàn không phải hệ thống phù hợp để dùng kiểu ngẫu hứng. Mỗi khi cần gì đó, bạn phải có thời gian chờ biên dịch, và việc thử qua thử lại nhiều ứng dụng lớn gần như là rất khó. Tôi cũng thường không thể để PC bật qua đêm, nên либо dồn toàn bộ tài nguyên cho việc biên dịch và không dùng được PC, либо phải chừa lại một lõi CPU và chấp nhận hệ thống chậm hơn cùng thời gian biên dịch dài hơn
Cuối cùng tôi quay về Arch vì không có dư thời gian để tiếp tục chăm chút một chiếc PC phục vụ học tập, nhưng sự tôn trọng dành cho Gentoo thì vẫn còn rất nhiều. Nó cho tôi một góc nhìn hoàn toàn khác về cách một bản phân phối có thể vận hành, và tôi cũng học được rất nhiều về cơ chế bên trong. Đọc bài này làm tôi nhớ lại trải nghiệm của mình và thấy khá hoài niệm; nghe nói giờ những chỗ thô ráp cũng đã được mài giũa nhiều rồi, nên biết đâu một ngày nào đó tôi sẽ dùng lại
Gentoo is Rice
Trước đây tôi cũng từng chạy Funtoo trên Raspberry Pi B, và thấy khá vui với đúng mẫu đó, không phải 2, 3, 4 hay 5
Cỗ máy Gentoo đầu tiên của tôi là một Xserve G4 CPU kép với 2GB RAM. Tôi phải build đi build lại liên tục để tạo được một kernel có thể boot, nên mất gần một tuần mới khởi động được hệ thống thật sự
Điều khiến tôi xa Gentoo nhất là việc khó dùng theo kiểu ngẫu hứng. Có lần tôi định cài Audacity để làm việc với âm thanh, thế mà vài tiếng đã trôi qua. Máy tính là để làm việc, và đôi khi người ta chỉ muốn dùng nó chứ không phải bảo trì nó
Nếu đang làm việc thì luồng tập trung bị cắt ngang, rồi lại phải chờ biên dịch
Trên máy chậm, thảm họa của tôi là
webkit-gtk2. Lý do là Gnucash kéo nó vào như một phụ thuộc cứng dù chỉ dùng để hiển thị biểu đồ. Trên chiếc ThinkPad cũ thì Firefox cũng có cảm giác mất cả đời để build, còn LibreOffice là mảnh ghép thứ ba của bộ ba kinh hoàng khi biên dịchẢnh này có thể đặt ngay trên ổ cứng như một file bình thường và boot trực tiếp bằng GRUB loopback, và trong một ISO duy nhất đó đã có gần như đầy đủ môi trường phát triển như git, make, cc, rust, cmake, autotools
Tôi từng thử live boot bằng ISO của NixOS để có bộ tiện ích tương tự, nhưng gần như cần tới 40~50GB dung lượng đĩa. Còn Gentoo thì chỉ cần tải một bản ISO là đã có thể cập nhật lên bản mới nhất, lại boot rất nhanh ngay cả trên laptop cũ chỉ có 2GB RAM, nên tôi khá hài lòng khi dùng theo cách đó
Tôi thích Gentoo. Một trong những ưu điểm cốt lõi là đây là một bản phân phối rolling release
Tôi từng có một máy chủ chạy liên tục suốt 15 năm và dùng Gentoo. Nếu không đổi nhà cung cấp thì có lẽ nó còn tiếp tục nữa. Cài mới còn dễ hơn là chuyển image sang chỗ khác
Với Debian hay Fedora thì tôi không có được vận may như vậy. Nếu cần một thư viện hay phiên bản ứng dụng không được đóng gói sẵn cho đúng phiên bản, cả hai đều khá phiền phức, và ngay cả sau khi nâng cấp thì vẫn hay có gì đó bị hỏng khiến downtime thấy rõ
Máy chủ cá nhân của tôi đã 17 năm tuổi. Tôi khá may với nhà cung cấp VM nên nó cứ chạy với uptime cao liên tục, và trong 17 năm tổng downtime chắc chỉ khoảng một ngày. Ban đầu nó là hệ thống được dựng lên vì việc host email từ IP gia đình trở nên khó khả thi trong thực tế
Hệ thống desktop của tôi thì bắt đầu từ năm 2008, tức khoảng 18 năm rồi. Khi đó tôi chuyển sang user space 64-bit, và từ đó đến nay chưa từng có lý do hay thôi thúc phải dựng lại image. Phần cứng gốc thì ngoài bàn phím Datahand ra chẳng còn gì, nhưng theo kiểu con tàu Theseus, mọi thứ đã được thay dần theo thời gian
Với tôi, Gentoo là tính minh bạch, quyền lựa chọn và sự linh hoạt. Tôi luôn có cảm giác rất rõ về cách mình muốn máy tính vận hành, và Gentoo là một công cụ tốt để biến điều đó thành hiện thực
Tôi đã dùng Gentoo trên máy phát triển chính của mình được khoảng 15 năm, chuyển sang từ Debian unstable
Thật lòng mà nói, tôi cũng khó giải thích chính xác vì sao mình dùng và thích nó, nhưng có lẽ rốt cuộc chỉ là nó hoạt động tốt và tôi không thấy cần phải đổi
Có một vài bất tiện nhỏ. Nếu dùng
~amd64thì có thể dùng phần mềm mới hơn, nhưng sẽ không dùng được các gói nhị phân như libreoffice và việc biên dịch có thể tốn khá nhiều thời gianThỉnh thoảng
emergebị kẹt và phải chỉnh tay, nhưng trải nghiệm đó cũng không khácapttrên Debian sid là mấyĐiều thực sự ấn tượng là mức độ phản hồi, năng lực kỹ thuật và ý chí giải quyết vấn đề của những người bảo trì gói và cả cộng đồng nói chung. Tôi khuyên ai cũng nên thử gửi gì đó lên bugs.gentoo.org ít nhất một lần trong đời
Tôi từng nghĩ đến việc thử Chimera, nhưng mới chỉ nghĩ thôi chứ chưa làm
Trước đây tôi từng dùng Gentoo cho một dịch vụ production chạy BOINC
Chúng tôi phải biên dịch các gói như PHP, Perl, Apache với những cờ cụ thể mà kho Fedora mặc định không có, còn quản trị viên hệ thống trước đó thì biên dịch thủ công tất cả rồi không cập nhật nữa. Trong tình huống này, Portage là giải pháp tốt hơn nhiều
Tôi đã dùng Gentoo làm máy bàn chính suốt 14 năm, và vẫn tiếp tục dùng đúng hệ thống đã dựng từ hồi đó, chỉ chuyển nó sang các máy tính mới mà không cần cài lại. Rất đáng để khuyên dùng. Nó cực kỳ vững chắc
Lúc đó tôi mới chỉ có vài tháng kinh nghiệm với Linux và chuyển sang ngay từ Ubuntu, nhưng chỉ riêng quá trình cài đặt cũng đã giúp tôi học được rất nhiều. Làm được như vậy là nhờ tài liệu rất tốt, và cách tiếp cận phải tự tay đụng vào mọi thứ đã giúp tôi tích lũy rất nhiều kiến thức Linux trong nhiều năm
Nâng cấp một hệ thống được biên dịch có thể chạy nền với tải thấp, và ổn định hơn rất nhiều so với các hệ thống dựa trên gói nhị phân. Những công cụ như
crossdev, cho phép tạo toolchain cross-compile tùy chỉnh chỉ bằng một lệnh, đặc biệt hấp dẫnTrong suốt nhiều năm, Gentoo chưa từng làm tôi thất vọng. Nếu bạn chưa thử, rất đáng để xem qua
Tất cả đều nghe như những mục tiêu tuyệt vời, và đây là một dự án hay. Tôi đã không dùng Gentoo nhiều chục năm rồi, nhưng vẫn còn lưu giữ khá đẹp ký ức ngày xưa để PC chạy biên dịch gì đó suốt đêm, sáng dậy thấy nó fail ở khoảng 80% vì không tìm được dependency. Khi đó hoàn toàn không vui chút nào, nhưng giờ lại thấy bồi hồi
Có lẽ tôi nên thử lại lần nữa. Nếu “Gentoo aims to be fun” thì nghe đúng là sẽ vui thật
Một mặt thì máy tính bây giờ mạnh hơn nên hầu hết gói đều biên dịch rất nhanh. Mặt khác vẫn còn những gã khổng lồ có thể quật ngã máy của bạn, đặc biệt là các gã khổng lồ C++
Lý do tôi dùng Gentoo trên máy chủ CI không phải vì hiệu năng, mà vì việc áp dụng patch cho một gói cụ thể hoặc build lại nó với các cờ nhất định là cực kỳ dễ. Chỉ cần đặt vào
/etc/portage/packageslà xongTôi vẫn nhớ Portage đã từng tuyệt vời đến mức nào. Cài đặt song song, thông báo lỗi dễ hiểu, cấu trúc cho phép người dùng chỉ cần đặt file vào đúng thư mục con trong
/etc/portage/để vá, sandbox khi build, khả năng cấu hình... tất cả đều rất hayNhưng từ một thời điểm nào đó, tôi không còn muốn chờ biên dịch nữa. Kể cả khi các gói lớn có sẵn dưới dạng gói nhị phân thì cũng vậy
::gentoođều có gói nhị phân, nên cũng khá ổnTuy vậy, một khi bạn bắt đầu thay đổi USE flag thì vẫn phải quay lại tự build
Tôi gặp Gentoo lần đầu cách đây khoảng 20 năm, khi còn là học sinh trung học. Tôi nói với một anh khóa trên rằng mình muốn học Linux, và anh ấy bảo tôi hãy cài Gentoo từ stage1
Lời khuyên duy nhất của anh ấy là hãy in sổ tay hướng dẫn ra trước khi bắt đầu. Nếu quá trình cài đặt hỏng giữa chừng thì bạn sẽ không có trình duyệt nào sẵn trong túi để tra cứu đâu
Khi đó tôi hoàn toàn không biết mình sắp bắt đầu thứ gì. Gần như suốt 2 tuần, chiếc PC ở nhà của tôi gần như không hoạt động tử tế. Đêm nào tôi cũng vật lộn với quá trình cài đặt, hôm sau lại đến trường, đọc tài liệu trên máy tính ở trường, hỏi anh khóa trên mình đã làm hỏng chỗ nào, rồi về nhà thử lại
Đến một lúc nào đó thì tôi hiểu ra. Tới cuối cùng, tôi đã tình cờ học được
chrootlà gì, cách build kernel một cách vụng về, vì sao /etc/fstab lại quan trọng, và việc biến một cỗ máy thành không thể khởi động thì dễ đến mức nào. Đâu đó trong quá trình đó tôi cũng học luôn Vim và vẫn dùng nó đến tận bây giờGiờ tôi không còn dùng Gentoo nữa, nhưng tôi vẫn biết ơn 2 tuần đó
Có rất nhiều lý do chính đáng. Tôi đang dựng lại homelab của mình, và đã định cài Alpine Linux hoặc Gentoo lên VisionFive 2 (RISC-V/8GB RAM)
Cả hai đều hỗ trợ, nhưng Gentoo có thể dùng systemd mà tôi thích hơn OpenRC, và vì tôi mới chỉ dùng Gentoo vài lần nên có lẽ sẽ khá vui