dpkg削除スクリプトが失敗した場合、パッケージを強制的に削除するにはどうすればよいですか?


16

/etc/init.d/disco-masterファイルを削除したパッケージを削除しようとしています(パッケージを手動で削除しようとしています)。disco-masterパッケージを削除したい。今どうすればいいですか?

これは私が行うときに何が起こるかです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)

私がする時 sudo apt-get install --reinstall disco-master次を得る:

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

私が行うとsudo apt-get -f install、私はこれを取得します:

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)

実行するsudo apt-get remove disco-nodeと、次のものが得られます。

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

私がsudo dpkg -P --force-all disco-masterやったとき:

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
実行してみてくださいsudo dpkg -P --force-all disco-master
ネットコーダー

それは...質問に追加されました。
-fodon

回答:


18

dpkgをだますダミーの初期スクリプトを作成します。

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

次のように入力します:

#!/bin/bash
exit 0

ファイルを保存し、実行許可(sudo chmod 755 /etc/init.d/disco-master)を設定して、sudo apt-get remove disco-master再試行してください。


私はソルトマスターパッケージでのみOPと同様のことをしました...この答えも私にとってはうまくいきました!
エントロピー

命の恩人エリック、あなたは素晴らしいです。
ピーターTeoh 14

3
ブリリアント、私は持っていた:post-removal script returned error exit status 1..それで、私はそのスクリプトを見つけ、/var/lib/dpkg/info/{package}.postrmその中の事柄を削除したことを確認し(設定/ファイルなどを削除)、それを上記に変更しました..IT WORKS .. 。すごい。:D-
グリズリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.