Cách quản lý dịch vụ với Systemd
Một trong những kỹ năng quan trọng nhất mà bất kỳ người mới sử dụng Systemd nào cũng có thể học là cách quản lý các dịch vụ của máy tính của họ. Với mục đích của bài này, chúng tôi sẽ thảo luận về các vấn đề cơ bản: bắt đầu, dừng, kích hoạt và vô hiệu hóa các dịch vụ từ dòng lệnh Linux.
Những nhiệm vụ này không khó để làm chủ, nhưng chúng trở thành một nhu cầu không thể phủ nhận khi bạn buộc phải dừng chương trình ngoài tầm kiểm soát hoặc khi bạn muốn cài đặt một ứng dụng mới.
Systemd là gì?
Rất có thể máy tính Linux của bạn hiện đang chạy Systemd. Nhiều bản phân phối, bao gồm cả Arch Linux, Debian, Fedora, Red Hat và Ubuntu, tất cả đều sử dụng nó theo mặc định. Một số bản phân phối sẽ khó hoặc không thể chạy mà không cần cài đặt.
Systemd làm việc quan trọng nhất như là một sự thay thế mạnh mẽ cho dự án init cũ của SysV mà các bản phân phối UNIX đã sử dụng từ những năm 1980. Nhà phát triển chính Lennart Poettering cũng đã tuyên bố rằng Systemd vượt xa các nhiệm vụ init và cũng có thể hoạt động như một nền tảng phát triển và liên kết giữa các ứng dụng riêng lẻ và nhân Linux.
Điều này đã gây ra rất nhiều sự phẫn nộ trên nền tảng của Poettering nói chung, chủ yếu là vì bản chất nguyên khối của nó dường như hành động chống lại “con đường UNIX” của mã đơn giản, mô-đun.
Cho dù bên nào bạn chọn trong cuộc tranh luận về tính hợp pháp của Systemd, bạn vẫn có thể rơi vào cánh của nó trong giây lát này. Vì vậy, bạn sẽ cần phải biết cách sử dụng nó, và không có cách nào tốt hơn để bắt đầu hơn là cài đặt một chương trình mới.
Bắt đầu và dừng các đơn vị
Systemd khởi động, dừng, bật và tắt "đơn vị". Các đơn vị bao gồm các dịch vụ, điểm gắn kết, thiết bị và ổ cắm trên máy tính của bạn. Trong các hướng dẫn này, bạn sẽ làm việc với các dịch vụ (các tệp .service), các tệp đại diện cho các chương trình trên máy tính của bạn chờ để được truy cập cho một tác vụ cụ thể.
Một số bản phân phối Linux có quyền truy cập vào Hddtemp
, một tiện ích nhỏ kiểm tra nhiệt độ của ổ cứng. Hddtemp có một tệp .service và có thể chạy như một daemon, vì vậy bạn có thể khởi động nó theo cách thủ công và cho phép nó bắt đầu khi khởi động. Nó nhỏ và không xâm lấn; bạn có thể tải xuống, hãy thử nó cùng với Systemd và xóa nó sau này nếu bạn không muốn nó xung quanh.
Cài đặt nó trên Arch với:
sudo pacman -S hddtemp
và trên Ubuntu với:
sudo apt-get cài đặt hddtemp
Bây giờ bắt đầu tiện ích mới với Systemd:
sudo systemctl bắt đầu hddtemp.service
Sau đó bạn có thể khởi động lại, dừng lại và xem trạng thái của man-db với cùng lệnh kiểu - systemctl unit
. Lưu ý rằng “đơn vị” hoạt động như viết tắt của bất kỳ tệp “unit.service” nào mà bạn sẽ sử dụng.
Các sudo systemctl start hddtemp
, sudo systemctl stop hddtemp
, và sudo systemctl restart hddtemp
lệnh sudo systemctl restart hddtemp
sản xuất không có đầu ra theo mặc định khi chúng thành công.
Bạn có thể nhận thêm thông tin về dịch vụ với:
trạng thái sudo systemctl hddtemp
Trong trường hợp này lệnh sẽ tiết lộ tên của dịch vụ, trạng thái của dịch vụ (hoạt động hoặc không hoạt động) và bắt đầu / dừng được thực hiện trong vài phút qua. Nếu bất kỳ lệnh nào ở trên thất bại hoặc tạo ra lỗi, các sự cố đó sẽ hiển thị trong báo cáo trạng thái.
Kích hoạt và tắt các đơn vị
Khi bạn bắt đầu hoặc dừng một đơn vị, bạn đang hoàn thành một quy trình thủ công có khả năng sẽ chỉ kéo dài trong phiên hiện tại của bạn. Khi bạn khởi động lại, thiết bị bạn khởi động có thể không tự động chạy.
Để các đơn vị bắt đầu khởi động, hãy thử bật chúng bằng Hddtemp:
sudo systemctl cho phép hddtemp
Đầu ra ở đây cho thấy rằng Systemd đã tạo một liên kết tượng trưng để tự khởi động Hddtemp khi máy tính của bạn đi qua quá trình khởi động. Trong tương lai, vui lòng sử dụng phím tắt:
sudo systemctl enable --now unit
để kích hoạt và khởi động một đơn vị trong một lệnh.
Bây giờ bạn có thể vô hiệu hóa Hddtemp dễ dàng như sau:
sudo systemctl vô hiệu hóa hddtemp
Nếu bạn không chắc chắn về việc một đơn vị có được bật hay không, bạn có thể chạy đơn vị kích hoạt sudo systemctl is-enabled unit
để tìm hiểu.
Bây giờ bạn có thể loại bỏ Hddtemp khỏi máy tính của bạn nếu bạn không muốn nó xung quanh.
Phần kết luận
Các lệnh này là kết quả cuối cùng của máy phức tạp là Systemd. Yêu nó hay ghét nó, không thể phủ nhận rằng nếu bạn sử dụng Systemd, các lệnh này sẽ trở nên hữu ích cho việc quản lý các chương trình trên máy tính của bạn.
Kiểm tra phần "COMMANDS" của trang Manctl với man systemctl
. Bạn sẽ tìm thấy các lệnh này - bắt đầu, dừng, bật, tắt - cùng với nhiều lệnh khác dễ sử dụng nhưng sẽ đào sâu hơn các ví dụ cơ bản được hiển thị ở đây.