Rain Wiki · Linux

Các unit của systemd và systemctl

Unit của systemd là gì, các loại unit phổ biến, và cách khởi động, dừng, kích hoạt cũng như kiểm tra các dịch vụ bằng systemctl.

Linux · Rain Wiki

Unit của systemd là một đối tượng cấu hình mà systemd, hệ thống init của hầu hết các bản phân phối Linux, quản lý: các dịch vụ, socket, bộ hẹn giờ, điểm gắn kết và nhiều thứ khác. Các unit được mô tả bởi các tệp unit như /etc/systemd/system/<name>.service và được điều khiển bằng lệnh systemctl.

Các loại unit

.service chạy một chương trình, .socket khởi động một dịch vụ khi có kết nối đến, .timer chạy một unit theo lịch trình, .mount và .automount xử lý các hệ thống tệp, .target nhóm các unit thành các trạng thái như multi-user.target.

Nơi lưu trữ các tệp unit

Các gói cài đặt unit vào /usr/lib/systemd/system (hoặc /lib/systemd/system). Các thay đổi cục bộ thuộc về /etc/systemd/system, nơi có quyền ưu tiên cao hơn. 'systemctl edit <unit>' tạo ra một tệp ghi đè thay vì thay đổi tệp của gói cài đặt.

Các lệnh thường dùng

'systemctl status <unit>' hiển thị trạng thái và các dòng nhật ký gần nhất. 'start', 'stop' và 'restart' có tác dụng ngay lập tức; 'enable' và 'disable' kiểm soát việc khởi động cùng hệ thống; 'enable --now' thực hiện cả hai. 'systemctl --failed' liệt kê các unit bị lỗi, và 'systemctl daemon-reload' đọc lại các tệp unit sau khi có thay đổi.

Cách kiểm tra một dịch vụ bị lỗi

  1. Liệt kê các unit bị lỗi: systemctl --failed
  2. Hiển thị trạng thái và các thông báo gần đây: systemctl status <unit>
  3. Đọc toàn bộ nhật ký của lần khởi động này: journalctl -u <unit> -b
  4. Sau khi sửa cấu hình: sudo systemctl restart <unit>

Lưu ý

  • Thay đổi các unit của gói cài đặt bằng 'systemctl edit', không nên chỉnh sửa các tệp trong /usr/lib/systemd/system: các bản cập nhật sẽ ghi đè lên chúng.
  • Không nên vô hiệu hóa các unit mà bạn không biết rõ, chẳng hạn như systemd-journald hoặc dbus.

Nguồn

Cập nhật lần cuối: 2026-10-08

Bài liên quan