Ubuntu Não foi possível limpar o pacote

1

Eu tentei instalar o pacote oracle-java7-installer do repositório personalizado no Ubuntu 12. Ele falhou durante a execução de algum script de pós-instalação. Assim. Eu quero apenas reverter e prosseguir com outras soluções (para instalar o java 7 jdk). Eu tentei fazer

ATUALIZADO com set -x

 >  sudo aptitude remove oracle-java7-installer
The following packages will be REMOVED:
  oracle-java7-installer
0 packages upgraded, 0 newly installed, 1 to remove and 47 not upgraded.
Need to get 0 B of archives. After unpacking 82.9 kB will be freed.
(Reading database ... 61748 files and directories currently installed.)
Removing oracle-java7-installer ...
+ uname -m
+ arch=amd64
+ dld=x64
+ J_INSTALL_DIR=/usr/lib/jvm/java-7-oracle
+ [ remove = remove ]
+ [ -d /usr/lib/jvm/java-7-oracle/man/man1 ]
+ basename /usr/lib/jvm/java-7-oracle/bin/*
+ name=*
+ [ ! -f /usr/bin/* -o -L /usr/bin/* ]
+ update-alternatives --remove bin boot dev etc home initrd.img lib lib64 lost+found media mnt opt proc raid root run sbin selinux srv sys tmp usr var vmlinuz /usr/lib/jvm/java-7-oracle/bin/*
update-alternatives: error: unknown argument 'dev'
dpkg: error processing oracle-java7-installer (--remove):
 subprocess installed pre-removal script returned error exit status 2
No apport report written because MaxReports is reached already
                                                              Downloading...
--2012-10-24 17:53:33--  http://download.oracle.com/otn-pub/java/jdk/7u3-b04/jdk-7u3-linux-x64.tar.gz
Resolving download.oracle.com (download.oracle.com)... 80.239.148.219, 80.239.148.216
Connecting to download.oracle.com (download.oracle.com)|80.239.148.219|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://edelivery.oracle.com/otn-pub/java/jdk/7u3-b04/jdk-7u3-linux-x64.tar.gz [following]
--2012-10-24 17:53:33--  https://edelivery.oracle.com/otn-pub/java/jdk/7u3-b04/jdk-7u3-linux-x64.tar.gz
Resolving edelivery.oracle.com (edelivery.oracle.com)... 2.22.42.174
Connecting to edelivery.oracle.com (edelivery.oracle.com)|2.22.42.174|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://download.oracle.com/errors/download-fail-1505220.html [following]
--2012-10-24 17:53:33--  http://download.oracle.com/errors/download-fail-1505220.html
Connecting to download.oracle.com (download.oracle.com)|80.239.148.219|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5307 (5.2K) [text/html]
Saving to: './jdk-7u3-linux-x64.tar.gz'

     0K .....                                                 100%  466M=0s

2012-10-24 17:53:33 (466 MB/s) - './jdk-7u3-linux-x64.tar.gz' saved [5307/5307]

Download done.
sha256sum mismatch jdk-7u3-linux-x64.tar.gz
Oracle JDK 7 is NOT installed.
dpkg: error while cleaning up:
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 oracle-java7-installer
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install.  Trying to recover:
> sudo aptitude search oracle-java7-installer
   Cd  oracle-java7-installer                                                 - Sun Java(TM) Development Kit (JDK) 7

O que eu posso fazer com isso? É possível reverter para o estado anterior sem tentar desinstalar o pacote quebrado?

Eu entendo de saída que os scripts dentro do pacote estão errados. eles não conseguiram baixar tar.gz do site da Oracle e não conseguiram instalar devido a isso. Também não manipula adequadamente o comando remove e tenta instalá-lo novamente quando eu quiser remover o pacote. A questão básica - é possível apenas reverter esse pacote sem executar scripts? Por exemplo como no windows "Restauração do sistema"? Ou eu deveria fazer isso manualmente?

P.S.

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.1 LTS
Release: 12.04
Codename: precise

P.P.S

sh -x /var/lib/dpkg/info/oracle-java7-installer.prerm
+ set -e
+ uname -m
+ arch=amd64
+ dld=x64
+ J_INSTALL_DIR=/usr/lib/jvm/java-7-oracle
+ [ = remove ]
+ [ = deconfigure ]
+ exit 0

    
por denys 24.10.2012 / 17:22

1 resposta

1

Esse pacote parece ser de buggy e de má qualidade. A maneira de contornar o código com bugs nos scripts do mantenedor é simplesmente substituí-los por um script noop que retornará true.

Substitua /var/lib/dpkg/info/oracle-java7-installer.prerm e /var/lib/dpkg/info/oracle-java7-installer.postrm pelo seguinte:

#!/bin/sh
exit 0

Você deve ser capaz de remover os pacotes assim que os scripts do mantenedor de bugs forem substituídos.

    
por 24.10.2012 / 18:15