Nếu là người dùng hoặc quản trị viên Linux, bạn cần biết cách quản lý các dịch vụ trên hệ thống của mình. Dịch vụ là các chương trình chạy ở chế độ nền và cung cấp chức năng thiết yếu, chẳng hạn như kết nối mạng, in, ghi nhật ký, v.v.
Nhưng làm cách nào để liệt kê, bắt đầu, dừng, bật, tắt hoặc khởi động lại các dịch vụ trên Linux? Câu trả lời là lệnh systemctl. Lệnh này là một phần của systemd, một trình quản lý dịch vụ và hệ thống hiện đại dành cho các bản phân phối Linux như Ubuntu và Debian.
Nếu bạn là Người mới bắt đầu Linux và muốn quản lý các dịch vụ này bằng systemctel, hãy làm theo các bước bên dưới.
Liệt kê tất cả các dịch vụ bằng systemctl
Để liệt kê tất cả các dịch vụ trên hệ thống Linux của bạn, hãy chạy lệnh này trong terminal:
sudo systemctl list-units –type dịch vụ
Điều này sẽ hiển thị cho bạn một bảng có năm cột: UNIT, LOAD, ACTIVE, SUBvà MÔ TẢ.
Cột UNIThiển thị tên của tệp đơn vị dịch vụ, đây là tệp định nghĩa và cấu hình của dịch vụ. Tệp này chứa thông tin về chức năng của dịch vụ và cách quản lý nó. Bạn cũng có thể xem phần mô tả nhanh về dịch vụ trong cột MÔ TẢ.
Cột LOADcho biết tệp đơn vị dịch vụ có được tải vào bộ nhớ hay không. Cột HOẠT ĐỘNGhiển thị liệu đó có phải là dịch vụ đang chạy hay không. Cuối cùng, cột SUBhiển thị trạng thái phụ của dịch vụ, chẳng hạn như đang chạy, đã thoát hoặc không thành công.
Bạn cũng có thể sử dụng tùy chọn-ahoặc –allthay vì dịch vụ–typeđể liệt kê tất cả các loại đơn vị, không chỉ các dịch vụ .
Liệt kê các dịch vụ đang hoạt động với systemctl
Nếu bạn chỉ muốn xem các dịch vụ hiện đang hoạt động (đang chạy) trên hệ thống của mình, hãy chạy lệnh này trong thiết bị đầu cuối Linux:
sudo systemctl list-units –loại dịch vụ –trạng thái hoạt động
Điều này sẽ lọc ra các dịch vụ không hoạt động (đã dừng) hoặc không thành công.
Liệt kê các dịch vụ không hoạt động với systemctl
Tương tự, nếu bạn chỉ muốn xem các dịch vụ hiện không hoạt động (đã dừng) trên hệ thống của mình, hãy chạy lệnh này trong terminal:.
sudo systemctl list-units –loại dịch vụ –trạng thái không hoạt động
Điều này sẽ lọc ra các dịch vụ đang hoạt động (đang chạy) hoặc bị lỗi.
Liệt kê các dịch vụ bị lỗi bằng systemctl
Nếu bạn muốn xem các dịch vụ không khởi động hoặc dừng trên hệ thống của mình, hãy mở terminal và chạy lệnh này:
sudo systemctl list-units –type service –state failed
Điều này sẽ lọc ra mọi dịch vụ hiện đang hoạt động (đang chạy) hoặc không hoạt động (đã dừng).
Liệt kê các dịch vụ đã bật với systemctl
Để xem dịch vụ nào được bật để tự động khởi động khi khởi động trên hệ thống của bạn, hãy chạy lệnh này trong thiết bị đầu cuối:
sudo systemctl list-unit-files –loại dịch vụ –bật trạng thái
Điều này sẽ hiển thị cho bạn một bảng có hai cột: UNIT FILEvà STATE. Cột FILE ĐƠN VỊ hiển thị tên của tệp đơn vị dịch vụ. Cột STATE hiển thị dịch vụ có được bật hay không.
Liệt kê các dịch vụ bị vô hiệu hóa bằng systemctl
Để xem dịch vụ nào bị tắt và không tự động khởi động khi khởi động trên hệ thống của bạn, hãy mở thiết bị đầu cuối Linux và chạy lệnh này:
sudo systemctl list-unit-files –loại dịch vụ –trạng thái bị vô hiệu hóa
Điều này sẽ lọc ra các dịch vụ được bật hoặc ẩn.
Hiển thị chi tiết dịch vụ với systemctl
Để hiển thị thêm chi tiết về một dịch vụ cụ thể trên hệ thống của bạn, hãy chạy lệnh này trong thiết bị đầu cuối:
trạng thái sudo systemctl
Thay thế
Điều này sẽ hiển thị cho bạn những thông tin như mô tả, trạng thái tải, trạng thái hoạt động, trạng thái phụ, ID tiến trình (PID), mức sử dụng bộ nhớ, mức sử dụng CPU và nhật ký dịch vụ gần đây.
Bạn cũng có thể sử dụng lệnh hiển thị thay vì trạng thái để hiển thị tất cả thuộc tính dịch vụ ở định dạng name=value.
Bắt đầu dịch vụ với systemctl
Để khởi động một dịch vụ đã bị dừng trên hệ thống của bạn, hãy chạy lệnh này trong thiết bị đầu cuối Linux của bạn:
sudo systemctl bắt đầu
Thay thế
Thao tác này sẽ khởi động dịch vụ ở chế độ nền và quay lại lời nhắc. Bạn có thể sử dụng lệnh phụ trạng thái để xác minh rằng dịch vụ đang chạy.
Dừng dịch vụ với systemctl
Để dừng dịch vụ đang chạy trên hệ thống của bạn, hãy chạy lệnh này trong thiết bị đầu cuối:
sudo systemctl dừng
Thay thế
Thao tác này sẽ dừng dịch vụ ở chế độ nền và quay lại lời nhắc. Bạn có thể sử dụng lệnh phụ trạng thái để xác minh rằng dịch vụ đã bị dừng.
Khởi động lại dịch vụ bằng systemctl
Bạn muốn chỉnh sửa và tải lại tệp cấu hình của dịch vụ cũng như áp dụng các thay đổi? Nếu làm vậy, bạn sẽ cần phải khởi động lại dịch vụ sau đó.
Để khởi động lại dịch vụ đang chạy trên hệ thống của bạn, hãy mở thiết bị đầu cuối và chạy lệnh này:
sudo systemctl khởi động lại
Thay thế
Thao tác này sẽ dừng và khởi động dịch vụ ở chế độ nền và quay lại lời nhắc. Bạn có thể sử dụng lệnh phụ trạng thái để xác minh rằng dịch vụ đang chạy.
Tải lại dịch vụ bằng systemctl
Một số dịch vụ hỗ trợ tải lại cấu hình mà không cần dừng và khởi động. Tải lại dịch vụ cho phép bạn thực hiện những thay đổi nhỏ đối với tệp cấu hình của dịch vụ đó mà không cần khởi động lại chúng. Việc này nhanh hơn và ít gây gián đoạn hơn so với việc khởi động lại.
Để tải lại dịch vụ hỗ trợ tính năng này, hãy sử dụng lệnhsystemctlsau trong terminal:
sudo systemctl tải lại
Thay thế
Thao tác này sẽ tải lại dịch vụ ở chế độ nền và quay lại lời nhắc. Bạn có thể sử dụng lệnh phụ trạng thái để xác minh rằng dịch vụ đang chạy.
Kích hoạt dịch vụ với systemctl
Để cho phép một dịch vụ tự động khởi động khi khởi động trên hệ thống của bạn, hãy chạy lệnh này trong thiết bị đầu cuối:
sudo systemctl kích hoạt
Thay thế
Điều này sẽ tạo một liên kết tượng trưng từ tệp đơn vị dịch vụ đến một vị trí trong /etc/systemd/system, thông báo cho systemd khởi động nó khi khởi động.
Bạn cũng có thể sử dụng tùy chọn –nowđể bật và khởi động dịch vụ cùng một lúc. Ví dụ:
sudo systemctl kích hoạt –bây giờ
Tắt dịch vụ bằng systemctl
Để tắt tính năng tự động khởi động của một dịch vụ khi khởi động trên hệ thống của bạn, hãy chạy lệnh này trong thiết bị đầu cuối Linux:
sudo systemctl vô hiệu hóa
Thay thế
Thao tác này sẽ xóa liên kết tượng trưng khỏi /etc/systemd/system, liên kết này sẽ yêu cầu systemd không khởi động nó khi khởi động.
Bạn cũng có thể sử dụng tùy chọn –nowđể tắt và dừng dịch vụ cùng lúc:
sudo systemctl vô hiệu hóa –now
Liệt kê các dịch vụ được che giấu bằng systemctl
Ẩn một dịch vụ có nghĩa là liên kết tệp đơn vị của nó với /dev/null, điều này ngăn không cho nó bị systemd tải hoặc thao tác. Điều này bổ sung thêm một lớp bảo vệ.
Để xem dịch vụ nào bị ẩn và không thể khởi động hoặc dừng theo cách thủ công hoặc tự động trên hệ thống của bạn, hãy chạy lệnh này trong thiết bị đầu cuối của PC Linux:
sudo systemctl list-unit-files –loại dịch vụ –ẩn trạng thái
Danh sách các dịch vụ bị ẩn sẽ xuất hiện trong một danh sách (với maskedđược liệt kê trong cột STATE)
Tạo mặt nạ dịch vụ bằng systemctl
Chạy lệnh này trong thiết bị đầu cuối để che giấu một dịch vụ đang được khởi động, dừng theo cách thủ công hoặc tự động trên hệ thống của bạn,:
Mặt nạ sudo systemctl
Thay thế
Điều này sẽ tạo liên kết tượng trưng từ tệp đơn vị dịch vụ đến /dev/nullđể ngăn nó bị systemd tải hoặc thao tác..
Vạch mặt một dịch vụ bằng systemctl
Bạn có thể phát hiện một dịch vụ đã bị ẩn trước đó. Thao tác này sẽ xóa liên kết tượng trưng tới /dev/null và cho phép liên kết đó được sử dụng và tải ở nơi khác.
Để vạch mặt một dịch vụ đã bị ẩn trước đây trên hệ thống của bạn, hãy chạy lệnh này:
sudo systemctl vạch mặt
Thay thế
Điều khiển PC Linux của bạn
Nếu PC Linux của bạn đang sử dụng systemd để quản lý các dịch vụ hệ thống, bạn có thể sử dụng lệnh systemctlđể quản lý chúng. Bạn có thể bắt đầu, dừng, tải lại, vô hiệu hóa và kiểm soát các dịch vụ của mình, mang lại cho bạn quyền kiểm soát tốt hơn đối với PC Linux của mình.
Một cách khác để bạn có thể quản lý PC của mình là giới hạn quyền truy cập vào một số tệp nhất định. Bạn có thể sử dụng lệnh chmod trên PC Linux của mình để cho phép (hoặc không cho phép) truy cập.
Bạn không chắc bản phân phối Linux của mình có phù hợp hay không? Thay vào đó, bạn nên thử một bản phân phối Linux hàng đầu khác hoặc thậm chí thử bản phân phối Linux di động. Sử dụng bản phân phối di động sẽ cho phép bạn chuyển đổi giữa chúng một cách dễ dàng.
.