Come forzare la rimozione di un pacchetto se lo script di rimozione di dpkg fallisce?


16

Sto cercando di rimuovere un pacchetto in cui ho eliminato il /etc/init.d/disco-masterfile (nel tentativo di rimuovere il pacchetto manualmente). Voglio rimuovere il disco-masterpacchetto. Come faccio adesso?

Questo è ciò che accade quando faccio sudo apt-get remove disco-master:

removing disco-master ...
invoke-rc.d: unknown initscript, /etc/init.d/disco-master not found.
dpkg: error processing disco-master (--remove):
 subprocess installed pre-removal script returned error exit status 100
Errors were encountered while processing:
 disco-master
E: Sub-process /usr/bin/dpkg returned an error code (1)

Quando lo faccio sudo apt-get install --reinstall disco-masterottengo quanto segue:

You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 disco-master : Depends: disco-node (= 0.4.2+nmu1) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Quando lo faccio sudo apt-get -f installottengo questo:

Unpacking disco-node (from .../disco-node_0.4.2+nmu1_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/disco-node_0.4.2+nmu1_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/disco/master/ebin/disco.app', which is also in package disco-master 0.4.1
No apport report written because MaxReports is reached already
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/disco-node_0.4.2+nmu1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Quando corro sudo apt-get remove disco-nodeottengo il seguente:

Package disco-node is not installed, so not removed
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 disco-master : Depends: disco-node (= 0.4.1) but it is not going to be installed
                Depends: python-disco (= 0.4.1) but 0.4.2+nmu1 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Quando l'ho fatto sudo dpkg -P --force-all disco-masterho ottenuto:

Removing disco-master ...
invoke-rc.d: unknown initscript, /etc/init.d/disco-master not found.
dpkg: error processing disco-master (--purge):
 subprocess installed pre-removal script returned error exit status 100
Errors were encountered while processing:
 disco-master

3
Prova a correre sudo dpkg -P --force-all disco-master.
netcoder dal

ha fatto ... aggiunto alla domanda.
fodon,

Risposte:


18

Crea un manoscritto initscript per ingannare dpkg:

sudo nano /etc/init.d/disco-master

Digita il seguente:

#!/bin/bash
exit 0

Salvare il file, impostare il permesso di esecuzione ( sudo chmod 755 /etc/init.d/disco-master) e riprovare sudo apt-get remove disco-master.


Ho fatto una cosa simile all'OP solo con il pacchetto salt-master ... questa risposta ha funzionato anche per me!
Anentropico

salvavita Eric, sei eccezionale.
Peter Teoh,

3
Fantastico, avevo: post-removal script returned error exit status 1.. Quindi, ho trovato quello script, l'ho /var/lib/dpkg/info/{package}.postrmpassato per verificare che avevo fatto le cose in esso (elimina config / file ecc.), Quindi l'ho modificato in quanto sopra. FUNZIONA .. Apt funziona di nuovo . Sorprendente. : D
Grizly
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.