无法从 rpm 文件安装 Oracle SQL Developer 4.0.2(4.0.2.15.21)

无法从 rpm 文件安装 Oracle SQL Developer 4.0.2(4.0.2.15.21)

我最近升级到了 Ubuntu 14.04(使用更新管理器),并且运行正常,没有任何问题。

我使用的是 SQL Developer 3.2.20.09,它运行良好。现在,2014 年 5 月 5 日发布了一个更新版本,我想使用它,因为它可以很好地与 JDK 1.7 配合使用。我按照 Oracle 提供的安装说明进行操作,但安装失败。

  1. 从以下位置下载 sqldeveloper-4.0.2.15.21-1.noarch.rpmhttp://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

  2. 按照安装说明进行操作http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/sqldev-install-linux-1969676.html使用以下命令:

    rpm -Uhv sqldeveloper-4.0.2.15.21-1.noarch.rpm  
    

    结果是:

    rpm: RPM should not be used directly install RPM packages, use Alien instead!
    rpm: However assuming you know what you are doing...
    error: Failed dependencies:
        /bin/sh is needed by sqldeveloper-4.0.1.14.48-1.noarch
    
  3. 使用Alien安装RPM包:

    sudo alien sqldeveloper-4.0.1.14.48-1.noarch.rpm 
    

    这导致了这个错误:

    error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
    error: cannot open Packages index using db5 -  (-30969)
    error: cannot open Packages database in /home/arthanarisamy/.rpmdb
    

是否应该手动更新任何软件包,或者我在升级到 Ubuntu 14.04 时错过了更新?

答案1

您应该首先将.rpm 文件转换为 .deb,这是 ubuntu 中的安装文件格式。

sudo alien -d sqldeveloper-4.0.2.15.21-1.noarch.rpm

然后通过以下方式安装该 .deb 文件:

sudo dpkg -i sqldeveloper-4.0.2.15.21-1.noarch.deb

答案2

如果有其他选择,我不喜欢在 Ubuntu 中使用转换后的 RPM 进行安装。

我更喜欢手动使用二进制包,特别是对于通常没有特定依赖关系(显然是 JRE/JDK)的 Java 应用程序。

在这种情况下,我通过以下方式安装 SQLDeveloper:

  • 下载“其他平台“ 包裹:sqldeveloper-4.0.2.15.21-无-jre.zip
  • 将软件包解压到 /opt/sqldeveloper 中(或者其他你喜欢的目录,我把所有手动安装的软件包放在 /opt 中)
  • 创建一个sqldeveloper.桌面/usr/share/applications 中的文件(适用于所有用户)或 ~/.local/share/applications 中的文件(仅适用于您的用户)

答案3

对于我来说,虽然 rpm 没有安装,但当我双击文档时它会提取它,并且我可以通过运行 /opt/sqldeveloper/sqldeveloper.sh bash 文件来运行 sqldeveloper

答案4

第一次在 Ubuntu 上error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch运行rpm(或)时会发生此错误。alien

使用以下命令创建 RPM DB:

sudo rpm --rebuilddb

摆脱它。

相关内容