Sau hơn một thập kỷ kể từ khi ra mắt, systemd vẫn là chủ đề gây tranh cãi gay gắt giữa một bộ phận người dùng Linux. Tuy nhiên, cá nhân tôi không nằm trong số đó. Mặc dù tôi thường thử nghiệm các bản phân phối Linux không dùng systemd, nhưng tôi vẫn thường xuyên sử dụng các hệ điều hành dựa trên systemd. Dưới đây là những lý do cụ thể giải thích cho lựa chọn của tôi.
SysVInit Đã Lỗi Thời và Cần Thay Thế
Giao diện dòng lệnh hiển thị trạng thái của systemd trên Arch Linux
Khi systemd xuất hiện lần đầu vào đầu những năm 2010, nhiều người dùng Linux đã băn khoăn về sự cần thiết của một cuộc đại tu hệ thống khởi tạo (init system) mà Linux đã sử dụng bấy lâu nay. Hệ thống cũ, System V Init hay SysVInit, có nguồn gốc từ những năm 1980. Thời điểm đó, các hệ thống Unix được sử dụng theo một cách khác biệt so với các máy móc hiện đại. Unix chủ yếu chạy trên các máy tính mini lớn và các máy trạm mạnh mẽ.
SysVInit khởi chạy các dịch vụ một cách tuần tự, điều này có thể làm tăng đáng kể thời gian khởi động. Máy tính xách tay cực kỳ hiếm hoi trong kỷ nguyên đó, USB chưa tồn tại, và các thiết bị ngoại vi thường chỉ được thêm hoặc gỡ bỏ giữa các lần khởi động. Cấu hình hệ thống thường không thay đổi trong suốt quá trình hoạt động. Một khi hệ thống đã khởi động, nó thường chạy ổn định trong một thời gian dài, nên thời gian khởi động không phải là một vấn đề lớn. Thay đổi phần cứng trên các hệ thống dùng chung cũng hiếm khi xảy ra và thường là trải nghiệm “một lần và xong”.
Theo truyền thống, nếu bạn thêm một phần cứng mới, ngay cả một ổ đĩa ngoài, bạn sẽ phải tắt và khởi động lại hệ thống. SysVInit cũng khá phức tạp, với các script shell tương ứng với “runlevel” (cấp độ chạy). Cách tiếp cận này trở nên không còn phù hợp khi Linux ngày càng phổ biến. Với các máy tính hiện đại, bạn có thể cắm ổ USB bất cứ lúc nào hoặc chuyển đổi giữa mạng Wi-Fi và mạng dây trên laptop. systemd có khả năng phản ứng tức thì với các thiết bị “hotplugged” (cắm nóng) như vậy, mang lại trải nghiệm mượt mà và linh hoạt hơn. Đó là một minh chứng cho sức mạnh của ý tưởng hệ điều hành giống Unix, rằng các thành phần chính có thể được thay thế khi cần thiết.
systemd Đã Trở Thành Tiêu Chuẩn Phổ Biến
Khi systemd mới nổi lên, đã có rất nhiều tranh luận và cạnh tranh về việc hệ thống nào sẽ thay thế nó. Cuộc tranh luận gay gắt đến mức một số nhà phát triển bản phân phối Linux đã phải từ chức vì áp lực từ những luồng chỉ trích không ngừng nghỉ của người dùng Linux.
Dù muốn hay không, việc sử dụng một bản phân phối Linux phổ biến ngày nay đồng nghĩa với việc bạn đang dùng systemd. Các tài liệu hướng dẫn sẽ đề cập đến nó, và nếu bạn tìm kiếm hỗ trợ khi gặp vấn đề, khả năng cao bạn sẽ được yêu cầu sử dụng tiện ích systemctl
.
Bởi vì systemd đã trở thành một phần không thể thiếu trong cách các bản phân phối Linux hiện đại hoạt động, hầu hết các bản phân phối lớn đều không có khả năng thay thế nó trừ khi có một lý do thực sự thuyết phục. Điều này không phải là một kịch bản quá xa vời. Nếu bạn đã sử dụng Linux vào những năm 2000, bạn có thể đã nghĩ rằng hệ thống SysVInit sẽ tồn tại mãi mãi. Nếu bạn không thích nó, bạn có thể chuyển sang một trong các hệ điều hành BSD.
Có thể một ai đó sẽ tạo ra một hệ thống khởi tạo khác, một hệ thống mà các nhà phát triển Linux tin rằng tốt hơn. Tôi tin rằng bất cứ điều gì các nhà phát triển BSD tạo ra để thay thế hệ thống khởi tạo cũ của họ cũng sẽ có ảnh hưởng. Tôi hình dung nó sẽ giống như launchd
của macOS, một hệ thống cũng đã ảnh hưởng đến systemd. Đối với nhiều nhà phát triển bản phân phối Linux, systemd dường như là một lựa chọn “đủ tốt”. Trong nhiều lĩnh vực kỹ thuật, bao gồm cả kỹ thuật phần mềm, bạn phải thực hiện các đánh đổi khi thiết kế mọi thứ cho thế giới thực, thay vì cố gắng xây dựng giải pháp tuyệt đối tốt nhất.
Trải Nghiệm Cá Nhân Với systemd: Đơn Giản và Hiệu Quả
Giao diện dòng lệnh hiển thị danh sách các đơn vị systemd đang hoạt động
Một lý do khiến tôi có xu hướng gắn bó với các bản phân phối dựa trên systemd là vì tôi chưa bao giờ gặp vấn đề gì với nó. Phản ứng “nó hoạt động tốt với tôi” có thể gây khó chịu khi nói về các vấn đề của Linux, nhưng đối với cách sử dụng của riêng tôi, tôi hoàn toàn không có phàn nàn gì.
Tôi thích systemd hơn phương pháp cũ. Tôi chưa bao giờ thực sự thoải mái với SysVInit, với việc phải quản lý các script shell và runlevel. Tôi đã từng rụt rè mỗi khi xem tài liệu hướng dẫn về cách bật hoặc tắt dịch vụ, mặc dù đó là điều tôi hiếm khi làm trên các hệ thống máy tính để bàn, vì hầu hết chúng đều đã được thiết lập sẵn những gì cần thiết để chạy ngay lập tức.
Khi tôi cần bật, tắt, khởi động hoặc dừng dịch vụ, tôi chỉ cần chạy một lệnh systemctl
nhanh chóng. Đó là tất cả những gì cần thiết. Với tư cách là một người dùng chỉ thỉnh thoảng khởi động và dừng dịch vụ, bất chấp sự “phình to” được cho là của systemd, tôi thấy lệnh systemctl
rất dễ hiểu. Gần đây tôi đã cài đặt Arch trong một máy ảo. Tôi đã phải bật một số dịch vụ, vì Arch là một bản phân phối yêu cầu can thiệp thủ công nhiều hơn các bản Linux khác. Tất cả chỉ cần vài lệnh systemctl
đơn giản.
Ngay Cả Arch Linux Cũng Đã Chuyển Sang systemd: Một Lập Luận Đáng Tin Cậy
Bài viết về systemd trên Arch Wiki
Một yếu tố cuối cùng đã khiến tôi hoàn toàn ủng hộ systemd là việc Arch Linux đã chuyển sang sử dụng nó. Arch vốn đã nổi tiếng là một bản phân phối dành cho những người dùng Linux sành sỏi, cho phép họ kiểm soát nhiều hơn cách cấu hình hệ thống của mình. Bạn có thể chọn công cụ phân vùng và bộ tải khởi động, cũng như môi trường desktop, hoặc thậm chí không cài đặt môi trường desktop nào cả.
Khi tôi tìm thấy một bài đăng cũ trên diễn đàn từ năm 2012 của một trong những nhà phát triển Arch, được liên kết từ Arch Wiki, tôi đã nghiên cứu kỹ trường hợp mà nhà phát triển đó trình bày. Nhà phát triển đã trích dẫn khả năng biết mọi thứ đang diễn ra với hệ thống, khả năng phát hiện các thiết bị hotplug, tính mô-đun, các tính năng bảo mật và sandboxing của systemd, cũng như sự phát triển đa nền tảng của dự án systemd.
Theo Arch Wiki, một trong những nguyên tắc định hướng của bản phân phối này là “tính thực dụng”:
“Arch là một bản phân phối thực dụng chứ không phải mang tính ý thức hệ. Các nguyên tắc ở đây chỉ là những hướng dẫn hữu ích. Cuối cùng, các quyết định thiết kế được đưa ra dựa trên từng trường hợp cụ thể thông qua sự đồng thuận của nhà phát triển. Phân tích kỹ thuật dựa trên bằng chứng và tranh luận là những gì quan trọng, chứ không phải chính trị hay ý kiến đám đông.”
Arch Linux luôn gây ấn tượng với tôi như một bản phân phối Linux “kiểu Unix” với sự tập trung vào cấu hình dựa trên văn bản và mức độ kiểm soát mà nó mang lại cho người dùng. Nếu các nhà phát triển Arch có thể thấy những ưu điểm của systemd bất chấp sự “phình to” được cho là của nó, tôi nghĩ systemd đáng để xem xét nghiêm túc. Mọi lo lắng còn sót lại đối với systemd đều tan biến. Điều này có vẻ giống như một lập luận dựa trên uy tín, nhưng đội ngũ phát triển Arch đã giành được sự tin tưởng của tôi thông qua kết quả công việc của họ.
Quản Lý Tiến Trình Chỉ Là Một Phần Nhỏ Trong Sử Dụng Linux Hàng Ngày
Hệ thống khởi tạo có thể là một phần quan trọng của Linux, nhưng đối với tôi, nó chủ yếu hoạt động ở hậu trường. Tôi hiếm khi tương tác trực tiếp với nó bên ngoài lệnh systemctl
. Mặc dù việc khởi chạy và đóng các chương trình trong suốt cả ngày có thể được coi là quản lý tiến trình, nhưng hầu hết thời gian, tôi nghĩ tôi có thể đếm trên một bàn tay số lần tôi đã tương tác trực tiếp với systemd để quản lý tiến trình thông qua systemctl
. Trên một bản phân phối máy tính để bàn, có lẽ chỉ một hoặc hai lần.
Giao diện dòng lệnh hiển thị nhật ký hệ thống bằng journalctl
Tôi thỉnh thoảng kiểm tra nhật ký, như bất kỳ người dùng nào cũng nên làm. Nhật ký nhị phân của systemd cũng gây tranh cãi, nhưng lệnh journalctl
rất dễ sử dụng. Nhiều nhật ký trên Ubuntu dường như được sao chép vào thư mục /var/log
, vì vậy tôi có thể kiểm tra chúng bằng một trình soạn thảo văn bản thông thường.
Các Distro “systemd-free” Không Quá Ấn Tượng Đối Với Tôi
Việc systemd hoạt động ở chế độ nền là một lý do khiến các bản phân phối tự quảng bá là “systemd-free” không gây ấn tượng mạnh với tôi. Gần đây tôi đã khám phá một vài bản, chẳng hạn như EXE GNU/Linux và Obarun. Các nhà phát triển bản phân phối có quyền tự do đưa vào hoặc không đưa vào bản phân phối của họ bất cứ điều gì họ muốn.
Khi tôi đánh giá các bản phân phối cho tinhoccongnghe.net, tôi cố gắng đặt mình vào vị trí của một người dùng thông thường, không phải một hacker Linux có ý kiến mạnh mẽ ủng hộ hay phản đối systemd. Trải nghiệm người dùng quan trọng hơn những gì đang diễn ra bên dưới. Một bản phân phối sẽ thành công hay thất bại dựa trên tất cả những gì nó mang lại. Một số bản phân phối mang đến trải nghiệm độc đáo, chẳng hạn như thiết kế cổ điển của EXE GNU/Linux.
Thay Đổi Là Điều Tất Yếu và Tích Cực
Mặc dù hệ thống init System V nguyên bản đã hoạt động tốt trong nhiều năm, nhưng những thay đổi trong thế giới máy tính cuối cùng đã khiến nó lỗi thời trong một thế giới ngày càng di động và trực tuyến.
Có thể có một số lo ngại về kích thước của systemd hoặc sự thống trị được cho là của quá trình phát triển Linux bởi Red Hat và công ty mẹ của nó, IBM.
Thế giới thay đổi, phần cứng máy tính thay đổi, và phần mềm hệ điều hành cũng thay đổi theo. Các hệ điều hành phải phục vụ người dùng và chạy các chương trình của họ. Chúng phải phát triển cùng với những gì người dùng làm với chúng. Chúng không thể là những hiện vật bảo tàng.
Kết luận:
systemd, dù có những tranh cãi không ngừng, đã chứng tỏ là một bước tiến cần thiết và hợp lý cho hệ điều hành Linux hiện đại. Từ việc giải quyết những hạn chế của SysVInit cũ kỹ, trở thành một tiêu chuẩn đáng tin cậy trong các bản phân phối lớn, đến việc mang lại trải nghiệm người dùng đơn giản và hiệu quả thông qua các công cụ như systemctl
và journalctl
, systemd đã khẳng định vị thế của mình. Ngay cả những bản phân phối nổi tiếng về sự tinh tế và kiểm soát như Arch Linux cũng đã nhận ra giá trị thực dụng của nó. Đối với phần lớn người dùng, systemd hoạt động âm thầm ở hậu trường, đảm bảo một hệ thống ổn định và linh hoạt, thích nghi với sự thay đổi không ngừng của phần cứng và nhu cầu sử dụng.
Hãy chia sẻ suy nghĩ của bạn về systemd trong phần bình luận bên dưới, hoặc khám phá thêm các bài viết chuyên sâu khác về công nghệ tại tinhoccongnghe.net để cập nhật những xu hướng mới nhất!