Jawaban singkat:
bad
: Ini menunjukkan Systemd Unit files
status pemberdayaan
- Anda akan melihat pesan semacam ini pada sistem yang digunakan
systemd
Anda dapat memeriksa status pemberdayaan menggunakan perintah:
sudo systemctl is-enabled <unit-name>
jika file unit layanan systemd asli maka akan memberikan output enabled
, disabled
, dll Jika itu bukan layanan systemd asli maka akan memberikan melaporkan pesan seperti.
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
tetapi dengan perintah:
systemctl status apache2
or
service apache2 status
itu memberi status bad
. (mungkin itu karena tidak dapat mencetak pesan lengkap atau pengembang memutuskan untuk mencetak bad
)
Jawaban panjang:
apa file unit sistem?
Unit adalah objek yang bisa dikelola oleh systemd. Ini pada dasarnya adalah representasi standar dari sumber daya sistem yang dapat dikelola oleh rangkaian daemon dan dimanipulasi oleh utilitas yang disediakan. Ini dapat digunakan untuk layanan abstrak, sumber daya jaringan, perangkat, mount sistem file, dan kumpulan sumber daya yang terisolasi. Anda dapat membaca secara detail tentang unit systemd di sini dan di sini
contoh:
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 akan memeriksa apakah apache2
unit asli atau tidak. Jika tidak, maka ia akan meminta systemd-sysv-generator
untuk menghasilkan file dalam format unit yang menyediakan dukungan yang mirip dengan unit asli. Dalam contoh di atas, file yang dihasilkan disimpan di
/lib/systemd/system/apache2.service.d/apache2-systemd.conf
Drop-In: /lib/systemd/system/apache2.service.d
`-apache2-systemd.conf
Catatan: Anda dapat menemukan generator di /lib/systemd/system-generators/systemd-sysv-generator
dan Anda dapat membaca lebih lanjut tentang itu
man systemd-sysv-generator
Poin utama :
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. | |
+------------------+-------------------------+-----------+
jika kita menjalankan perintah:
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
Anda dapat melihat apakah unit adalah asli dari systemd like ssh
dan docker
, pada output di atas hanya akan ditampilkan enabled
, dan untuk unit yang bukan asli seperti apache2
tetapi masih diaktifkan memberikan pesan dengan itu daripada mencetak di bad
sini karena kondisi ini:
+------------------+-------------------------+-----------+
|"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. | |
+------------------+-------------------------+-----------+
Larutan:
status bad
tidak akan membuat masalah (saya tidak yakin itu tergantung) tetapi tidak akan menyediakan semua fungsionalitas systemctl
. Anda bisa menunggu rilis selanjutnya package
yang akan mendukungnya systemd
. atau Anda dapat menulis file unit untuk layanan Anda atau sumber daya lainnya menggunakan referensi yang diberikan.
Anda dapat membaca secara detail tentang systemd, systemctl dan unit menggunakan referensi di bawah ini:
Systemctl
Unit Systemd dan Di Sini
Systemd