sudo servis durumu kötü içeriyor;


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;Çıktının 2. satırındaki kısım ne anlama geliyor ? Bunu, mysql, winbind, virtualbox gibi bazı hizmetler için alıyorum.

Yanıtlar:


42

Kısa cevap:

  • bad: Systemd Unit filesEtkinleştirme durumunu gösterir
  • Bu tür mesajları kullanan sistemlerde göreceksiniz. systemd
  • Komutu kullanarak etkinleştirme durumunu kontrol edebilirsiniz:

    sudo systemctl is-enabled <unit-name>
    

    Bu birim Dosya yerel systemd hizmeti ise o zaman çıktı verecektir enabled, disabledo zaman bunun gibi bir mesaj rapor verecek bir yerli systemd hizmet değilse, vb.

    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
    

    ancak komut ile:

    systemctl status apache2
    or
    service apache2 status
    

    statü verir bad. (belki de tam bir mesaj yazamaması veya geliştiricinin yazdırmaya karar vermesi olabilir bad)

Uzun cevap:

sistem birimi dosyaları nedir?

Birimler, sistemin yönetmeyi bildiği nesnelerdir. Bunlar temel olarak, servis odaları tarafından yönetilebilen ve sağlanan hizmet programları tarafından manipüle edilebilecek sistem kaynaklarının standart bir gösterimidir. Hizmetleri, ağ kaynaklarını, aygıtları, dosya sistemi bağlarını ve yalıtılmış kaynak havuzlarını soyutlamak için kullanılabilir. Burada ve burada sistem birimleri hakkında detaylı bilgi alabilirsiniz.

örnek:

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 apache2yerel bir birim olup olmadığını kontrol eder . Olmazsa, o zaman systemd-sysv-generatoryerel birimlere benzer bir destek sağlayan birim biçiminde bir dosya oluşturmak isteyecektir . Yukarıdaki örnekte, oluşturulan dosya adresinde tutulur. /lib/systemd/system/apache2.service.d/apache2-systemd.conf

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

Not: Jeneratörü adresinde bulabilir /lib/systemd/system-generators/systemd-sysv-generatorve bu konuda daha fazla bilgi edinebilirsiniz.

man systemd-sysv-generator

Ana nokta :

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.                |           |
       +------------------+-------------------------+-----------+

eğer komutu çalıştırırsak:

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

Birimlerin sistemli gibi yerel olup olmadığını sshve dockeryukarıdaki çıktıda yalnızca gösterildiğini enabledve yerel gibi olmayan apache2ancak yine de etkin olan birimler için badbu koşul nedeniyle burada yazdırmak yerine, bununla ilgili mesajlar verdiğini görebilirsiniz :

       +------------------+-------------------------+-----------+
       |"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.                |           |
       +------------------+-------------------------+-----------+

Çözüm:

durum badsorun yaratmayacak (bağlı olduğundan emin değilim), ancak tüm işlevlerini sağlamayacak systemctl. packagedoğal olarak destekleyeceği bir sonraki sürüm için bekleyebilirsiniz systemd. veya verilen referansları kullanarak servisiniz veya başka bir kaynak için birim dosyası yazabilirsiniz.

Aşağıdaki referansları kullanarak systemd, systemctl ve üniteler hakkında detaylı olarak okuyabilirsiniz.

  1. Systemctl

  2. Systemd birimleri ve İşte

  3. systemd


Konunun eksiksiz ve düşünceli görüşmesi için gerçekten teşekkür ederiz!
matt

2
Bu cevap gerçekten tamamlanmış gibi görünüyor, ama kafa karıştırıcı ... aslında bir kişinin bilgiden kaynaklanabileceği kesin sonucunu belirtmeden çok fazla bilgi veriyor gibi görünüyorsunuz. Örneğin, kısa cevabınızdan (bazı çalışmalarla) çıkardığım doğrudan, özlü sonuç, bir hizmetin (sistem birimi) yerel olmadığında, systemctl'nin systemd-sysv-kurulumuna yönlendirmeden etkinleştirme durumunu alamamasıdır. Systemctl status komutu bir nedenden ötürü bunu yapmaz fakat bunun yerine "bad" yazar, ancak systemctl etkin durumdaysa, durumu size bildirmek için yönlendirmeyi yapar.
EricS

1
Kafamı karıştıranların bir kısmının, özellikle açılış mermi noktalarında, bazı ifadeler olduğunu düşünüyorum. Geliştirmeye çalışmak için bazı düzenlemeler gönderdim.
EricS
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.