Gentoo phát hành phiên bản nhị phân
(gentoo.org)- Gentoo vẫn giữ bản chất là bản phân phối dựa trên mã nguồn, đồng thời cung cấp tải xuống gói nhị phân chính thức và cài đặt trực tiếp để thuận tiện hơn cho phần cứng chậm và quá trình cài đặt
- Phạm vi cung cấp khác nhau theo từng kiến trúc; amd64 và arm64 có thể nhận hơn 20GB gói cùng các gói Gentoo stable được cập nhật hằng ngày
- Các bản cài đặt stage mới đã bao gồm cấu hình kho nhị phân, còn bản cài đặt hiện có có thể sử dụng bằng cách thêm tệp cấu hình vào
/etc/portage/binrepos.conf/ - Các gói chính thức dùng định dạng GPKG có thể ký và sẽ bị từ chối cài đặt nếu xác minh thất bại, nhưng trong cấu hình mặc định, XPAK không có chữ ký cũng có thể được cho phép vì lý do tương thích
- Nếu dùng tổ hợp USE flag khác với giá trị mặc định của profile, sẽ khó dùng nguyên gói nhị phân; khi đó cần vận hành kết hợp với biên dịch cục bộ cho những phần cần thiết
Gentoo cung cấp gói nhị phân chính thức
- Gentoo cung cấp chức năng gói nhị phân mà Portage đã hỗ trợ từ lâu dưới dạng tải xuống chính thức và cài đặt trực tiếp
- Mục tiêu là giảm thời gian xử lý trên phần cứng chậm và tăng sự tiện lợi cho toàn bộ quá trình cài đặt, cập nhật
- Gentoo vẫn là bản phân phối dựa trên mã nguồn như trước, và có thể dùng song song bản dựng từ mã nguồn với gói nhị phân
Phạm vi cung cấp theo kiến trúc
- Phần lớn kiến trúc chỉ giới hạn ở hệ thống lõi và phạm vi cập nhật hằng tuần
- amd64 và arm64 cung cấp bộ gói rộng hơn
- Có hơn 20GB gói trên mirror
- Bao gồm LibreOffice, KDE Plasma, Gnome, Docker, v.v.
- Các gói Gentoo stable được cập nhật hằng ngày
Cách cấu hình theo môi trường cài đặt
- Để dùng gói nhị phân trên bản cài đặt Gentoo hiện có, cần tạo tệp cấu hình trong
/etc/portage/binrepos.conf/- Có thể tham khảo quy trình thông thường tại Binary package quickstart
- Cấu hình chi tiết hơn được tổng hợp trong binary package guide
- Các bản cài đặt dựa trên stage mới đã bao gồm sẵn
/etc/portage/binrepos.conf/gentoobinhost.conf- Nếu cần, có thể đổi
src-urisang URI của thư mục tương ứng trên mirror cục bộ - Ví dụ cập nhật là
emerge -uDNavg @world
- Nếu cần, có thể đổi
Tiêu chuẩn build cho amd64 và arm64
- Các gói nhị phân dưới
amd64/binpackages/17.1/x86-64được biên dịch với cấu hình sauCFLAGS="-march=x86-64 -mtune=generic -O2 -pipe"- Hoạt động trên mọi máy amd64 / x86-64
- Cấu hình USE flag và phiên bản của gói amd64 tương ứng với các profile gói ổn định
amd64/17.1/nomultilibamd64/17.1/desktop/plasma/systemdamd64/17.1/desktop/gnome/systemd
- Các gói dưới
arm64/binpackages/17.0/arm64được biên dịch với cấu hình sauCFLAGS="-O2 -pipe"- Hoạt động trên mọi máy arm64 / AArch64
- Cấu hình USE flag và phiên bản của gói arm64 cũng khớp với các profile gói ổn định
arm64/17.0arm64/17.0/desktop/plasma/systemdarm64/17.0/desktop/gnome/systemd
- Nếu cần tối ưu hóa theo từng CPU, vẫn phải tự biên dịch như trước
Liên kết với stage và các kiến trúc khác
- Việc lưu trữ gói nhị phân cho các kiến trúc và ABI khác được liên kết với bản dựng stage
- Gần như mọi stage đều được cung cấp nơi lưu trữ gói nhị phân chỉ chứa nội dung và cấu hình của stage đó
- Phạm vi này bao gồm trình biên dịch
gcchoặcclangvà toàn bộ chuỗi công cụ build - Hiện chưa có kế hoạch mở rộng phạm vi này thêm
Cách ký và xác minh
- Các gói nhị phân chính thức được áp dụng chữ ký mật mã bằng cùng khóa với stage
- Thông tin khóa ký có thể xem tại Gentoo signatures
- Portage xử lý hai định dạng gói nhị phân
- XPAK: định dạng cũ, không hỗ trợ chữ ký
- GPKG: định dạng mới, hỗ trợ chữ ký mật mã
- Tất cả gói nhị phân chính thức của Gentoo đều ở định dạng GPKG
- Gói GPKG sẽ được xác minh chữ ký
- Nếu xác minh thất bại, việc cài đặt sẽ bị từ chối
- Trong cấu hình mặc định, các gói XPAK không có chữ ký cũng có thể được cài đặt để tương thích với gói nhị phân cũ
- Để bắt buộc chữ ký đã xác minh, cần đặt
FEATURES="binpkg-request-signature"trongmake.conf- Khi đó chỉ có thể dùng gói GPKG
Lỗi chữ ký và gói tự tạo
- Nếu xuất hiện lỗi không thể xác minh chữ ký, có thể chạy Gentoo Trust Tool
getutovới quyền root- Ví dụ lệnh là
getuto - Công cụ này thiết lập keyring Gentoo Release Engineering cần thiết cho Portage
- Ví dụ lệnh là
- Nếu
FEATURES="binpkg-request-signature"được bật trongmake.conf,getutosẽ được gọi tự động trước khi tải gói nhị phân- Đây là thao tác để lấy các bản cập nhật và thu hồi khóa
- Gói nhị phân tự tạo có thể bị Portage từ chối
- Đây là tác dụng phụ của
FEATURES="binpkg-request-signature" - Với gói tự tạo, cần cấu hình khóa ký và để anchor trong
/etc/portage/gnupgtin cậy khóa đó
- Đây là tác dụng phụ của
Mirror, profile và hạn chế USE flag
- Nếu tải xuống chậm, nên dùng mirror cục bộ thay vì University of Oregon
- Chỉ cần sửa URI trong
/etc/portage/binrepos.conf - Nhờ chữ ký mật mã, dùng mirror cục bộ vẫn an toàn
- Chỉ cần sửa URI trong
- Nếu dùng tổ hợp USE flag khác với giá trị mặc định của profile, không thể dùng các gói nhị phân tương ứng
- Portage có thể dùng kết hợp gói nhị phân và gói biên dịch cục bộ
- Gentoo không đặt mục tiêu trở thành bản cài đặt chỉ dùng nhị phân hoàn toàn
- Các gói cũng có thể dùng trên hệ thống merged-usr
- Nếu phát sinh vấn đề, cần báo cáo như bug
- Không thể dùng chung với profile phiên bản cũ hơn hoặc mới hơn khác
- Đây là lý do đường dẫn
src-urichứa phiên bản profile như17.1 - Khi có phiên bản profile mới, một thư mục gói mới riêng sẽ được cung cấp
- Đây là lý do đường dẫn
~amd64 và báo cáo vấn đề
- Hiện chưa có kế hoạch cung cấp gói nhị phân
~amd64- Việc cung cấp sẽ đòi hỏi nhiều lần rebuild
- Ngay cả nếu cung cấp, vì lý do kỹ thuật cũng cần một URI riêng
- Nếu cần gói thử nghiệm, khuyến nghị giữ stable nhiều nhất có thể và thêm cục bộ vào
package.accept_keywords- Nhiều gói nhị phân vẫn có thể tiếp tục được sử dụng
- Phần còn lại phải tự biên dịch
- Nếu có vấn đề với Portage hoặc một gói cụ thể, có thể xin lời khuyên trên IRC, diễn đàn, mailing list hoặc gửi bug
- Hỗ trợ gói nhị phân đã được thử nghiệm trong một thời gian, nhưng khi số người dùng tăng lên, các trường hợp biên có thể phát sinh
1 bình luận
Ý kiến trên Hacker News
Nói rõ trước, tôi là fan cứng của Gentoo
Sức hấp dẫn của Gentoo không nằm ở việc biên dịch mọi thứ từ mã nguồn, mà ở tài liệu tuyệt vời và quyền tự do cài những gì mình muốn lên gần như bất kỳ phần cứng nào, với rào cản tối thiểu
Nếu muốn dùng Enlightenment + OpenRC + NetworkManager trên laptop đời 2008 thì cứ cài Gentoo, và nếu muốn dùng ZFS cho root filesystem của tủ lạnh thông minh thì Gentoo cũng làm được
Muốn dùng Gnome nguyên bản + SystemD trên laptop mới cũng được
Quyết định cung cấp gói nhị phân là để cho người dùng nhiều lựa chọn hơn, trái ngược với việc các bản phân phối khác đã thu hẹp quyền tự do lựa chọn
Debian tự gọi mình là “hệ điều hành phổ dụng” nhưng đã ngừng hỗ trợ x86 32-bit; các hệ thống init thay thế vẫn có thể cài được nhưng khá phiền phức
Trong khi đó Gentoo cho phép chọn trong hơn 17 tarball stage 3 và 35 profile eselect
Cá nhân tôi thích biên dịch mọi thứ từ mã nguồn và tận hưởng sự linh hoạt đó; trên phần cứng hiện đại thì hoàn toàn không khổ sở gì
Nếu không đồng ý thì cứ cài các gói nhị phân mới là được
Điểm bán hàng của Gentoo không phải Portage, mà từ trước đến nay luôn là sự linh hoạt và cộng đồng
Đúng hơn là trong cuộc họp của đội phát hành, họ kết luận rằng rất có khả năng vào một thời điểm chưa xác định trong tương lai sẽ không còn trình cài đặt và hỗ trợ kernel cho x86 32-bit
Hiện tại cả hai vẫn được cung cấp và hỗ trợ đầy đủ
Đặc biệt, vẫn có thể tiếp tục dùng đa kiến trúc 32-bit/64-bit nên vẫn chạy được phần mềm x86 32-bit
Ai cũng muốn hỗ trợ mọi thứ, nhưng cuối cùng, để một bản phân phối đảm bảo được bảo mật và bảo trì, nguồn lực có thể quản lý là có hạn
Chắc chắn phải bỏ bớt thứ gì đó
Trên bất kỳ bản phân phối Linux nào bạn cũng có thể cài thứ mình muốn, nhưng phạm vi có thể thật sự nói là được hỗ trợ luôn bị giới hạn bởi số lượng maintainer
https://buildd.debian.org/status/package.php?p=base-files&su...
Tôi biết vì chính tôi thường xuyên bảo trì phần lớn các kiến trúc ít được biết đến của Debian cùng với các snapshot cài đặt định kỳ
https://cdimage.debian.org/cdimage/ports/snapshots/
Debian còn có bản port Hurd cho cả i386 lẫn amd64
Tôi cũng không dùng profile musl hay clang
Vì đó là ấn tượng đầu tiên nên tôi sẽ không cân nhắc Gentoo hay các fork bên dưới nó trừ khi họ cung cấp trình cài đặt
Tôi sắp thử cài Solus OS / Solus Linux; trình quản lý gói tạo ấn tượng ban đầu tốt, và tuy không theo kiểu như nix hay guix nhưng họ tuyên bố là có thể tái lập
Sức hấp dẫn lớn của Gentoo với cá nhân tôi là Portage
Nó mang lại nhiều hơn một môi trường build đơn giản và quản lý phụ thuộc
Ebuilds, tức các gói Gentoo, được hỗ trợ bởi các công cụ tuyệt vời và Eclass để xử lý nhiều trường hợp ngoại lệ trong quá trình build
Phát triển Ebuild cho cảm giác như làm một dự án phần mềm thực thụ, rất tốt cho những ai muốn thử nghiệm các gói không có trong kho chính thức
Vừa hay tôi cũng mới công bố một công cụ quản lý chroot không đặc quyền để thử nghiệm ebuild
Thay đổi lần này sẽ giúp Gentoo dễ tiếp cận hơn với nhiều người, nhưng có lẽ không hợp với tôi
Cấu hình build của tôi, chẳng hạn CFLAGS, chắc chắn sẽ không khớp với bản nhị phân chính thức, nên rốt cuộc tôi sẽ không dùng
Khi dùng Gentoo trong môi trường vận hành, việc loại bỏ các tính năng và tích hợp với phần mềm không dùng đến đã trở thành một phần quan trọng trong tư thế bảo mật
Tuy vậy, dù tôi luôn có một build host chuyên dụng để tạo binary, hỗ trợ binary của Gentoo trước đây không tốt lắm
Gần như chỉ là cung cấp artifact đã biên dịch qua HTTP hoặc NFS mà không ký
Nghe nói định dạng gói mới có xác minh mật mã nên tôi thật sự rất mong chờ
Dù chỉ cung cấp nội bộ, đây vốn đã nên là một tính năng phải có từ đầu
Nó hữu ích khi bạn không muốn cấu hình binrepo riêng, nhất là khi có thêm biên dịch chéo, nhưng vẫn muốn tái sử dụng cấu hình Portage hiện có và ebuild tùy chỉnh
ChromeOS dùng bazel để chạy ebuild bên trong chroot tạm thời
https://chromium.googlesource.com/chromiumos/bazel/+/refs/he...
Cách này có thể đảm bảo rằng các phụ thuộc chưa khai báo sẽ không bị sử dụng
Dù vậy tôi hơi bị cám dỗ viết một script ghi đè để dùng binary chung cho các gói liên quan đến plasma
Những thứ cần tốc độ thì tự build, còn các gói phía GUI thì lấy binary, có lẽ sẽ tiết kiệm được rất nhiều thời gian build
Thiệt hại có vẻ cũng không lớn lắm
Tôi đã thật sự rất cần một thứ như vậy cho dự án sandbox của mình
Dù nói thế nào về khái niệm Gentoo, quá trình học về đóng gói phần mềm, biên dịch phân tán, các chi tiết tối ưu hóa tại thời điểm biên dịch và tối ưu hóa kernel Linux khi 17 tuổi thật sự rất thú vị
Theo tôi nhớ thì tài liệu cộng đồng cũng khá tốt
Vài bản vá tôi gửi có khi vẫn còn nằm đâu đó trong một số bản phát hành
Chỉ đến khi thấy một máy Slackware chạy nhanh ngang máy Gentoo, tôi mới nhận ra rằng đủ loại tinh chỉnh, tối ưu hóa và phần mềm mới nhất không đáng đến thế
Với một số ứng dụng cụ thể, chẳng hạn render farm hay máy đào tiền mã hóa, biên dịch tùy chỉnh và tinh chỉnh có thể hữu ích, nhưng game thì trên bản phân phối nào cũng cho cùng FPS
Trước đây, nếu biên dịch theo mẫu số chung thấp nhất thì thậm chí MMX hay SSE cũng không được đưa vào, và với một số thuật toán bị giới hạn bởi CPU, điều đó có thể tạo ra khác biệt lớn
Nhưng việc phát hiện tính năng CPU lúc chạy rồi chạy phiên bản tối ưu cũng luôn là khả thi, nên chọn tính năng ở thời điểm biên dịch không phải là cách duy nhất
Sau đó AMD Opteron xuất hiện và mọi người cùng bước lên một baseline mới
Biên dịch cho amd64 lại có nghĩa là nhắm tới một CPU cụ thể, và khi đó chưa có các tập lệnh mới hơn
Hiện nay AMD64 có nhiều mức[1], nên với một số tác vụ nhất định như SIMD, điều đó có thể trở nên quan trọng
Một ví dụ bình thường hơn, thường gặp hơn là popcnt được thêm ở v2; riêng nó thì tốt cho những thứ như bitset, nhưng về hiệu năng toàn chương trình, trong các dự án của tôi gần như không đo được khác biệt giữa v1 và v3
Với game, có lẽ chúng chỉ có dạng binary và đã được biên dịch theo mẫu số chung thấp nhất, hoặc dùng lựa chọn tính năng lúc chạy
Hơn nữa, phần lớn dù sao cũng có lẽ bị nghẽn cổ chai GPU
[1] https://en.wikipedia.org/wiki/X86-64#Microarchitecture_level...
Vài năm trước, chẳng hiểu vì sao, tôi đã lãng phí hàng giờ, hàng ngày thời gian máy tính và thời gian của mình để biên dịch và tinh chỉnh li ti một hệ thống Gentoo
Trong khi đằng nào ngày hôm sau tôi cũng định format để cài cái CD Ubuntu mới vừa tới
Những người từng tự biên dịch kernel rồi giờ không còn làm nữa, ở một mức độ nào đó đã trở thành người giỏi như hiện tại chính vì họ từng thử làm việc đó, dù chỉ trong chốc lát
Sau khi đã thử thì giờ không làm nữa mới là hợp lý
Nói “nếu hồi đó tôi thông minh hơn thì đã không lãng phí thời gian vào việc đó”, hoặc để người mới nhìn vào hiểu như vậy, là không đúng
Cuối cùng tôi kiệt sức và chuyển sang Arch, có được hầu hết những thứ tương tự mà không phải lúc nào cũng đánh nhau với các gói bị hỏng
Dù vậy, kiến thức có được khi xử lý các vấn đề cấp thấp phát sinh ngẫu nhiên đến nay tôi vẫn tiếp tục dùng
Dù thế vẫn học được rất nhiều
Ngày nay Linux giống như siêu năng lực của tôi
OS, VM, container, Nix-shell, WSL2 đều là Linux
Dù rơi vào dòng lệnh nào, phần nào kể cả BSD, tôi cũng thấy thoải mái và có thể giải quyết vấn đề
Tôi muốn nghĩ rằng khoảng thời gian vui vẻ với Gentoo đã dẫn mình tới đó
Trên CentOS, chỉ để dùng một trình phát dòng lệnh mpg123 cũng bị yêu cầu cài toàn bộ X, nhưng trên Gentoo có thể tắt phần tích hợp X của mpg123
Các flag là phần thưởng thêm đặt lên trên đó
Giờ tôi cài Debian, cài thêm vài chương trình dùng hằng ngày rồi xong
Trên máy khác, tôi cũng có thể dựng lại cấu hình của mình trong vòng 20 phút
Tôi đã dùng Gentoo khá lâu vào đầu những năm 2000, và gần như mọi thứ tôi biết về máy Linux nói chung đều học được từ trải nghiệm đó
Điều thú vị ở USE flag là tôi biết được bản thân việc một gói nào đó có tích hợp cụ thể với thư viện hay gói khác
Khi nhận ra binary SQLite3 sẽ không hoạt động y như vậy nếu được link mà không có hỗ trợ readline, tôi hiểu readline nói chung là gì
Chuyện này lặp lại với vô số thư viện mà trên các hệ thống Linux khác trông như lúc nào cũng được bao gồm sẵn
Đó thật sự là một công cụ học tập quý giá mà tôi gặp đúng thời điểm trong đời
Cảm giác hơi lạ
Nhiều bình luận nói rằng họ đã dùng Gentoo hoặc từng dùng trước đây
Nhưng hiện giờ tôi vẫn dùng nó làm máy dùng hằng ngày và hệ thống chính cho server
Tôi tò mò không biết điều gì khác biệt khiến Gentoo là tốt nhất đối với tôi
Và tôi không có ý định bật gói nhị phân
Tôi chạy Gentoo trên mọi thiết bị như GPD Win 4, Pixelbook cài coreboot, NAS, VPS, v.v.
Tôi nghĩ lý do là như sau
Nếu muốn SystemD thì cứ dùng, muốn OpenRC thì dùng ngay
Tôi cảm thấy an toàn và thoải mái trong Gentoo
Vì tôi biết Gentoo sẽ luôn tôn trọng tự do, điều tôi coi trọng nhất ở Linux
Gentoo giống như một cuốn sách phiêu lưu tự chọn
Nếu muốn dùng SystemD + Gnome + PulseAudio + gói nhị phân thì có thể, và nếu muốn dùng OpenRC + Hyprland + Pipewire + NetworkManager thay vì netifrc thì cũng được
Gentoo không phải là bản phân phối biên dịch mọi thứ, mà là bản phân phối cho phép chọn mọi thứ
Thông báo lần này không liên quan đến tôi, nhưng nó cho người dùng nhiều lựa chọn hơn
Gentoo cũng tốt, nhưng sống với tư cách quản trị viên hệ thống NixOS dễ hơn nhiều so với quản trị viên hệ thống Gentoo
Tôi không định phản bác câu trả lời, chỉ thật sự tò mò
Với tôi, lý do Gentoo không hợp là vì tôi không vận hành server cá nhân, còn ở chỗ làm thì dùng server đám mây
Có lẽ là dựa trên Ubuntu hoặc kiểu AWS, nhưng tôi không biên dịch kernel hay gì cả
Trên desktop, hơn 10 năm trước một người bạn thuyết phục tôi thử Gentoo vì “nó được biên dịch phù hợp với phần cứng của cậu nên sẽ nhanh hơn”
Tôi đã lãng phí rất nhiều thời gian để cài đặt và chạy nó, nhưng trong bất kỳ tác vụ nào tôi làm, nó cũng không nhanh hơn Ubuntu thông thường một cách thấy rõ, chỉ tốn thêm thời gian cấu hình
Vì vậy tôi bỏ nó
Còn câu thường nghe “tôi đã học được rất nhiều khi cấu hình Gentoo” thì trong trường hợp của tôi cũng không đúng
Như đa số mọi người, tôi chỉ làm theo công thức, đặt các flag mà mình không hiểu và chỉnh các file cấu hình, nên nói cho an toàn là tôi chẳng học được gì cả
Tôi chỉ làm theo quy trình mà thôi
Tất nhiên đó là trải nghiệm của tôi
Tôi không biết chính xác, nhưng tôi cũng đã dùng nó 20 năm rồi
Ý tôi không phải máy dùng hằng ngày hay server được động tới mỗi tuần, mà là thiết bị đã cấu hình từ lâu rồi sau đó cứ tiếp tục hoạt động
Tức là hệ thống chỉ đăng nhập vài lần mỗi năm
Tôi đã bỏ Gentoo khi tạo hệ thống “vận hành” đầu tiên
Mọi người bắt đầu dùng nó, và nó ở trạng thái “hoàn thành” theo nghĩa không còn lý do để đăng nhập hằng ngày hay hằng tuần nữa
Tôi vẫn muốn có cập nhật bảo mật, và rất hiếm khi cần gói mới vì tính năng mới, nhưng về cơ bản tôi muốn một hệ thống ổn định
Gentoo cực kỳ không phù hợp cho mục đích này
Ngay cả trên desktop cá nhân, tôi cập nhật hằng tuần mà gần như lần nào cũng có lỗi build emerge, nên một hệ thống có thể vài tháng không cập nhật chắc còn tệ hơn
Vì vậy tôi chuyển sang Debian và thấy ổn
Đặc biệt là unattended upgrades rất tốt, và cuối cùng tôi chuyển tất cả máy sang Debian
Nếu bạn dùng Gentoo, tôi tò mò liệu bạn có máy nào không động tới hằng tuần không, bạn cập nhật thường xuyên thế nào, và để hoàn tất cập nhật thì thường xuyên cần can thiệp thủ công đến mức nào
Quá ít, và muộn 15 năm
Một trong những lý do tôi chuyển từ Gentoo sang FreeBSD hơn 15 năm trước là vì Gentoo phải biên dịch mọi thứ còn FreeBSD cung cấp gói nhị phân
Ngày nay có thể không quá quan trọng, nhưng vào thời chỉ có một nhân CPU và 1GB RAM thì đó là khác biệt thay đổi cuộc chơi
Tôi dùng Gentoo một thời gian dài rồi chuyển sang macOS vài năm, khi đó tôi dùng Gentoo prefix và nó vượt trội hơn Homebrew rất nhiều
Gần 10 năm trước tôi đã thêm patch để llvm upstream chạy được trong Gentoo prefix trên macOS [1]
Tại một sự kiện tái ngộ GSoC, cuối cùng tôi cũng gặp được người muốn cấp quyền maintainer cho tôi, nhưng chuyện đó không đi đến cùng
Anh ấy đã cảnh báo trước rằng công việc đó sẽ phức tạp
Tôi đã liên tục nói rằng prefix cũng cần có bản nhị phân
Tôi cứ tưởng tượng nếu Gentoo prefix trên Mac có thể cài gói dễ như Homebrew thì sẽ thế nào
Đáng buồn là Gentoo là một ví dụ hay cho thấy ngay cả một dự án mã nguồn mở vượt trội về kỹ thuật cũng không thể sống sót và đánh bại các giải pháp kém hơn nếu bỏ qua sự tiện lợi cơ bản cho người dùng cuối và không có cơ chế quản trị tốt
Tôi nghĩ lý do opensolaris/illumos về cơ bản cũng rơi vào cảnh phải sống nhờ máy trợ sinh là tương tự
Những người phụ trách đã không vượt qua được chủ nghĩa tinh hoa, và không thể quyết định rằng để cộng đồng tham gia thì cần một thứ đơn giản hơn 100 lớp spaghetti makefile/shell khó hiểu để build kernel
[1] https://github.com/fishman/timebomb-gentoo-osx-overlay/tree/...
Gentoo vốn luôn là một ngách ngay cả trong cộng đồng Linux đã là ngách, nhưng trông nó vẫn tiếp tục vận hành vui vẻ
Có vấn đề gì sao?
Nghĩ đến việc đã phát sinh bao nhiêu tiền điện và khí nhà kính do cứ liên tục biên dịch cùng một phần mềm một cách không cần thiết thật khiến người ta rùng mình
Gentoo cũng đâu được dùng rộng rãi như Red Hat hay Ubuntu
Hơn nữa, nếu máy tính dù sao cũng đã bật sẵn, thì mức dùng điện của CPU chỉ ở mức sai số làm tròn so với ổ HDD quay hay màn hình, v.v.
Có người chơi game 12 tiếng mỗi ngày trên PC gaming cấp kilowatt, lái xe trên đường đua, hoặc đi loanh quanh bằng những chiếc thuyền ngốn nhiều nhiên liệu
Điều làm Gentoo trở nên tuyệt vời là ngay từ đầu nó đã được thiết kế để giúp dễ dàng thêm và bảo trì một chỉnh sửa nhỏ mà tôi muốn trên hệ thống của mình
Mọi bản phân phối khác mà tôi từng dùng, tất cả các bản phân phối lớn và nhiều bản phân phối nhỏ, thường hoạt động tốt hơn ở trạng thái mặc định, nhưng hễ đi chệch khỏi con đường định sẵn là đau khổ khủng khiếp
Một hệ thống Gentoo được tinh chỉnh tốt thì cứ thế chạy tốt™
“Chạy tốt” ở đây có nghĩa là gì với cá nhân bạn cũng không quan trọng
Đó có thể là xung đột tên python 2to3 xảy ra khi Arch quyết định ghi đè upstream, hoặc vấn đề độ trễ lõi hệ thống do SystemD làm quá nhiều việc không cần thiết ở kernel mode
Bất chấp nhiều nhược điểm, tôi là một người dùng Gentoo rất hài lòng
Các gói nhị phân upstream chỉ là một phần mở rộng khác của sự tự do đó
Trước đây đã có phiên bản nhị phân của một số dự án lớn, hoặc bạn có thể tự dựng build server, nhưng nếu có thể dễ dàng dùng nhiều gói nhị phân hơn, sẽ có nhiều người hơn được hưởng lợi mà không phải chịu gánh nặng thời gian khổng lồ khi build mọi thứ nhỏ nhặt
Nếu cần nhiều linh hoạt hơn cho một gói cụ thể, chẳng hạn patch hoặc use flag, thì vẫn có thể làm được và cũng dễ bảo trì
Đây là một thắng lợi lớn
Đã có một thời điểm thích hợp trong một khoảng thời gian, khi Gentoo thực sự chạy rất mượt mà
useflag không quá nhiều cũng không quá ít, đó là thời còn biên dịch lại Open Office vào những đêm đông lạnh giá khi phòng ký túc xá quá lạnh
Tôi nói vậy với ý đầy trìu mến