- Trong bản kế tiếp, Bun hạ yêu cầu glibc tối thiểu từ 2.26 xuống 2.17 — phiên bản glibc 14 năm tuổi.
- Động thái này mở khoá cho các công ty còn đang chạy Red Hat Enterprise Linux 7 và Amazon Linux 1, hai distro enterprise vẫn phổ biến trong hạ tầng ngân hàng, telco và EC2 fleet đời cũ.
TL;DR
Bun vừa công bố trong bản kế tiếp sẽ hạ yêu cầu glibc tối thiểu từ 2.26 xuống 2.17 — phiên bản glibc phát hành cuối năm 2012, tức gần 14 năm trước. Thay đổi này mở đường cho các hệ thống còn chạy RHEL 7 và Amazon Linux 1 sử dụng Bun mà không cần build từ nguồn hay dùng musl binary. Đáng chú ý hơn: baseline mới của Bun hiện đang lỏng hơn cả Node.js 20 LTS (yêu cầu glibc >= 2.28).
Có gì mới
Bun (@bunjavascript) thông báo trên X rằng bản release kế tiếp sẽ chạy được trên nhân Linux cũ tới kernel 3.10 — đúng baseline của RHEL 7 và Amazon Linux 1. Docs cài đặt chính thức hiện đã xác nhận: prebuilt glibc binary của Bun tương thích glibc 2.17+, với "graceful degradation" cho các syscall mới không có trên kernel cổ.
Trước thay đổi này, nhà phát triển trên các server RHEL 7 / CentOS 7 / Amazon Linux 1 thường gặp lỗi quen thuộc:
bun: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.26' not foundCách workaround duy nhất là build Bun từ source hoặc chuyển sang bản musl — cả hai đều phiền và không phải team nào cũng chấp nhận được trong môi trường sản xuất.
Vì sao quan trọng
Đây không đơn thuần là vấn đề "hỗ trợ máy cũ". Có ba nhóm đối tượng hưởng lợi trực tiếp:
- Doanh nghiệp lớn kẹt trên RHEL 7: ngân hàng, telco, cơ quan nhà nước vẫn vận hành hàng chục nghìn VM RHEL 7 — distro này đang trong giai đoạn Extended Life-cycle Support (ELS) đến tháng 6/2026.
- Người dùng AWS chạy Amazon Linux 1: dù đã EOL từ 31/12/2023, rất nhiều EC2 fleet và AMI golden image đời cũ vẫn hoạt động và không thể migrate gấp.
- CI/CD và base image: team nào đã chuẩn hoá trên
centos:7hoặc UBI 7 giờ có thể pull Bun thẳng, không cần tầng build-from-source tùy biến.
Fact kỹ thuật
| Thuộc tính | Trước | Sau |
|---|---|---|
| glibc tối thiểu | 2.26 (~2017) | 2.17 (2012) |
| Kernel tối thiểu | ~4.x | 3.10 |
| RHEL 7 / CentOS 7 | ❌ | ✅ |
| Amazon Linux 1 | ❌ | ✅ |
| Amazon Linux 2 | ✅ | ✅ |
| Alpine (musl) | ✅ (binary riêng) | ✅ (binary riêng) |
Baseline CPU không đổi: bản x64 mặc định vẫn yêu cầu Haswell (AVX2); máy cũ dùng bản x64-baseline với Nehalem/SSE4.2.
So với Node.js
Điều thú vị: Node.js 20 LTS yêu cầu glibc >= 2.28, tức không chạy trên RHEL 7. Với quyết định hạ xuống 2.17, Bun bất ngờ trở thành JavaScript runtime dễ dãi hơn Node.js trên các máy enterprise đời cũ — một tình huống hiếm gặp khi Bun thường được coi là công cụ "tiên phong".
Với các team đang cân nhắc chọn runtime cho workload mới trên legacy infrastructure, cán cân vừa nghiêng rõ về Bun.
Use case cụ thể
- Containers từ
centos:7:bun installgiờ chạy thẳng, không còn lỗiGLIBC_2.26 not found. - EC2 t2.micro Amazon Linux 1 đời cổ: script tự động hoá, tool nội bộ viết bằng Bun giờ deploy được mà không phải đổi AMI.
- CI trên GitHub Actions self-hosted với RHEL 7: job Bun dùng official binary thay vì custom Docker image.
- Migration gradient: team đang chuyển từ Node.js sang Bun có thể áp dụng ngay cả khi chưa kịp nâng cấp OS.
Giới hạn & lưu ý
- Trên kernel 3.10, một số syscall mới (như
io_uring) sẽ degrade về fallback — perf thấp hơn chút so với kernel 6.x. - Alpine Linux vẫn cần bản musl binary riêng — đây là thay đổi glibc, không phải làm Bun static hoàn toàn.
- CPU trước Haswell vẫn cần bản
x64-baseline. - Amazon Linux 1 đã EOL từ cuối 2023 — chạy được Bun không có nghĩa OS được vá bảo mật.
- Windows <10 và macOS <13 không liên quan thay đổi này.
Sắp tới
Thay đổi này nằm trong bản Bun kế tiếp (sau 1.3, phát hành 10/2025). Nếu bạn đang chạy stack trên RHEL 7 hoặc Amazon Linux 1, có thể test ngay với canary build: bun upgrade --canary. Timing khá khéo: RHEL 7 ELS kết thúc tháng 6/2026, nên cửa sổ "Bun trên legacy RHEL" kéo dài đúng bằng giai đoạn nhiều doanh nghiệp đang chốt migration plan cuối cùng.
Nguồn: @bunjavascript trên X, Bun Installation docs, RHEL Life Cycle, Amazon Linux AMI EOL.


