як видалити пакунок, який після встановлення та попереднього видалення сценарію не вдався?


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.postinstяк запропонував Кайл, знайдіть рядок, який не працює, прокоментуйте її та спробуйте очистити ще раз. Повторюйте до успіху.


4
Я додав вихід 0 до початку openqrm.prerm. це спрацювало. дякую
Марк Рієра

але ... як ми це робимо? "Знайдіть рядок, який не вдається, прокоментуйте його"
ahnbizcad

Використання улюбленого редактора та
судо

додайте set -xдо сценарію, щоб побачити, де він не працює, пор. cyberciti.biz/tips/debugging-shell-script.html
Максим Р.

Мені також довелося відредагувати /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
  • apt-отримати очищення 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 або здатністю.


Це спрацювало - нарешті вдалося видалити постфікс
Даррен Ньютон

2

Подивіться /var/lib/dpkg/info/openqrm.postinst і подивіться, що він намагається зробити


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.