วิธีการลบแพคเกจซึ่งสคริปต์หลังการติดตั้งและการลบล่วงหน้าล้มเหลว?


25

ฉันมีปัญหากับแพคเกจ openqrm

ฉันจะลบออกได้อย่างไร

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:/# 

คำตอบ:


20

คุณอาจลองอัพเกรดแพ็คเกจก่อนที่จะกำจัดมัน ในบางกรณีแพคเกจใหม่จะแก้ไขสคริปต์การลบ ( dpkgทำเพื่อให้แพคเกจใหม่สามารถแก้ไขได้แม้กระทั่งสคริปต์การเปลี่ยนแปลงของแพ็คเกจเก่า)

หากวิธีนี้ใช้ไม่ได้ผลลองดูที่/var/lib/dpkg/info/openqrm.postinstKyle แนะนำให้หาบรรทัดที่ล้มเหลวออกความคิดเห็นและลองล้างอีกครั้ง ทำซ้ำจนกระทั่งสำเร็จ


4
ฉันได้เพิ่ม exit 0 ไปยังจุดเริ่มต้นของ openqrm.prerm มันทำงานได้ ขอบคุณ
Marc Riera

แต่ ... เราจะทำสิ่งนี้ได้อย่างไร "ค้นหาบรรทัดที่ล้มเหลวแสดงความคิดเห็นออก"
ahnbizcad

ใช้โปรแกรมแก้ไขและ sudo ที่คุณโปรดปราน
ℝaphink

เพิ่มset -xในสคริปต์เพื่อดูว่ามันล้มเหลวหรือไม่ cf cyberciti.biz/tips/debugging-shell-script.html
Maxime R.

ฉันต้องแก้ไข/var/lib/dpkg/info/*.prermไฟล์เพื่อรับแพ็คเกจเพื่อถอนการติดตั้ง ช่างเป็นอะไร!
ลูกไก่

18

การทำงานต่อไปนี้สำหรับฉัน:

  • rm -rf /var/lib/dpkg/info/openqrm.*
  • rm -rf / usr / share / openqrm
  • rm -rf / etc / default / openqrm
  • rm -rf /etc/init.d/openqrm
  • ฉลาด - รับกำจัด openqrm

2
มันใช้งานได้! วางทั่วไปเพียงแค่แทนที่ "openqrm" ด้วยชื่อแพ็กเกจของคุณ
ahnbizcad

สิ่งนี้ช่วยฉันในการกำจัดการapachedsติดตั้งที่เสียหายซึ่งปิดกั้นaptคำสั่งใด ๆบนระบบของฉันขอบคุณ ... เราสามารถพูดคุยทั่วไปได้อีกเล็กน้อยโดยการค้นหาตำแหน่งทั้งหมดของแพคเกจsudo find / | grep [package name]ก่อนจากนั้นจึงลบออกทั้งหมดแล้วใช้sudo apt-get remove [package name] -purge --auto-remove( ไม่ใช่สคริปต์ผลลัพธ์บางรายการอาจไม่สามารถลบออกได้แม้ว่า ... )
cedbeu

7

เพียงลองแตะไฟล์ที่หายไป หากนี่เป็นไฟล์เดียวที่ขาดหายไปไฟล์มันอาจเป็นวิธีแก้ปัญหาที่ดี

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

ตอนนี้ลองลบแพ็คเกจด้วย apt-get หรือ aptitude


ใช้งานได้ - ในที่สุดก็สามารถลบ postfix ได้
Darren Newton


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.