Chắc nhiều người dùng Linux lâu năm đã nghe về Fedora Silverblue. Với người chưa biết, Fedora Silverblue là biến thể bất biến (immutable) của Fedora Workstation. Nghĩa là hệ điều hành cốt lõi giống hệt mọi cài đặt Fedora Silverblue khác, và chỉ đọc (read-only). Bạn không thể thay đổi nó,不管你怎么努力。
Lợi ích được Fedora Project giải thích tốt trong tài liệu Silverblue: "Thiết kế bất biến của Silverblue nhằm làm cho nó ổn định hơn, ít lỗi hơn, dễ kiểm thử và phát triển hơn. Cuối cùng, thiết kế bất biến cũng làm cho nó trở thành nền tảng tuyệt vời cho ứng dụng container hóa cũng như phát triển phần mềm dựa trên container. Trong mỗi trường hợp, ứng dụng và container được tách biệt khỏi hệ thống host, cải thiện ổn định và độ tin cậy." Đây là nhiều lý do tại sao tôi tin Fedora Silverblue có thể là tương lai của Linux.
Fedora Silverblue bất biến (Immutable)
Hệ điều hành bất biến phổ biến hơn bạn nghĩ. Cả hai hệ điều hành "*nix" "chủ dòng" (mainstream), macOS và Chrome OS, đều bất biến theo cách nào đó. Đây là lựa chọn tuyệt vời cho những người dùng luôn rơi vào tình huống OS dễ vỡ (mutable OS breaking).
Tính chất bất biến cũng thúc đẩy ứng dụng container hóa. Ví dụ, Flatpak là cách chính cài ứng dụng trên Silverblue, và lớp RPM package lên hệ thống cơ sở là giải pháp cuối cùng nếu không tìm thấy Flatpak hoặc ứng dụng container hóa khác.
Nâng cấp OS nguyên tử (Atomic OS Upgrades)
Nâng cấp OS nguyên tử nghĩa là khác với các hệ thống Linux khác, bạn không nâng cấp từng gói một. Bạn nâng cấp toàn bộ ảnh OS (OS image). Đây là điều bắt buộc để cài phần mềm không container hóa.
Bạn dùng lệnh rpm-ostree cài gói RPM muốn, và nó sẽ tạo hệ thống file root có thể boot mới. Nghĩa là hệ thống file root boot trước đó vẫn nguyên vẹn, và bạn có thể reboot vào ảnh cũ nếu có sự cố.
Đây là chức năng tương tự snapshot hệ thống dùng Btrfs, ZFS, hoặc LVM, nhưng với Fedora là hệ thống khó tích hợp ZFS, các tùy chọn Grub có sẵn với OSTree là cải tiến chất lượng cuộc sống được chào đón.
OSTree và rpm-ostree
OSTree là công nghệ vận hành việc soạn thảo, cập nhật, triển khai root mới có thể boot trong Silverblue. Bạn có thể nghĩ nó như "Git cho nhị phân OS". Nó là hệ thống thú vị quản lý nhị phân OS, và cho phép tách biệt không gian hệ thống và không gian người dùng như đã đề cập.
rpm-ostree là hệ thống kết hợp quản lý gói từ RPM và quản lý ảnh từ OSTree thành hệ thống cho phép bạn lớp (layer) RPM lên ảnh Silverblue cơ sở. Hầu hết RPM từ Fedora có thể cài qua rpm-ostree, và tích hợp RPM với OSTree giúp trình quản lý gói và trình quản lý ảnh làm việc cùng nhau.
Ví dụ lợi ích: RPM bạn lớp lên ảnh cơ sở được cập nhật và kiểm soát riêng biệt từ ảnh cơ sở, nên bạn có thể nâng cấp Firefox phiên bản khác và reboot vào root mới. Nhưng nếu nâng cấp ảnh không suôn sẻ, bạn có thể rollback về ảnh cũ và vẫn giữ Firefox mới nhất. Nó là lớp tách biệt từ ảnh OS, và rpm-ostree là công cụ quản lý cả hai.
Lớp OSTree, Flatpak, và Toolbox
Tôi đã nhắc "lớp" (layers) trong Silverblue suốt bài. Ý tôi là Silverblue được tách thành nhiều không gian riêng biệt cùng làm việc để OS hoạt động. Ảnh OS cơ sở bất biến là một lớp, và mỗi RPM bạn lớp lên tạo lớp mới với cùng root boot nhưng gói RPM mới lớp lên. Đó là tất cả lớp OSTree.
Tách biệt hoàn toàn, bạn có Flatpak, tất cả lớp lên nhau và cô lập hoàn toàn khỏi lớp OSTree. Cuối cùng, bạn có lớp riêng gọi là Toolboxes, về cơ bản là hệ thống file root Fedora Workstation lớp lên lớp OSTree, nơi bạn dùng DNF test phần mềm và truy cập công cụ dùng một lần, như thử phần mềm từ kho Copr, hoặc test phần mềm bạn viết mà không phải reboot vào triển khai Silverblue mới. Bạn có thể dùng các phiên bản Fedora Workstation khác nhau, tận dụng tính năng mới hoặc cũ từ Workstation trong test. Toolboxes quá nhiều để bao quát ở đây. Xem video sau để biết thêm.
Tại sao Silverblue là tương lai?
Tôi biết nhiều thứ này có vẻ nhắm đến nhà phát triển. Tuy nhiên, dùng nó như OS laptop hoặc trạm làm việc máy để bàn cũng là lựa chọn khả thi. Với việc lớp chỉ gói cần thiết, như libvirt và công cụ ảo hóa KVM khác, dùng Flatpak và toolbox tạo quy trình làm việc container hóa, bạn dùng Silverblue tới gần tiềm năng tối đa. Có đường cong học tập, nhưng hầu hết sẽ quen thuộc với người dùng Fedora Workstation thích Flatpak.
Đảm bảo xem thêm nội dung Fedora khác của chúng tôi, bao gồm cách nâng cấp lên Fedora 32 và cách quản trị hệ thống Fedora với Cockpit. Cũng hãy học sự khác biệt giữa RHEL, CentOS, và Fedora.