우분투는 패키지를 정리할 수 없습니다

우분투는 패키지를 정리할 수 없습니다

설치하려고 합니다oracle-java7-설치 프로그램사용자 정의 저장소에서 Ubuntu 12로 패키지를 다운로드합니다. 일부 설치 후 스크립트를 실행하는 동안 실패했습니다. 그래서. 롤백하고 다른 솔루션(Java 7 jdk 설치)으로 이동하고 싶습니다. 나는 전에 시도했다

업데이트됨세트-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

그걸로 무엇을 할 수 있나요? 손상된 패키지를 제거하지 않고 이전 상태로 롤백할 수 있습니까?

그래서. 출력을 통해 패키지 내부의 스크립트가 잘못되었음을 이해합니다. Oracle 사이트에서 tar.gz를 다운로드할 수 없어 설치할 수 없었습니다. 또한 올바르게 처리되지 않습니다.제거하다패키지를 제거하고 싶을 때는 명령을 내려 다시 설치해 보세요. 기본 질문 - 스크립트를 실행하지 않고 패키지를 롤백할 수 있습니까? Windows의 "시스템 복원"처럼요? 아니면 수동으로 해야 하나요?

폴리스티렌

lsb_release -a
사용 가능한 LSB 모듈이 없습니다.
게시자 ID: Ubuntu
설명: Ubuntu 12.04.1 LTS
버전: 12.04
코드명: 정밀

폴리페닐렌 설파이드

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
+ [ = 삭제]
+ [ = 구성 해제]
+ 0 종료

답변1

패키지에 결함이 있고 품질이 좋지 않은 것 같습니다. 관리자 스크립트의 잘못된 코드를 해결하는 방법은 해당 코드를 true를 반환하는 noop 스크립트로 바꾸는 것입니다.

/var/lib/dpkg/info/oracle-java7-installer.prerm/var/lib/dpkg/info/oracle-java7-installer.postrm를 다음으로 바꾸세요 .

#!/bin/sh
exit 0

문제가 있는 관리자 스크립트가 교체되면 해당 패키지를 제거할 수 있습니다.

관련 정보