Hệ điều hành bất biến: khi bạn không được phép sửa hệ thống
Ảnh: Medium

Hệ điều hành bất biến: khi bạn không được phép sửa hệ thống

Cài phần mềm kiểu cũ ghi tệp rải khắp hệ thống; vài năm sau không ai biết máy có gì. Hệ điều hành bất biến giải bài toán đó bằng cách cấm ghi — được và mất.

Cách cài phần mềm truyền thống trên Linux là ghi tệp rải rác khắp hệ thống — cái vào thư mục này, cái vào thư mục kia, cấu hình ở một chỗ khác nữa. Từng lần một thì gọn, nhưng sau vài năm cập nhật, cài, gỡ chồng chất, không ai còn biết chắc trên máy thực sự có những gì và vì sao. Hệ điều hành bất biến giải quyết mớ bòng bong đó bằng một biện pháp triệt để: cấm ghi vào hệ thống.

Nguyên tắc chung

  • Các thư mục hệ thống được gắn ở chế độ chỉ đọc — không ai, kể cả root trong lúc vận hành thường, sửa được chúng.
  • Cập nhật tải về nguyên một ảnh hệ thống mới rồi chuyển sang dùng nó, thay vì vá từng tệp lẻ. Hệ thống chuyển từ trạng thái hoàn chỉnh này sang trạng thái hoàn chỉnh khác, không có trạng thái giữa.
  • Bản cũ vẫn được giữ lại; khởi động lại là quay về được ngay.
  • Phần mềm người dùng cài dưới dạng gói đóng riêng biệt, chạy trong không gian của mình, không đụng vào hệ thống nền.

Lợi ích thật

Ba lợi ích lớn, và chúng đều xuất phát từ cùng một tính chất: mọi máy đều giống hệt nhau. Lỗi tái hiện được, vì máy của bạn và máy của người báo lỗi ở đúng cùng một trạng thái, không có "trên máy tôi thì chạy". Cập nhật hoặc thành công trọn vẹn hoặc không xảy ra — mất điện giữa chừng không để lại một hệ thống nửa vời hỏng hóc, vì việc chuyển ảnh là nguyên khối. Và quan trọng nhất với máy chủ: quay lui là chuyện của một phút — chọn bản cũ lúc khởi động — chứ không phải một đêm khôi phục từ sao lưu.

Chỗ gây khó chịu

Mọi thói quen "sửa nhanh một tệp trong /etc cho xong" đều không còn dùng được, và với người quen tuỳ biến sâu thì cảm giác ban đầu là bị trói tay. Trình điều khiển cần biên dịch theo nhân, phần mềm giả định ghi được vào thư mục hệ thống, hay các công cụ cũ mặc định có toàn quyền ghi — tất cả đều phải làm theo cách khác, thường là qua các lớp đóng gói riêng. Có một đường thoát cho những thay đổi thật sự cần, nhưng nó là chủ ý và có nghi thức, không còn là sửa bừa rồi quên.

Quy tắc chọn

Máy chủ và máy làm việc — những nơi mà sự ổn định và khả năng quay lui đáng giá hơn tự do tuỳ biến — thì hệ điều hành bất biến rất hợp, và đang dần trở thành mặc định hợp lý. Máy để nghịch, để thử driver lạ, để vọc sâu vào ruột hệ thống thì đừng chọn nó: ở đó chính cái tự do ghi bừa mà nó cấm mới là thứ bạn cần. Như mọi lựa chọn kiến trúc, câu hỏi không phải "cái nào tốt hơn" mà "bạn đang tối ưu cho ổn định hay cho tự do".

Chia sẻ

Thảo luận