Yükleme sonrası alt süreçte dpkg configure hatası nasıl ayıklanır?


17

Kısacası: Spamassassin yüklemeye çalışıyorum ama dpkg sadece aşağıdakileri döndürüyor:

dpkg: error processing spamassassin (--configure):
subprocess installed post-installation script returned error exit status 1

Neyin yanlış gittiğiyle ilgili daha fazla bilgi bulmaya çalıştım ancak herhangi bir yararlı günlük kaydı bulamıyorum.

/ Var / crash dizininde bir spamassassin kilitlenme raporu oluşturulur, ancak bu yalnızca eski dpkg hataları verir ve:

 Start-Date: 2014-02-17  19:18:13
 Commandline: apt-get install spamassassin
AptOrdering:
 spamassassin: Configure
 amavisd-new-postfix: Configure

Bunu, başlangıçtan itibaren dmesg günlüğü izler. Spam bağımlılığı yapılandırılmadığı için Amavis bir hata veriyor.

Günlük dosyalarını kontrol ettim:

apt history.log
apt term.log
dpkg.log
syslog.log

ancak ek bilgi yok.

Tüm olası sekizliklerle dpkg -D'yi denedim ama neyin yanlış gidebileceği hakkında yararlı bir şey bulamıyorum.

Dpkg hataları ve birçok denedim birçok soru ve olası çözümler yazılmıştır, ancak hiçbir ek bilgi ile hiçbir yerde alıyorum hissi yok.

Şüphesiz bir yerlerde yanlış giden şeyleri okuma ya da günlüğe kaydedilmesi için bazı günlükleri kranklama olasılığı olmalıdır?


Gördüğünüz mesajda terminalinizde yukarı ilerlemeli ve ilgili hatayı görmelisiniz. Bunları hata ayıklamak için , bunu tetikleyen hatanın tam olarak ne olduğunu görmelisiniz .
Thomas Ward

terminalde bir açıklama olmalı, /var/log/spamassassin/spamd.log'a baktınız mı?
kamil

Tüm günlükleri sürdüm, temizledim, kurulumu farklı şekillerde yeniden yaptım. Hepsi hata hakkında biraz daha bilgi bulmak için, ama ben bulamıyorum. Spamd.log henüz oluşturulmadı.
Requist

Yanıtlar:


16

Tamam, bu sorunun çözümünü buldum. Daha fazla veri almak için günlüğe erişemediğimi düşündüm, zaten sunulan veriler sorunun ipucuna sahipti.

dpkg: error processing spamassassin (--configure):
subprocess installed post-installation script returned error exit status 1

dpkg, configure dosyasını çalıştırırken spamassassin işlenirken bir hatayla karşılaştı. Sonraki satır, yükleme sonrası komut dosyasının doğru şekilde tamamlanmadığını bildirir.

In / var / lib / dpkg / bilgi dir biz dpkg script dosyaları bulabilirsiniz, dosya: spamassassin.postinst bize hatayı oluşturulan komut dosyası verir.

Bu dosyada configure ile çalıştırılan koda bakmamız gerektiğini biliyoruz:

["$ 1" = "configure"] ise; sonra

ve bazı hata ayıklamadan sonra hattı buldum:

su debian-spamd -c "sa-güncelleme --gpghomedir / var / lib / spamassassin / sa-update-keys \ --import /usr/share/spamassassin/GPG.KEY"

çıkış kodu 1 döndürdü (@commandline komutunu çalıştırın ve çıkış kodunu almak için yankı $?

Sorun, debian-spamd kullanıcısının sistemimde zaten var olması, ancak giriş kabuğunun / bin / false olmasıydı. / Bin / false ile dava, çıkış kodu 1 dışında herhangi bir mesaj olmadan geri döner.

Komuta -s / bin / sh eklenmesi sorunu çözdü, ancak sonunda gelecekteki güncellemelerle senkronize kalmak için kullanıcının giriş kabuğunu değiştirdim.


Seninle de benzer bir sorunum vardı. Yükleyici sadece düz başarısız olduğunda. Mine, debian-backports'dan wheezy için en son sürümü yüklemekle ilgili bir sorun olduğu ortaya çıktı. Yükleme sonrası komut dosyasını 'su - $ OWNER -c "sa-update ...' çağrısı olacak şekilde değiştirdiler. ve /etc/profile.d dosyaları. - - 'su $ OWNER -c ....' 'nin kaldırılması benim için düzeltildi
Vagnerr

Tam bir sorunum yok ama hata ayıklama ipuçlarınız bana çok yardımcı oldu! Teşekkürler!
chaosguru

9

Genellikle bu tür hataları ayıklamak için , hangisinin başarısız olduğuna bağlı olarak /var/lib/dpkg/info/spamassassin.postinst(veya .preinst, pr .prermveya .postrm; hangisinin başarısız olduğuna bağlı olarak) ve #!/bin/shüst satırda #!/bin/sh -x(bunun bashyerine aynı şey : sadece ekleyin -x) olarak değiştirirsiniz

Bu size kabuk komut dosyasının satır satır hata ayıklamasını sağlar, böylece sıfır olmayan kodla nereden çıktığını söyleyebilirsiniz (yükleme / yükseltmenin başarısız olmasına neden olabilir).

Yine de hata ayıklamak için en azından bazı kabuk komut dosyası yazma becerileri gerektirecektir.

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.