Alpine Linux là một bản phân phối Linux nhỏ gọn, tập trung vào bảo mật và nhẹ lượng, được xây dựng dựa trên thư viện musl libc và nền tảng tiện ích BusyBox thay vì GNU. Hệ điều hành này có thể chạy trên phần cứng vật lý (bare-metal), máy ảo (VM) hay thậm chí là Raspberry Pi. Alpine Linux phi thương mại và được phát triển chủ yếu cho các workload nhúng (embedded) và server, tuy nhiên việc sử dụng làm hệ điều hành desktop vẫn hoàn toàn khả thi.
Kiến trúc bảo mật cứng nhắc
Kernel Alpine Linux được cứng hóa (hardened) với bản port không chính thức của bản vá grsecurity, kết hợp với LibreSSL (Secure Sockets Layer) và hệ thống khởi tạo (init) OpenRC, tạo nên một bản phân phối an ninh mạnh mẽ. Chiến lược bảo mật khác của Alpine là hầu hết các dịch vụ và gói phần mềm đều bị tắt hoặc không cài đặt mặc định. Các tính năng bảo mật khác ngăn chặn tràn bộ nhớ đệm stack (stack buffer overflow) và hỏng bộ nhớ (memory corruption) cho mọi gói package.
Đặc điểm nổi bật
Alpine Linux chiếm dung lượng lưu trữ tối thiểu 130 MB (khoảng 300 MB cho bản cài đặt tiêu chuẩn) và có thể chạy từ đĩa (disk) hoặc không đĩa (diskless). Hệ thống sử dụng trình quản lý gói apk để thêm, xóa và sửa chữa các package. Mặc dù Alpine Linux là bản phân phối đa dụng, thiết kế cốt lõi của nó tối giản, không bao gồm các tiện ích GNU để duy trì dung lượng nhỏ. Người dùng được kỳ vọng tự chọn từ hàng nghìn package và cài đặt những gì phù hợp với workload cụ thể. Người dùng cũng có thể xây dựng package tùy chỉnh riêng biệt.
Alpine Linux và Container
Alpine Linux là lựa chọn phổ biến để chạy container, mặc dù nó không được thiết kế chuyên biệt cho mục đích này. Môi trường container có dung lượng nhỏ; tuy nhiên, Alpine Linux đòi hỏi nỗ lực cài đặt đáng kể để chạy Docker đúng cách. Ví dụ, kết nối mạng cho hoạt động container trên Alpine Linux yêu cầu tạo thủ công file /etc/network/interfaces. Đường cong học tập (learning curve) của Alpine Linux dốc hơn so với các hệ điều hành tập trung vào container khác như RancherOS và Boot2Docker, được thiết kế để hoạt độngแบบ plug-and-play. Vì sử dụng các thành phần Linux thay thế, Alpine Linux có thể ít quen thuộc hơn đối với admin container so với Red Hat Enterprise Linux Atomic Host hay Windows Server 2016.
Yêu cầu kỹ năng
Để sử dụng Alpine Linux, quản trị viên cần quen thuộc với trình soạn thảo văn bản vi, phổ biến trong các bản phân phối Linux. Do đó, người dùng Windows và Mac có thể gặp khó khăn khi tiếp cận.