2 điểm bởi GN⁺ 2023-12-31 | 1 bình luận | Chia sẻ qua WhatsApp
  • 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á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-uri sang 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

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 sau
    • CFLAGS="-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/nomultilib
    • amd64/17.1/desktop/plasma/systemd
    • amd64/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 sau
    • CFLAGS="-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.0
    • arm64/17.0/desktop/plasma/systemd
    • arm64/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 gcc hoặc clang và 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
  • 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" trong make.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 getuto vớ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
  • Nếu FEATURES="binpkg-request-signature" được bật trong make.conf, getuto sẽ đượ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/gnupg tin cậy khó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
  • 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-uri chứ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

~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

 
GN⁺ 2023-12-31
Ý 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

    • Nói Debian đã ngừng hỗ trợ x86 32-bit là không chính xác
      Đú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
    • Nói các bản phân phối khác đang chủ động loại bỏ quyền tự do lựa chọn thì hơi không công bằng
      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
    • Có thể xem Debian hỗ trợ nhiều kiến trúc không kém Gentoo
      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
    • Dạo này có cảm giác Arch đã lấy mất một phần nhóm người dùng của Gentoo
    • Tôi đã không thể cài Gentoo, đặc biệt là bị kẹt ở bước cài bootloader grub2 cho BIOS hoặc UEFI
      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

    • Tôi đồng ý về việc tùy biến flag và tính năng của gói
      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
    • Đây thật sự là tin rất tốt cho các thiết bị hiệu năng thấp
      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
    • Nếu đã công bố công cụ quản lý chroot không đặc quyền để thử nghiệm ebuild, bạn nên xem cách ChromeOS làm
      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
    • CFLAGS của tôi cũng sẽ không khớp
      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
    • Nếu có thể chia sẻ công cụ đó thì tốt quá
      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

    • Tầm quan trọng của tối ưu hóa theo từng CPU đã tăng rồi giảm theo thời gian
      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

    • Việc bạn từng làm một việc rồi giờ không làm nữa không có nghĩa là việc từng làm nó là sai
      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
    • Tôi cũng vậy, nhưng trong quá trình đó tôi đã học được thật sự rất nhiều
      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
    • Tôi cũng y như vậy
      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 đó
    • Sức hút lớn nhất của Gentoo luôn là USE flag
      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 đó
    • Tôi cũng từng ám ảnh với việc tùy biến hệ điều hành
      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

    • Bạn không đơn độc đâu
      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
      1. Tài liệu tốt nhất trong số những gì tôi từng dùng
      2. Khả năng tùy biến vô hạn, có thể làm hệ thống tối giản hoặc tối đa hóa đúng mức mình muốn
      3. Tôi luôn thấy Portage overlay tốt hơn AUR
      4. Có thể tự chọn hệ thống init
        Nếu muốn SystemD thì cứ dùng, muốn OpenRC thì dùng ngay
      5. Khó mà đánh giá thấp sức mạnh của một cộng đồng tốt với các giá trị được định nghĩa rõ ràng
        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
    • Nếu NixOS không xuất hiện thì có lẽ tôi vẫn đang dùng Gentoo
      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
    • Vậy thì tôi tò mò vì sao Gentoo là tốt nhất đối với bạn
      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
    • Có lẽ là nhờ sự kiên trì như người trưởng thành chăng
      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 tò mò liệu có máy nào cứ chạy ổn không
      Ý 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

    • Đáng buồn là điều đó hoàn toàn đúng
      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/...
    • Có thật là quá muộn không?
      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

    • Có lẽ vẫn ít hơn vài bậc độ lớn so với năng lượng và khí nhà kính bị lãng phí do hàng tỷ thiết bị truy cập web cứ liên tục biên dịch cùng một phần mềm JavaScript một cách không cần thiết
    • So với mức tiêu thụ điện trung bình của các hoạt động như chơi game thì có lẽ không phải là một lượng đáng kể
    • Có lẽ cũng không nhiều đến vậy
      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.
    • Nếu xét như một sở thích thì còn lâu mới là tệ nhất
      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
    • Rất có khả năng chỉ là một mẩu cực nhỏ của 1% lượng điện mà Microsoft dùng để liên tục thu thập dữ liệu cá nhân từ người dùng Windows 10 suốt 24/7
  • Đ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

    • Có lẽ chỉ trên HN mới có nơi người ta có thể hồi tưởng không chút mỉa mai rằng một trạng thái nào đó của Gentoo “cứ thế chạy trơn tru”
      Tôi nói vậy với ý đầy trìu mến