Servisler neden kurulumda başlamıyor?


23

Bunu bir ara şimdi gördüm, ama ubuntu erkekte bu tuhaf policy-rc.dikili sistem hakkında , dpkg / apt tarafından çağrıldığında hizmetlerin başlatılmasını / yeniden başlatılmasını / durdurulmasını önleyen hiçbir şey bulamadım , bu yüzden bunun nedeninin ne olduğunu bilmek istiyorum.

Setting up lxc (0.9.0-0ubuntu3.6) ...
invoke-rc.d: policy-rc.d denied execution of start.
invoke-rc.d: policy-rc.d denied execution of start.
invoke-rc.d: policy-rc.d denied execution of start.

Görünüşe göre, hiçbir paket bu ikilinin sahibi değil:

dpkg -S /usr/sbin/policy-rc.d
dpkg-query: no path found matching pattern /usr/sbin/policy-rc.d

Yanıtlar:


31

Bu "script" sysv-rcpakete dahil edilmiştir . Bu, sysadmins’in paketleri ne zaman kurar / yükseltir / kaldırırsa hangi servislerin başladığını / yeniden başladığını / durduğunu kontrol etmesini sağlayan bir Debian politikasının bir parçasıdır:

POLICY-RC.D Politika katmanı (/usr/sbin/policy-rc.d) arayüzü

Çoğu Debian sistemi bu betiğe sahip olmayacaktır, çünkü politika katmanına olan ihtiyaç çok yaygın değildir. Chroot hapishanelerini kullanan çoğu kişi, hapisli / usr/sbin/policy-rc.d betiği olarak 101'lik bir çıkış durumu döndüren tek satırlı bir komut dosyasına ihtiyaç duyar.

/Usr/sbin/policy-rc.d dosyasının , alternatif bir sistem (/ usr / sbin / update-alternatives) ile onu sağlayan tüm paketler tarafından yönetilmesi gerekir .

/usr/sbin/policy-rc.d [seçenekler] []

/usr/sbin/policy-rc.d [options] --list [...]

( Kaynak )

Peki, burada ne oluyor? Peki, bu senaryo ne zaman mevcutsa, yerel sistemin mevcut politikasını belirten bir kod döndürecektir (varsayılan olarak 101= politika tarafından yasaklanmış eylem). Politikayı değiştirmek istiyorsanız, dosyayı kök olarak şu değerlerden birine göre değiştirin:

  0 - action allowed
  1 - unknown action (therefore, undefined policy)
 100 - unknown initscript id
 101 - action forbidden by policy
 102 - subsystem error
 103 - syntax error
 104 - [reserved]
 105 - behaviour uncertain, policy undefined.
 106 - action not allowed. Use the returned fallback actions
       (which are implied to be "allowed") instead. 

Senaryo hala bir yer tutucudur, ancak tamamlandığında tüm bu değerler geri döndürülebilir. Herhangi bir değişikliğe izin vermek istiyorsanız, sadece exit 101için exit 0ve yapılan değişiklikler . Bir hizmeti kurduğunuzda / kaldırdığınızda / yükselttiğinizde bunlar yeniden başlatılır / durdurulur.


6
Docker görüntüleri sabitexit 101 # For most Docker users, "apt-get install" only happens during "docker build", # where starting services doesn't work and often fails in humorous ways. This # prevents those failures by stopping the services from attempting to start.
Tjorriemorrie 4:16

2
@Tjorriemorrie, lütfen biraz ayrıntılı olabilir misiniz? Liman işçisi görüntüsü oluştururken bu sorunu yaşıyorum ve düzeltemiyorum gibi görünüyor
Jonny Flowers


@JonnyFlowers Docker'ın kaynağında bu satırları
Bigood

@Bigood: Son masterşubede satır numarası değiştirildi . İşte [ docker'in kaynağındaki satırlara kalıcı bir bağlantıdır ( github.com/moby/moby/blob/v17.05.0-ce/contrib/mkimage/… ).
Hosam Aly
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.