dpkg travando ao tentar instalar um pacote

2

Durante a tentativa de instalar um pacote via apt-get o seguinte. O primeiro erro que recebo é:

    E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

E, se eu executar esse comando, a caixa ficará fora de controle e receberei o seguinte em / var / log / syslog

Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398546] ------------[ cut here ]------------
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398552] WARNING: at /build/buildd/linux-3.0.0/arch/x86/xen/multicalls.c:182 xen_mc_flush+01c0()
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398561] Modules linked in: acpiphp
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398568] Pid: 31063, comm: java Tainted: G      D W   3.0.0-14-virtual #23-Ubuntu
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398576] Call Trace:
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398580]  [<c0648265>] ? printk+0x2d/0x2f
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398586]  [<c0150462>] warn_slowpath_common+0x72/0xa0
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398593]  [<c0104883>] ? xen_mc_flush+0x1b3/0x1c0
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398599]  [<c0104883>] ? xen_mc_flush+0x1b3/0x1c0
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398605]  [<c01504b2>] warn_slowpath_null+0x22/0x30
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398611]  [<c0104883>] xen_mc_flush+0x1b3/0x1c0
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398617]  [<c0104e7a>] ? xen_extend_mmu_update+0x4a/0x70
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398624]  [<c0106565>] xen_set_pud_hyper+0x75/0x80
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398630]  [<c01065b9>] xen_set_pud+0x49/0x60
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398636]  [<c0132105>] pud_populate+0x45/0x60
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398642]  [<c0208a24>] __pmd_alloc+0x74/0x90
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398648]  [<c0208cb7>] handle_mm_fault+0x277/0x2c0
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.398655]  [<c065f45b>] do_page_fault+0x15b/0x4a0
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.401923]  [<c020ba24>] ? remove_vma+0x44/0x60
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.401923]  [<c020d9b6>] ? sys_mmap_pgoff+0x106/0x1c0
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.401923]  [<c065f300>] ? vmalloc_fault+0x190/0x190
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.401923]  [<c065c79f>] error_code+0x67/0x6c
Aug 29 20:21:08 ip-10-202-191-4 kernel: [20571563.401923] ---[ end trace 0b105e2a179ad013 ]---
    
por Jonathan 29.08.2012 / 22:50

1 resposta

3

O problema é que o script responsável por configurar o pacote (o preinst ou o postinst) possui um comando que causa um kernel panic, ou apenas um kernel oops. Portanto, devemos limpar o pacote incorreto para evitar que ele execute dpkg e cause uma falha novamente. Para isso, basta pressionar Ctrl + Alt + T no seu teclado para abrir o Terminal. Quando se abre, execute os comandos abaixo, um por um.

sudo rm /var/lib/apt/lists/lock 

sudo cp -arf /var/lib/dpkg /var/lib/dpkg.backup

sudo mv /var/lib/dpkg/status /var/lib/dpkg/status-bad

sudo cp /var/lib/dpkg/status-old /var/lib/dpkg/status

sudo mv /var/lib/dpkg/available /var/lib/dpkg/available-bad

sudo cp /var/lib/dpkg/available-old /var/lib/dpkg/available

sudo rm -rf /var/lib/dpkg/updates/*

sudo rm -rf /var/lib/apt/lists

sudo rm /var/cache/apt/*.bin

sudo mkdir /var/lib/apt/lists

sudo mkdir /var/lib/apt/lists/partial

LANG=C;sudo apt-get clean

LANG=C;sudo apt-get autoclean

LANG=C;sudo apt-get --purge autoremove

LANG=C;sudo apt-get update

sudo dpkg --configure -a

(Os comandos acima são complementos do ObsessiveFOSS)

Depois de fazer isso e tudo estiver OK, prossiga com as instruções abaixo sobre como instalar o seu pacote.

Para instalar o RRDTool, apenas pressione Ctrl + Alt + T no seu teclado para abrir o Terminal. Quando se abre, execute o comando abaixo. Para ter certeza de que você tem todas as dependências necessárias.

sudo apt-get install libpango1.0-dev libxml2-dev

sudo apt-get install librrds-perl rrdtool

Ou você pode instalá-lo no Ubuntu Software Center clicando abaixo:

Se a instalação falhar novamente, execute as etapas de reparo listadas acima e registre um bug contra o pacote, informando que o preinst ou o postinst parece causar um pânico no kernel.

    
por Mitch 11.03.2017 / 20:03

Tags