Làm thế nào để buộc loại bỏ một gói nếu kịch bản loại bỏ dpkg không thành công?


16

Tôi đang cố gắng xóa gói nơi tôi đã xóa /etc/init.d/disco-mastertệp (trong nỗ lực xóa gói theo cách thủ công). Tôi muốn loại bỏ các disco-mastergói. Làm thế nào để tôi làm điều này bây giờ?

Đây là những gì xảy ra khi tôi làm 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)

Khi tôi làm sudo apt-get install --reinstall disco-mastertôi nhận được như sau:

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

Khi tôi làm sudo apt-get -f installtôi nhận được điều này:

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)

Khi tôi chạy, sudo apt-get remove disco-nodetôi nhận được như sau:

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

Khi tôi đã sudo dpkg -P --force-all disco-masternhận:

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
Hãy thử chạy sudo dpkg -P --force-all disco-master.
netcoder

đã làm điều đó ... thêm vào câu hỏi.
fodon

Câu trả lời:


18

Tạo một bản in giả để đánh lừa dpkg:

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

Nhập theo chỉ dẫn:

#!/bin/bash
exit 0

Lưu tệp, đặt quyền thực thi ( sudo chmod 755 /etc/init.d/disco-master) và thử sudo apt-get remove disco-masterlại.


Tôi đã làm một điều tương tự như OP chỉ với gói salt-master ... câu trả lời này cũng có hiệu quả với tôi!
Anentropic

cứu người Eric, bạn thật tuyệt
Peter Teoh

3
Rực rỡ, tôi đã có: post-removal script returned error exit status 1.. Vì vậy, tôi đã tìm thấy tập lệnh đó /var/lib/dpkg/info/{package}.postrm, đã duyệt qua nó để xác minh rằng tôi đã thực hiện những điều trong đó (xóa cấu hình / tệp, v.v.), sau đó sửa đổi nó thành ở trên .. CÔNG TRÌNH CNTT .. Apt hoạt động trở lại . Kinh ngạc. : D
Grizly
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.