Cách quản lý dịch vụ Linux bằng 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ần học là cách quản lý các dịch vụ của máy tính. Bài viết này sẽ hướng dẫn các bạn các vấn đề cơ bản: khởi động, dừng, kích hoạt và vô hiệu hóa dịch vụ từ dòng lệnh Linux.

Systemd là gì?

Có một số máy tính Linux chạy Systemd như trong các bản phân phối Arch Linux, Debian, Fedora, Red Hat và Ubuntu đều sử dụng Systemd theo mặc định. Một số bản phân phối sẽ khó hoặc không thể chạy nếu không được cài đặt Systemd.

Systemd được thiết kế thay thế cho dự án init cũ của SysV, được sử dụng trong các bản phân phối UNIX từ những năm 1980. Nhà phát triển chính của Lennart Poettering cũng đã tuyên bố rằng Systemd có thể thực hiện được nhiều nhiệm vụ hơn init và 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ẻ, nhân Linux.

Systemd là gì

Cách khởi động và dừng các unit

Systemd khởi động, dừng, bật và tắt "unit". Các unit 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. 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 file .service), các file này thể hiện các chương trình trên máy tính đang chờ 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 file .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ó kích hoạt lúc khởi động. Tiện ích này nhỏ do vậy bạn có thể tải xuống và thử nó cùng với Systemd, có thể xóa nó sau này nếu muốn.

Cài đặt Hddtemp trên Arch với lệnh sau:

sudo pacman -S hddtemp

và trên Ubuntu với:

sudo apt-get install hddtemp

Bây giờ khởi động tiện ích mới với Systemd:

sudo systemctl start hddtemp.service

Sau đó bạn có thể khởi động lại, dừng và xem trạng thái của man-db với cùng lệnh kiểu đó systemctl <action> unit. Lưu ý rằng “unit” hoạt động như bất kỳ file “unit.service” nào mà bạn sẽ sử dụng.

Khởi động và dừng unit

Các lệnh sudo systemctl start hddtemp, sudo systemctl stop hddtemp, and sudo systemctl restart hddtemp không tạo đầu ra theo mặc định khi nó chạy thành công.

Bạn có thể nhận thêm thông tin về dịch vụ với lệnh sau:

sudo systemctl status hddtemp

Trong trường hợp này, lệnh này sẽ cung cấp 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à khởi động/dừng được thực hiện trong vài phút. Nếu bất kỳ lệnh nào ở trên không thành công 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 unit

Khi khởi động hoặc dừng một unit, 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. Khi khởi động lại, unit bạn khởi động có thể không tự động chạy.

Để các unit khởi động, hãy thử bật chúng bằng Hddtemp:

sudo systemctl enable hddtemp

Đầu ra sẽ cho thấy Systemd đã tạo một liên kết tượng trưng (symlink) để tự khởi động Hddtemp khi máy tính trong quá trình khởi động. Lần tiếp theo bạn có thể sử dụng shortcut:

sudo systemctl enable --now unit

để kích hoạt và khởi động một unit trong một lệnh.

Khởi động unit

Bây giờ bạn có thể vô hiệu hóa Hddtemp dễ dàng bằng lệnh sau:

sudo systemctl disable hddtemp

Nếu không chắc chắn liệu một unit có được bật hay không, bạn có thể chạy lệnh sudo systemctl is-enabled unit.

Bây giờ bạn có thể xóa bỏ Hddtemp khỏi máy tính nếu muốn.

Khi sử dụng Systemd, các lệnh trên sẽ trở nên hữu ích khi quản lý các chương trình trên máy tính. Kiểm tra mục “COMMANDS” của trang Systemctl man với lệnh man systemctl để thấy các lệnh khởi động, dừng, kích hoạt, vô hiệu hóa cùng với các lệnh khác phức tạp hơn ví dụ trên, nhưng bạn cũng đừng nên lo lắng vì các lệnh này rất dễ sử dụng.

Xem thêm:

Thứ Tư, 06/06/2018 06:39
51 👨 1.157
0 Bình luận
Sắp xếp theo
    ❖ Linux