在Linux 客户端上安装
本主题介绍如何在 32 位和 64 位操作系统工作站上安装 UNIX 客户端软件包。
关于本任务
如果要在 64 位操作系统上安装客户端,还需要一些额外的步骤来安装第二个 64 位客户端软件包。 Netezza Performance Server客户端是 32 位操作系统可执行文件,它们需要 32 位库,而客户端不提供这些库。 如果系统上尚未安装程序库,则必须通过操作系统更新程序获取并安装程序库。
程序
结果
客户端安装步骤已完成,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。