tình trạng dịch vụ sudo bao gồm xấu;


32
$ sudo service cassandra status
● cassandra.service - LSB: distributed storage system for structured data
   Loaded: loaded (/etc/init.d/cassandra; bad; vendor preset: enabled)
   Active: active (running) since Wed 2016-10-12 15:54:40 IDT; 4min 4s ago

bad;phần trên dòng thứ 2 của đầu ra đứng cho? Tôi nhận được điều này cho nhiều dịch vụ, ví dụ như mysql, winbind, virtualbox, một số trong đó tôi đã sử dụng hoàn hảo (cassandra là một bản cài đặt mới).

Câu trả lời:


42

Câu trả lời ngắn:

  • bad: Nó hiển thị Systemd Unit filestrạng thái hỗ trợ
  • bạn sẽ thấy loại tin nhắn này trên các hệ thống sử dụng systemd
  • bạn có thể kiểm tra trạng thái hỗ trợ bằng lệnh:

    sudo systemctl is-enabled <unit-name>
    

    nếu đó là tập tin đơn vị là một dịch vụ systemd mẹ đẻ sau đó nó sẽ cho sản lượng enabled, disabledvv Nếu nó không phải là một dịch vụ systemd mẹ đẻ sau đó nó sẽ cung cấp cho báo cáo thư như thế nào.

    sudo systemctl is-enabled apache2
    apache2.service is not a native service, redirecting to systemd-sysv-install
    Executing /lib/systemd/systemd-sysv-install is-enabled apache2
    enabled
    

    nhưng với lệnh:

    systemctl status apache2
    or
    service apache2 status
    

    nó đưa ra trạng thái bad. (có thể là do không thể in một tin nhắn hoàn chỉnh hoặc nhà phát triển quyết định in bad)

Câu trả lời dài:

tập tin đơn vị hệ thống là gì?

Các đơn vị là các đối tượng mà systemd biết cách quản lý. Về cơ bản, đây là một đại diện được tiêu chuẩn hóa của tài nguyên hệ thống có thể được quản lý bởi bộ trình tiện ích và được thao tác bởi các tiện ích được cung cấp. Nó có thể được sử dụng để dịch vụ trừu tượng, tài nguyên mạng, thiết bị, gắn kết hệ thống tập tin và nhóm tài nguyên bị cô lập. Bạn có thể đọc chi tiết về các đơn vị systemd ở đâyđây

thí dụ:

systemctl status apache2
* apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           `-apache2-systemd.conf
   Active: active (running) since Wed 2016-10-12 14:29:42 UTC; 17s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1027 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)

systemctl sẽ kiểm tra xem có phải apache2là một đơn vị bản địa hay không. Nếu không, nó sẽ yêu cầu systemd-sysv-generatortạo một tệp ở định dạng đơn vị cung cấp hỗ trợ tương tự như các đơn vị bản địa. Trong ví dụ trên, tệp được tạo được giữ ở /lib/systemd/system/apache2.service.d/apache2-systemd.conf

Drop-In: /lib/systemd/system/apache2.service.d
               `-apache2-systemd.conf

Lưu ý: bạn có thể tìm thấy trình tạo tại /lib/systemd/system-generators/systemd-sysv-generatorvà bạn có thể đọc thêm về điều đó

man systemd-sysv-generator

Điểm chính :

is-enabled NAME...
       Checks whether any of the specified unit files are enabled (as with
       enable). Returns an exit code of 0 if at least one is enabled,
       non-zero otherwise. Prints the current enable status (see table).
       To suppress this output, use --quiet.

       Table 1.  is-enabled output
       +------------------+-------------------------+-----------+
       |Name              | Description             | Exit Code |
       +------------------+-------------------------+-----------+
       |"enabled"         | Enabled via             |           |
       +------------------+ .wants/, .requires/     |           |
       |"enabled-runtime" | or alias symlinks       |           |
       |                  | (permanently in         | 0         |
       |                  | /etc/systemd/system/,   |           |
       |                  | or transiently in       |           |
       |                  | /run/systemd/system/).  |           |
       +------------------+-------------------------+-----------+
       |"linked"          | Made available through  |           |
       +------------------+ one or more symlinks    |           |
       |"linked-runtime"  | to the unit file        |           |
       |                  | (permanently in         |           |
       |                  | /etc/systemd/system/    |           |
       |                  | or transiently in       | > 0       |
       |                  | /run/systemd/system/),  |           |
       |                  | even though the unit    |           |
       |                  | file might reside       |           |
       |                  | outside of the unit     |           |
       |                  | file search path.       |           |
       +------------------+-------------------------+-----------+
       |"masked"          | Completely disabled,    |           |
       +------------------+ so that any start       |           |
       |"masked-runtime"  | operation on it fails   |           |
       |                  | (permanently in         | > 0       |
       |                  | /etc/systemd/system/    |           |
       |                  | or transiently in       |           |
       |                  | /run/systemd/systemd/). |           |
       +------------------+-------------------------+-----------+
       |"static"          | The unit file is not    | 0         |
       |                  | enabled, and has no     |           |
       |                  | provisions for enabling |           |
       |                  | in the "[Install]"      |           |
       |                  | section.                |           |
       +------------------+-------------------------+-----------+
       |"indirect"        | The unit file itself is | 0         |
       |                  | not enabled, but it has |           |
       |                  | a non-empty Also=       |           |
       |                  | setting in the          |           |
       |                  | "[Install]" section,    |           |
       |                  | listing other unit      |           |
       |                  | files that might be     |           |
       |                  | enabled.                |           |
       +------------------+-------------------------+-----------+
       |"disabled"        | Unit file is not        | > 0       |
       |                  | enabled, but contains   |           |
       |                  | an "[Install]" section  |           |
       |                  | with installation       |           |
       |                  | instructions.           |           |
       +------------------+-------------------------+-----------+
       |"bad"             | Unit file is invalid or | > 0       |
       |                  | another error occurred. |           |
       |                  | Note that is-enabled    |           |
       |                  | will not actually       |           |
       |                  | return this state, but  |           |
       |                  | print an error message  |           |
       |                  | instead. However the    |           |
       |                  | unit file listing       |           |
       |                  | printed by              |           |
       |                  | list-unit-files might   |           |
       |                  | show it.                |           |
       +------------------+-------------------------+-----------+

nếu chúng ta chạy lệnh:

sudo systemctl is-enabled ssh
enabled

sudo systemctl is-enabled docker
enabled

sudo systemctl is-enabled apache2
apache2.service is not a native service, redirecting to systemd-sysv-install
Executing /lib/systemd/systemd-sysv-install is-enabled apache2
enabled

bạn có thể xem các đơn vị có nguồn gốc giống như systemd sshhay không docker, ở đầu ra trên, nó sẽ chỉ hiển thị enabledvà đối với các đơn vị không giống như bản địa apache2nhưng vẫn được bật, nó sẽ gửi thông báo với điều đó thay vì in badở đây vì điều kiện này:

       +------------------+-------------------------+-----------+
       |"bad"             | Unit file is invalid or | > 0       |
       |                  | another error occurred. |           |
       |                  | Note that is-enabled    |           |
       |                  | will not actually       |           |
       |                  | return this state, but  |           |
       |                  | print an error message  |           |
       |                  | instead. However the    |           |
       |                  | unit file listing       |           |
       |                  | printed by              |           |
       |                  | list-unit-files might   |           |
       |                  | show it.                |           |
       +------------------+-------------------------+-----------+

Dung dịch:

trạng thái badsẽ không tạo ra vấn đề (tôi không chắc nó phụ thuộc) nhưng nó sẽ không cung cấp tất cả chức năng của systemctl. bạn có thể đợi bản phát hành tiếp theo packagesẽ hỗ trợ systemd. hoặc bạn có thể viết tệp đơn vị cho dịch vụ của mình hoặc bất kỳ tài nguyên nào khác bằng các tham chiếu đã cho.

Bạn có thể đọc chi tiết về systemd, systemctl và các đơn vị bằng cách sử dụng bên dưới Tài liệu tham khảo:

  1. Hệ thống

  2. Đơn vị Systemd và tại đây

  3. Hệ thống


Thực sự cảm ơn cho sự cân nhắc đầy đủ và ân cần của chủ đề!
mờ

2
Câu trả lời này có vẻ thực sự đầy đủ nhưng hơi khó hiểu ... bạn dường như cung cấp nhiều thông tin mà không thực sự nêu rõ kết luận cô đọng mà người ta có thể (có thể) rút ra từ thông tin. Ví dụ, kết luận trực tiếp, ngắn gọn mà tôi suy ra (với một số công việc) từ câu trả lời ngắn gọn của bạn là khi một dịch vụ (đơn vị systemd) không có nguồn gốc, systemctl không thể có trạng thái hỗ trợ mà không chuyển hướng đến systemd-sysv-install. Lệnh trạng thái systemctl vì một số lý do không làm điều đó mà thay vào đó báo cáo "xấu", trong khi systemctl được kích hoạt sẽ thực hiện chuyển hướng để cung cấp cho bạn trạng thái.
EricS

1
Tôi nghĩ rằng một số điều làm tôi bối rối là một số từ ngữ, đặc biệt là trong các gạch đầu dòng mở đầu. Tôi đã gửi một số chỉnh sửa để cố gắng cải thiện.
EricS
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.