Làm thế nào để loại bỏ một gói mà kịch bản sau khi cài đặt và loại bỏ trước thất bại?


25

Tôi có một vấn đề với gói openqrm.

Làm thế nào để tôi loại bỏ nó?

root@wl183004:/# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
Do you want to continue [Y/n]? 
Setting up openqrm (4.6-ubuntu1) ...
.: 33: Can't open /usr/share/openqrm/etc/openqrm-server.conf
dpkg: error processing openqrm (--configure):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 openqrm
E: Sub-process /usr/bin/dpkg returned an error code (1)

root@wl183004:/# apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
Setting up openqrm (4.6-ubuntu1) ...
.: 33: Can't open /usr/share/openqrm/etc/openqrm-server.conf
dpkg: error processing openqrm (--configure):
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 openqrm
E: Sub-process /usr/bin/dpkg returned an error code (1)

root@wl183004:/# apt-get remove --purge openqrm
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libshadow-ruby1.8 bind9 libopenipmi0 nagios-plugins-basic open-iscsi
  nagios-plugins-standard memcached libupsclient1 collectd-core nagios-images
  bind9utils tftpd-hpa radiusclient1 libdbi0 libphp-adodb collectd libruby
  aoetools facter dhcp3-server open-iscsi-utils liboping0 libmemcached2
  libradius1 libyajl1 nagios-plugins puppet-common puppetmaster
  libopenssl-ruby1.8 libopenssl-ruby libesmtp5 libxmlrpc-ruby
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  openqrm*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 78.2MB disk space will be freed.
Do you want to continue [Y/n]? 
(Reading database ... 313464 files and directories currently installed.)
Removing openqrm ...
.: 32: Can't open /usr/share/openqrm/etc/openqrm-server.conf
dpkg: error processing openqrm (--purge):
 subprocess installed pre-removal script returned error exit status 2
.: 33: Can't open /usr/share/openqrm/etc/openqrm-server.conf
dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 2
Errors were encountered while processing:
 openqrm
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@wl183004:/# 

Câu trả lời:


20

Bạn có thể thử nâng cấp gói trước khi thanh trừng. Trong một số trường hợp, gói mới sẽ sửa tập lệnh loại bỏ ( dpkgđược tạo để các gói mới có thể sửa ngay cả tập lệnh chuyển tiếp của gói cũ).

Nếu điều đó không hiệu quả, hãy xem /var/lib/dpkg/info/openqrm.postinstnhư Kyle đề xuất, xác định vị trí dòng bị lỗi, nhận xét nó và cố gắng thanh lọc lại. Lặp lại cho đến khi thành công.


4
Tôi đã thêm lối thoát 0 vào đầu của openqrm.prerm. nó đã làm việc. cảm ơn
Marc Riera

Nhưng làm thế nào để chúng tôi làm điều này? "xác định vị trí dòng không thành công, nhận xét nó"
ahnbizcad

Sử dụng trình chỉnh sửa yêu thích của bạn và sudo
ℝaphink

thêm set -xvào kịch bản để xem nó thất bại ở đâu cyberciti.biz/tips/debugging-shell-script.html
Maxime R.

Tôi cũng đã phải chỉnh sửa một /var/lib/dpkg/info/*.prermtập tin để có được một gói để gỡ cài đặt. Thật là một thiết kế!
gà con

18

Sau đây làm việc cho tôi:

  • rm -rf /var/lib/dpkg/info/openqrm.*
  • rm -rf / usr / chia sẻ / openqrm
  • rm -rf / etc / default / openqrm
  • rm -rf /etc/init.d/openqrm
  • apt-get thanh trừng openqrm

2
cái này hiệu quả Tổng quát hóa, chỉ cần thay thế "openqrm" bằng bất kỳ tên gói nào của bạn.
ahnbizcad

Điều này giúp tôi thoát khỏi apachedscài đặt bị hỏng , đã chặn hoàn toàn bất kỳ aptlệnh nào trên hệ thống của tôi, cảm ơn ... chúng tôi có thể khái quát thêm một chút bằng cách tìm kiếm trước tiên tất cả các vị trí của gói sudo find / | grep [package name], sau đó xóa tất cả, sau đó sử dụng sudo apt-get remove [package name] -purge --auto-remove( không theo kịch bản, một số kết quả có thể không bị xóa mặc dù ...)
cedbeu

7

Chỉ cần cố gắng chạm vào tập tin bị thiếu. Nếu đây chỉ là một tập tin bị thiếu thì nó có thể là một cách giải quyết tuyệt vời.

touch /usr/share/openqrm/etc/openqrm-server.conf

Bây giờ hãy thử loại bỏ gói với apt-get hoặc aptitude.


Điều này đã làm việc - cuối cùng đã có thể loại bỏ hậu tố
Darren Newton

2

Nhìn vào /var/lib/dpkg/info/openqrm.postinst và xem những gì nó đang cố gắng làm


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.