在Linux 客户端上安装

本主题介绍如何在 32 位和 64 位操作系统工作站上安装 UNIX 客户端软件包。

关于本任务

如果要在 64 位操作系统上安装客户端,还需要一些额外的步骤来安装第二个 64 位客户端软件包。 Netezza Performance Server客户端是 32 位操作系统可执行文件,它们需要 32 位库,而客户端不提供这些库。 如果系统上尚未安装程序库,则必须通过操作系统更新程序获取并安装程序库。

程序

  1. 从IBM Fix Central站点获取 "nz-platformclient-version.archive)客户端软件包,并将其下载到客户端系统。 使用或创建一个新的空目录,以减少与其他文件或目录的混淆。
    如 "客户端软件包所述,有多种客户端软件包可用于不同类型的通用操作系统。 确保您获得正确的客户端软件包。 本说明以Linux客户端软件包为例说明操作步骤。
  2. 以根用户或超级用户账户登录工作站。
  3. 切换到保存客户端软件包的目录,然后解压缩并解压其中的内容。

    对于Linux客户端,使用 "gunzip命令解压缩客户端软件包,然后使用 "tar xzf nz-linuxclient-version.tar.gz等命令提取软件包。 要解压缩其他 UNIX 软件包(如AIX®),可能需要运行其他命令,如 "uncompress来解压缩压缩包。

    Linux软件包的 "unpack进程会创建一个 "linux目录、一个 "linux64目录、一个 "webadmin目录和一个 "datadirect.package.tar.z文件。 忽略包含网络管理界面客户端的 "webadmin目录。
  4. 切换到 "linux目录,运行 "unpack命令安装 32 位 CLI 文件: ./unpack.
    注意:在HP-UX 11i客户机上,"/bin/sh可能不可用。 您可以使用命令格式 "sh ./unpack来解压缩客户端。
    unpack命令会检查客户端系统,确保其支持 CLI 软件包,并提示您选择安装位置。 Linux® 的默认位置是 "/usr/local/nz,但您可以将 CLI 工具安装到客户端的任何位置。 如果该目录不存在,程序会提示您创建该目录。 命令输出示例如下:
    ------------------------------------------------------------------
    IBM IPS -- NPS Linux Client 11.2.0.0
    (C) Copyright IBM Corp. 2002, 2020 All Rights Reserved.
    ------------------------------------------------------------------
    Validating package checksum ... ok
    
    Where should the NPS Linux Client be unpacked? [/usr/local/nz]
    Directory '/usr/local/nz' does not exist; create it (y/n)? [y] Enter
    0%             25%          50%          75%             100%
    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    Unpacking complete.
    
  5. 如果您的客户端使用 64 位操作系统,请更改为 "linux64目录并运行 "unpack命令安装 64 位 CLI 文件:./unpack.
    unpack命令会提示你选择安装位置。 Linux 的默认位置是 "/usr/local/nz,但应使用上一步中 32 位 CLI 文件的相同位置。 命令输出示例如下:
    ------------------------------------------------------------------
    IBM IPS -- NPS Linux Client 11.2.0.0
    (C) Copyright IBM Corp. 2002, 2020 All Rights Reserved.
    ------------------------------------------------------------------
    Validating package checksum ... ok
    
    Where should the NPS Linux Client be unpacked? [/usr/local/nz]
    
    Installing in an existing directory. Changing permissions to
    overwrite existing files...
    0%             25%          50%          75%             100%
    |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
    Unpacking complete.
    

结果

客户端安装步骤已完成,Netezza Performance ServerCLI 命令已安装到指定的目标目录。 Netezza Performance Server命令位于解压缩Netezza Performance Server客户端的 "bin目录下。 If you are using a 64-bit operating system on your workstation, note that there is a 64-bit nzodbcsql command in the bin64 directory for testing the SQL command connections.

下一步操作

测试以确保可以运行客户端命令。 切换到客户端安装目录的 bin 子目录(例如 "/usr/local/nz/bin)。运行一条示例命令,如 "nzds命令,以验证命令是否成功或找出任何错误。

./nzds -host nzhost -u user -pw password

该命令显示目标Netezza Performance Server系统上的数据片列表。 如果命令运行无误,则说明客户机系统拥有支持 Performance Server 客户机所需的库和软件包。 如果命令因库或其他错误而失败,客户端可能需要一些额外的库或共享对象。

例如,在Red Hat Enterprise Linux64 位客户端系统上,你可能会看到类似下面的错误:

[root@myrhsystem bin]# ./nzds
-bash: ./nzds: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

例如,在 SUSE 10/11 64 位客户端系统上,您可能会看到类似下面的错误:

mylinux:/usr/local/nz/bin # ./nzds
./nzds: error while loading shared libraries: libssl.so.4: cannot open shared
object file: No such file or directory

mylinux:/usr/local/nz/bin # ldd nzds
linux-gate.so.1 => (0xffffe000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0xf76f1000)
libdl.so.2 => /lib/libdl.so.2 (0xf76ec000)
libssl.so.4 => not found
libcrypto.so.4 => not found
libm.so.6 => /lib/libm.so.6 (0xf76c4000)
libc.so.6 => /lib/libc.so.6 (0xf7582000)
/lib/ld-linux.so.2 (0xf773f000)

这些错误表明客户端缺少运行Netezza Performance Server客户端所需的 32 位库文件。 确定提供库的软件包并获取这些软件包。 您可能需要本地工作站 IT 管理员的协助,以获取工作站的操作系统软件包。

要识别和获取所需的Red Hat软件包,可以使用类似下面的过程。

  • 使用 "yum provides命令并指定文件名,查看哪个软件包提供了无法找到的文件(本例中为ld-linux.so.2)。
    yum provides ld-linux.so.2
    Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
    This system is not registered to Red Hat Subscription Management. You can use
    subscription-manager to register.
    RHEL64 | 3.9 kB 00:00 ...
    glibc-2.12-1.107.el6.i686 : The GNU libc libraries
    Repo : RHEL64
    Matched from:
    Other : ld-linux.so.2

    在本例中,缺少的软件包是glibc-2.12-1.107.el6.i686。

  • 在某些情况下,Netezza Performance Server命令会因缺少 "libssl文件而报错。 您可以使用 "yum provides命令获取更多有关包含库的软件包的信息,以及工作站上是否已经存在这些文件。
    yum provides */libssl*
    Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
    This system is not registered to Red Hat Subscription Management. You can use
    subscription-manager to register.
    nss-3.14.0.0-12.el6.x86_64 : Network Security Services
    Repo : RHEL64
    Matched from:
    Filename : /usr/lib64/libssl3.soopenssl-devel-1.0.0-27.el6.x86_64 : Files for
    : development of applications which will use OpenSSL
    Repo : RHEL64
    Matched from:
    Filename : /usr/lib64/pkgconfig/libssl.pc
    Filename : /usr/lib64/libssl.so

    要解决问题,您可能需要获取并安装 "nss-3.14.0.0-12.el6.x86_64软件包,或者如果系统中已经存在该库,您也可以创建一个符号链接。 创建符号链接或更改库文件时要谨慎。 您应咨询 IT 部门,以确保您能获得所需的软件包,或确保符号链接的更改不会影响工作站上其他应用程序的运行。

根据缺失的库和软件包,使用以下步骤获取Red Hat软件包。

  • 将Red Hat发行版 DVD 或 ISO 文件挂载到客户端系统。 将 DVD 插入 DVD 驱动器。
  • 打开终端窗口,以根用户身份登录。
  • 运行以下命令:
    [root@myrhsystem]# mkdir /mnt/cdrom
    [root@myrhsystem]# mount -o ro /dev/cdrom /mnt/cdrom
  • 在 "/etc/yum.repos.d目录下创建文本文件 "server.repo
    注:要使用 "gedit,请运行命令: gedit /etc/yum.repos.d/server.repo,并在文件中添加以下文本,其中baseurl是挂载点和 RHEL 发行版。 在示例中,挂载点是cdrom,RHEL 发行版是Workstation,但也可以是服务器或 ISO 文件。
    name=server
    baseurl=file:///mnt/cdrom/Workstation
    enabled=1
  • 运行以下命令: yum clean all
  • 运行命令导入相关公钥:"rpm --import /mnt/cdrom/*GPG*
  • 运行以下命令安装所需的库:"yum install <package-name>,其中<package-name>是包含Netezza Performance Server命令操作所需库的文件。

要识别和获取所需的 SUSE 软件包,可以使用类似于以下的过程。

  • 以根用户或超级用户身份登录 SUSE 系统。
  • 如果测试Netezza Performance Server命令失败,并显示无法找到 "libssl.so.4或 "libcrypto.so.4或两者的错误,您可以通过在Netezza Performance Server客户端安装目录中为丢失的文件添加符号链接(例如 "/usr/local/nz/lib)来解决问题。使用 "ls /lib/libssl*命令列出标准操作系统目录中的可用库。 然后,您可以使用类似下面的命令,在现有的 "libssl.so和 "libcrypto.so文件中创建符号链接:
    mylinux:/usr/local/nz/lib # ln -s /usr/lib/libssl.so.0.9.8 /lib/libssl.so.4
    mylinux:/usr/local/nz/lib # ln -s /usr/lib/libcrypto.so.0.9.8 /lib/libcrypto.so.4
  • 如果缺少其他类型的文件或库,请使用 "zypper wp命令并指定文件名,查看哪个软件包提供了这些文件或库。 示例如下所示。
    zypper wp ld-linux.so.2
    Loading repository data...
    Reading installed packages...
    S | Name        | Type    | Version  | Arch   | Repository
    --+-------------+---------+----------+--------+---------------------------------
    i | glibc-32bit | package | 2.9-13.2 | x86_64 | SUSE-Linux-Enterprise-Desktop-11

    在本例中,缺少的软件包是 "glibc-32bit

如果错误显示缺少其他库或软件包,请使用以下步骤获取 SUSE 软件包。

  • 打开终端窗口,以根用户身份登录。
  • 运行 "yast命令打开YaST界面。
  • 在YaST Control Center中,选择软件并转到软件源,配置并启用 DVD、服务器或 ISO 文件作为软件源。 为您的 SUSE 环境选择合适的源。 有关环境中软件包更新的政策,请咨询 IT 部门。
  • "软件"选项卡上,转到 "软件管理",搜索所需的软件包或库,例如本例中的 "glibc-32bit
  • 单击 "接受 "安装所需软件包。
  • 单击退出退出 YaST。