Cách khắc phục lỗi không tìm thấy lệnh systemctl trong Linux

Cach Khac Phuc Loi Khong Tim Thay Lenh Systemctl Trong Linux



Linux có một số lệnh khác nhau để thực hiện các nhiệm vụ khác nhau. Tuy nhiên, đôi khi người dùng gặp lỗi khi chạy lệnh. Một trong những lỗi phổ biến là 'không tìm thấy lệnh systemctl'. Lỗi này xảy ra khi hệ thống tìm thấy lệnh systemctl bị thiếu. Bài viết này trình bày chi tiết về lỗi systemctl command not found.

Lệnh systemctl là gì

systemctl là một tiện ích dòng lệnh trong Linux kiểm soát các dịch vụ của hệ thống. Đây là một công cụ thiết yếu cho phép quản trị viên hệ thống quản lý các dịch vụ và tài nguyên của hệ thống. Lệnh systemctl cho phép người dùng bắt đầu, kết thúc, bật, tắt và khởi động lại các dịch vụ trên hệ thống Linux.







Điều gì gây ra lỗi 'Không tìm thấy lệnh systemctl'

Lỗi “Không tìm thấy lệnh systemctl” xảy ra khi hệ thống tìm thấy systemctl bị thiếu. Lý do chính gây ra lỗi systemctl là do sử dụng phiên bản Linux cũ. Các phiên bản Linux cũ chỉ hỗ trợ sysvinit thay vì tiện ích systemd.



Vì tiện ích systemd bị thiếu trong một số phiên bản Linux cũ hơn. systemctl tương thích với tiện ích này. Nhưng nếu bạn sử dụng systemctl với các cấu hình Linux cũ hơn, chẳng hạn như sysvinit hoặc Upstart lệnh lỗi không tìm thấy sẽ xảy ra.



Dưới đây là danh sách các lý do có thể xảy ra do nó xảy ra:





  • Gói systemctl chưa được cài đặt
  • Biến môi trường PATH không được đặt chính xác
  • Lệnh systemctl không thể thực thi được
  • Hệ thống không chạy hệ thống init dựa trên systemd

Cách khắc phục lỗi “Không tìm thấy lệnh systemctl”

Nếu bạn đang sử dụng phiên bản Linux không sử dụng systemd làm tiện ích quản lý trung tâm, thì đây là một số cách khắc phục nhanh lỗi này.

1: Cài đặt gói systemctl

Nếu gói systemctl chưa được cài đặt trên hệ thống, bước đầu tiên là cài đặt nó. Bạn có thể cài đặt gói systemctl bằng trình quản lý gói Linux.



Cài đặt gói systemd có thể giải quyết được sự cố, nhưng đó không phải là giải pháp đảm bảo. Trước hết cần kiểm tra xem hệ thống gói đã được cài đặt trên hệ thống của bạn.

Chạy lệnh sau để kiểm tra xem hệ thống gói được cài đặt hay không:

sudo đpkg -l | nắm chặt hệ thống

Nếu các gói đã được cài đặt, đầu ra sau đây sẽ xuất hiện cho biết systemd đã được cài đặt:

Trong trường hợp nếu các gói chưa được cài đặt, chúng tôi có thể cài đặt nó bằng các bước bên dưới.

Ví dụ, để cài đặt nó trên Các hệ thống dựa trên Ubuntu và Debian , hãy chạy các lệnh đã cho để cài đặt gói systemctl.

Các gói cập nhật đầu tiên:

sudo cập nhật apt

Chạy lệnh bên dưới để cài đặt systemd:

sudo đúng cách cài đặt hệ thống

TRÊN Các hệ thống dựa trên Red Hat sử dụng lệnh:

sudo cài đặt yum hệ thống

Nếu bạn vẫn gặp lỗi mặc dù đã cài đặt systemd, bạn có thể xem xét việc cài đặt lại nó bằng lệnh sau.

sudo đúng cách cài đặt --cài đặt lại hệ thống

Bằng cách cài đặt tiện ích systemd, điều này sẽ giải quyết vấn đề.

2: Kiểm tra biến môi trường PATH

Nếu biến môi trường PATH không được đặt chính xác, hệ thống có thể không tìm thấy lệnh systemctl. Bạn có thể kiểm tra biến môi trường PATH bằng cách chạy lệnh sau:

tiếng vang $PATH

Đầu ra phải chứa đường dẫn đến thư mục chứa lệnh systemctl. Nếu không có, bạn có thể thêm thư mục vào biến môi trường PATH bằng lệnh sau:

xuất khẩu CON ĐƯỜNG = $PATH : / sử dụng / thùng rác / hệ thống

3: Làm cho lệnh systemctl có thể thực thi được

Nếu lệnh systemctl không thể thực thi được, hãy làm cho nó có thể thực thi được bằng chmod. Sử dụng lệnh bên dưới để thực thi lệnh systemctl:

sudo chmod +x / sử dụng / thùng rác / hệ thống

4: Kiểm tra hệ thống init

Một trong những lý do chính tại sao hệ thống lệnh không hoạt động là nếu hệ thống của bạn không chạy hệ thống init dựa trên systemd, bạn có thể gặp phải “ Lệnh systemctl Không tìm thấy ' lỗi. Để kiểm tra xem hệ thống của bạn có đang chạy một hệ thống init dựa trên systemd , bạn có thể chạy lệnh sau:

ps -P 1 liên lạc =

Nếu đầu ra là “ hệ thống “, hệ thống của bạn đang chạy hệ thống init dựa trên systemd. Nếu đầu ra không phải là “systemd”, bạn có thể cần chuyển sang hệ thống init dựa trên systemd để sử dụng lệnh systemctl.

5: Thay thế systemctl bằng lệnh dịch vụ

Một giải pháp dễ dàng để khắc phục “ sudo: systemctl: không tìm thấy lệnh ” lỗi là sử dụng lệnh dịch vụ thay cho hệ thống . Lệnh dịch vụ có thể được sử dụng để chạy Tập lệnh khởi tạo hệ thống V, được hỗ trợ bởi các phiên bản Linux cũ hơn.

Trong trường hợp bạn không muốn cài đặt hệ thống tiện ích, thì bản sửa lỗi này là một giải pháp đơn giản và hiệu quả. Bằng cách sử dụng lệnh dịch vụ, bạn có thể quản lý các dịch vụ hệ thống một cách dễ dàng mà không cần sử dụng lệnh systemctl.

Lưu ý rằng lệnh dịch vụ có thể không có sẵn cho tất cả các dịch vụ và một số dịch vụ có thể yêu cầu sử dụng systemctl.

Cú pháp sau sẽ được theo sau bởi lệnh dịch vụ:

sudo dịch vụ [ Tên dịch vụ ] [ hoạt động ]

Bạn cũng có thể sử dụng các lệnh khác với lệnh dịch vụ, chẳng hạn như dừng, khởi động lại, trạng thái và tải lại, tùy thuộc vào những gì bạn muốn thực hiện với dịch vụ.

Ví dụ: để chạy cùng một lệnh với dịch vụ ufw, hãy sử dụng:

sudo dịch vụ ufw bắt đầu

Để xác định và liệt kê tên các dịch vụ để quản lý sử dụng:

đơn vị danh sách systemctl

Thao tác này sẽ hiển thị danh sách tất cả các dịch vụ hiện đang chạy trên hệ thống của bạn:

Phần kết luận

Các ' Không tìm thấy lệnh systemctl ” lỗi là một lỗi phổ biến trong Linux. Nó có thể được gây ra bởi một số lý do, bao gồm cả hệ thống gói không được cài đặt, biến môi trường PATH không được đặt chính xác, hệ thống lệnh không thể thực thi được và hệ thống không chạy hệ thống init dựa trên systemd. Việc sử dụng lệnh dịch vụ thay cho lệnh hệ thống lệnh chúng tôi có thể dễ dàng sửa lỗi này cho các bản phân phối Linux cũ hơn.