IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Information Management  >

Mac OS X 上的 Informix Database 组合(IDS 和 CSDK)安装揭秘

developerWorks
文档选项

未显示需要 JavaScript 的文档选项

讨论

英文原文

英文原文


级别: 中级

Paul-John To, IDS 安装开发人员, IBM
Ranjani M. Bettadahalli, IDS Client-SDK 开发人员, IBM

2008 年 11 月 17 日

在本文中,理解如何在 Mac OS X 上安装 IBM Informix Dynamic Server 11.50.FC2。理解安装的不同阶段,包括配置系统内核参数,访问数据库服务器,以及定制与嵌入式应用程序一起使用的安装。

简介

在 UNIX® 上安装 IBM Informix Dynamic Server(IDS)一直都很简单,新用户在几分钟内就可以拥有一个完全配置好的数据库。现在,Mac OS X 操作系统采用了基于 BSD 的内核,所以 UNIX 和 Linux® 用户可以轻松转换到这个操作系统,而不会失去一些熟悉的工具,比如终端仿真和 shell 脚本编写。由于 Mac OS X 用户喜欢富图形用户界面,同时也为了克服使用 root 登录的安装限制,我们现在有了 Mac OS X 的 IDS 安装程序。这个安装程序将常规的 UNIX 组合安装程序打包到一个 PackageMaker 包中。PackageMaker 是与 Apple Developer Toolkit 捆绑的一个本地软件部署实用程序。

Mac OS X 上的 IDS 安装程序是一个组合安装程序,它由以下三个产品组成:

  • IBM Informix Dynamic Server
  • IBM Informix Client-SDK
  • IBM Informix Connect

为了切换几个关键二进制文件的所有权和设置它的用户切换,必须始终以 root 身份运行安装。虽然大多数 UNIX 用户都习惯以 root 运行程序,但是 Mac OS X 用户却不喜欢这样做。这有以下几点原因:

  • root 权限允许访问系统上的任何东西,如果使用不当,可能造成系统无法使用。
  • 在新的 OS X 系统上,默认情况下 root 登录是被禁用的。

Mac 用户喜欢富 GUI 体验,以 root 运行 IDS 安装程序需要打开一个 Terminal 窗口并运行 sudo。Mac OS X 上的 IDS 安装通过 Apple PackageMaker 框架为组合安装程序提供了新的界面,从而克服了这些限制。





回页首


Mac OS X 上新 IDS Installer 的结构

新的 IDS Mac OS X 安装程序的结构可以描述为一个三层拓扑,如 图 1 所示:


图 1. 新安装程序的三层拓扑
新安装程序的三层拓扑

我们更仔细地看看这三个层。

交付工具:DMG

安装程序的最顶层是一个 .dmg(磁盘镜像)文件。很多可下载的 OS X 应用程序都采用 .dmg 格式。通常可以将这些文件保存在一个常见的位置(桌面),然后双击运行。当双击一个 .dmg 文件时,操作系统会把它当作文件系统来挂载它,并打开一个新的 Finder 窗口(类似于 OS X Desktop 上的 Windows Explorer)。

助手:PackageMaker

在 dmg 层之下是 PackageMaker,这是由 Apple 开发的一个框架,它有一些精巧的特性,例如:

  • 以图形化的方式提示输入管理用户名和密码。
  • 将软件拆分成多个可单独安装的组件。
  • 作为元安装程序
  • 安装到用户指定的卷(逻辑驱动器)
PackageMaker 文档的扩展名为 .pmdoc。与常规的 UNIX 文档不同,PackageMaker 文档实际上是目录。这种文档包含一个文件列表(其中有为包文件和目录设置的所有权和许可)、一个描述组件分解的说明,以及一个索引(它列出了不同的特性和非标准修改)。PackageMaker 允许在安装前后执行用 shell 或 Perl 脚本编写的操作。IDS 安装程序使用 PackageMaker 确定用户是否有系统的管理权限,以便将可安装的媒介提取到 /Applications/IBM/informix 中,并启动 ISMP。

工作者:InstallShield MultiPlatform(ISMP)

最底层(核心层)由启用了 Mac OS X 支持的 ISMP UNIX 安装程序组成。它在系统内建的 Java 运行时环境(Java Runtime Environment,JRE)中运行。ISMP 虽然不是 PackageMaker 那样的本地 OS X 实现,但是它利用 Swing 技术为用户提供了一个 Mac 友好的用户界面。ISMP 安装程序驱动所有主要的安装逻辑,包括复制应用程序和支持文件,配置内核参数,创建 informix 用户和组,配置角色分离,以及初次设置服务器实例。





回页首


安装过程逐步说明

要开箱即用地使用 IDS,最简单的方法是使用默认选项运行安装程序。虽然可以仅仅执行安装,在安装前后不进行任何配置,但是我们建议目标系统至少有 1GB 的空闲 RAM 和 1GB 的空闲磁盘空间。如果不想安装所有的可用特性,需要的空间可以少一些。请阅读 README 文件、机器说明和发行说明,获取最新的信息。

运行安装程序

  1. 将 .dmg 文件下载到桌面。
  2. 双击 .dmg 文件,挂载 iif.11.50 卷。
  3. 接着,双击 iif.11.50 卷图标。

    图 2. 桌面上的 .dmg 文件
    桌面上的 .dmg 文件

  4. 此时出现一个 Finder 窗口,其中有一个包图标。双击这个包图标,开始安装过程。

    图 3. Finder 中的 .pkg
    Finder 中的 .pkg

  5. 在 PackageMaker 安装程序的第一个屏幕上,选择 Continue

    图 4. PackageMaker 安装程序
    PackageMaker 安装程序

  6. 选择 Install

    图 5. 安装
    安装

  7. 提供管理凭证。

    图 6. 用户认证
    用户认证

  8. 此时提取 IDS Bundle。提取完之后,PackageMaker 启动 ISMP bundle 安装程序。

    图 7. PackageMaker 启动 ISMP
    PackageMaker 启动 ISMP

  9. ISMP 安装程序允许安装服务器和客户机 Software Development Kit(Client-SDK)或连接驱动程序(IConnect)。

    图 8. 通过 ISMP Installer 调用 IDS 安装程序 ids_install
    通过 ISMP Installer 调用 IDS 安装程序 ids_install

  10. 安装程序确认内核共享内存设置是否足以运行 IDS。如果检测到设置太低,安装程序将调整设置。默认情况下,安装程序会自动进行更改。但是,如果要更精确地控制内存设置,可以手动编辑 /etc/sysctl.conf。(要了解更多信息,请参阅 “配置内核” 小节)。

    图 9. 自动配置内核参数
    自动配置内核参数

  11. 当 ISMP 安装程序完成时,PackageMaker 安装程序将通知安装成功。

    图 10. 安装成功
    安装成功





回页首


配置内核

分配给一个运行的进程的默认文件句柄数量和共享内存不足以在 Mac OS X 上运行 IBM Informix Dynamic Server。IDS 安装程序检测是否需要分配更多的内存,并建议使用自动更改。这些更改要在 /etc/sysctl.conf 中进行。如果该文件存在,安装程序在更改前会创建一个备份。如果管理员选择不要安装程序进行更改,那么他必须手动编辑 /etc/sysctl.conf,设置以下 System V 内核参数,然后才可以使用 IDS:


表 1. System V 内核参数设置
内核设置名称IDS 要求的最小值
kern.sysv.shmmax4398046511104
kern.sysv.shmmin1
kern.sysv.shmmni512
kern.sysv.shmseg512
kern.sysv.shmall1073741824
kern.sysv.semume10
kern.sysv.semmsl87381
kern.sysv.semmnu87381
kern.sysv.semmns87381
kern.sysv.semmni87381
kern.maxfiles2147483647
kern.maxfilesperproc40000
kern.maxvnodes150000
net.inet.tcp.sendspace524288
net.inet.tcp.recvspace524288

要查看一个参数(比如 kern.sysv.shmmax)的值,可以在一个终端运行以下命令:

sysctl kern.sysv.shmmax

如果这个值小于要求的值,则通过在终端发出以下命令来更改它:

sysctl -w kern.sysv.shmmax=4398046511104

此外,为了使这些更改持久化,可以创建或编辑 /etc/sysctl.conf,以 setting=value 的形式行逐指定所有这些设置。





回页首


访问 demo 服务器

在安装期间,安装程序提供了一个选项,即通过创建一个基本的 IDS 服务器实例来验证安装是否成功。Mac OS X 的安装程序还创建了一个启动器,通过它可以访问一个其服务器环境已设置并且可用的终端窗口。在这个终端中可以启动和停止服务器、使用 dbaccess,以及使用 Client SDK。可以在 /Applications/IBM/informix/demo_on.terminal 下找到这个启动器。如果在安装期间提供的服务器名称不是 demo_on,那么启动器的名称就是 server_name.terminal。下面的图 11 显示了在终端内运行的 dbaccess,这个终端是在双击 ids_server.terminal 图标后运行的:


图 11. Demo 服务器启动器
Demo 服务器启动器




回页首


将 IDS 嵌入到 Mac OS X 产品中

独立软件供应商(Independent Software Vendors,ISV)有时会将 IDS 和 Client SDK 嵌入到他们的应用程序中,这种做法并不少见。在本节中,看看如何使用 Mac 安装程序生成一个可嵌入的安装。

提取可重新发行的媒介

  1. 启动 PackageMaker 安装程序。
  2. 当 ISMP 安装开始后,选择 Cancel
  3. 然后就可以在 /Applications/IBM/informix 下找到可重新发行的媒介。

为重新发行定制媒介

组合安装程序允许覆盖默认的安装位置,以及禁用不需要的组件。如果要这样做,可以:

  1. 复制一个 bundle.ini,并将它保存为 myresponses.ini。
  2. 编辑 myresponses.ini,根据需要覆盖默认值。下面的表 2 提供了关于一些可定制的参数的信息:

表 2. 可定制的参数和值
参数详细信息
-P installLocationValid Path如何将产品安装到有效路径
-P csdk.activeTrue 或 False是否安装 CSDK
-SW SERVER/IIF.jar setupTypes.selectedSetupTypeIdTypical 或 CustomIDS Server 的安装类型
-SP SERVER/IIF.jar IDS-GLS.activeTrue 或 False是否安装 Global Language Support for IDS

非交互式地嵌入和运行安装

以 root 身份使用以下命令运行组合安装:

ids_install -silent -options myresponses.ini -log install.log





回页首


结束语

本文演示了一个安装程序,这个安装程序不要求用户以 root 登录,不需要使用 Terminal 窗口,并且保留了 UNIX 和 Linux 上 IDS 图形化安装的所有功能。对客户和开发人员而言,这非常有利于创建新的基于 Mac OS X 的 Package Maker 框架的安装程序。这也使得各种不同的客户和开发人员都可以使用易用的富 GUI 安装程序在 Mac OS 上安装 IBM Informix Dynamic Server。






回页首


下载

描述名字大小下载方法
Apple Mac OS X 上的 IDS Server 组合安装idsmacdemo.zip14MBHTTP
关于下载方法的信息


参考资料

学习

获得产品和技术

讨论


作者简介

Paul-John To

Paul-John "PJ" A. To 是 IDS Install Development Team 的专职软件工程师。他除了领导 Mac OS X 的 IDS 安装程序开发外,他还参与作为安装的一部分的 IDS Deployment Wizard、 Configuration Wizard 和自动 DRDA 配置方面的工作。


Ranjani Bettadahalli

Ranjani 是 Common Application Development 小组的软件开发人员,专门从事 Informix Client-SDK(CSDK)方面的工作。她做过 Mac OS X 的 CSDK 的移植和增强方面的工作,目前正在研究其他平台。




对本文的评价










回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款