bagaimana cara menghapus paket yang gagal setelah instalasi dan skrip pra-penghapusan?

25

Saya memiliki masalah dengan paket openqrm.

Bagaimana cara menghapusnya?

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:/# 
Marc Riera
sumber

Jawaban:

20

Anda mungkin mencoba memutakhirkan paket sebelum membersihkannya. Dalam beberapa kasus, paket baru akan memperbaiki skrip penghapusan ( dpkgdibuat agar paket baru dapat memperbaiki bahkan skrip transisi dari paket lama).

Jika itu tidak berhasil, lihatlah /var/lib/dpkg/info/openqrm.postinstseperti yang disarankan Kyle, temukan baris yang gagal, komentari dan coba bersihkan lagi. Ulangi sampai sukses.

ℝaphink
sumber
4
Saya telah menambahkan exit 0 ke awal openqrm.prerm. itu berhasil. terima kasih
Marc Riera
tapi ... bagaimana kita melakukan ini? "cari baris yang gagal, beri komentar"
ahnbizcad
Menggunakan editor dan sudo favorit Anda
ℝaphink
tambahkan set -xke skrip untuk melihat di mana ia gagal, lih. cyberciti.biz/tips/debugging-shell-script.html
Maxime R.
Saya juga harus mengedit /var/lib/dpkg/info/*.prermfile untuk mendapatkan paket untuk dihapus. Desain yang luar biasa!
anak ayam
18

Berikut ini bekerja untuk saya:

  • rm -rf /var/lib/dpkg/info/openqrm.*
  • rm -rf / usr / share / openqrm
  • rm -rf / etc / default / openqrm
  • rm -rf /etc/init.d/openqrm
  • apt-get purge openqrm
Donnied
sumber
2
ini berhasil! Secara umum, cukup ganti "openqrm" dengan apa pun nama paket Anda.
ahnbizcad
Ini membantu saya untuk menyingkirkan apachedsinstalasi yang rusak , yang benar-benar memblokir semua aptperintah pada sistem saya, terima kasih ... kita bisa menggeneralisasi sedikit lebih banyak dengan mencari dulu semua lokasi paket sudo find / | grep [package name], kemudian menghapus semuanya, lalu menggunakan sudo apt-get remove [package name] -purge --auto-remove( tidak secara tertulis, beberapa hasil mungkin tidak dapat dihapus meskipun ...)
cedbeu
7

Coba sentuh file yang hilang. Jika ini hanya satu file file yang hilang itu bisa menjadi solusi yang bagus.

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

Sekarang cobalah untuk menghapus paket dengan apt-get atau aptitude.

Fbo
sumber
Ini berhasil - akhirnya dapat menghapus postfix
Darren Newton
2

Lihatlah /var/lib/dpkg/info/openqrm.postinst dan lihat apa yang coba dilakukan

Kyle
sumber
-1

Ada posting di sini tentang jenis kesalahan yang sama (paket berbeda, meskipun). Sudahkah Anda mencoba dpkg --force-all?

jembatan Charles
sumber