Demystifying the Informix Database bundle (IDS and CSDK) installation on Mac OS X

In this article, learn how to install IBM® Informix® Dynamic Server (IDS) 11.50.FC2 on Mac OS X. Understand the various stages of installation, configuring the system kernel parameters, accessing the database server, and customizing the installation for use with embedded applications.

Share:

Paul-John To (pjto@us.ibm.com), IDS Install Developer, IBM

Paul-John ToPaul-John "PJ" A. To is a Staff Software Engineer on the IDS Install Development Team. In addition to leading the implementation of the IDS installer for Mac OS X, he has worked on the IDS Deployment Wizard, Configuration Wizard, and automatic DRDA configuration as part of install.



Ranjani M. Bettadahalli (ranjani_bm@in.ibm.com), IDS Client-SDK Developer, IBM

Ranjani BettadahalliRanjani is a software developer on the Common Application Development team, specializing in Informix Client-SDK (CSDK). She worked on porting and enhancing CSDK for Mac OS X and is currently researching other platforms.



21 August 2008

Introduction

Installing IBM Informix Dynamic Server (IDS) on UNIX® has always been straightforward, enabling first-time users to have a fully-configured database within minutes. Now that the Mac OS X operating system has adopted a BSD-based kernel, UNIX and Linux® users can transition easily to it without losing familiar tools such as terminal emulation and shell scripting. As Mac OS X users prefer a rich graphical user interface experience, and also to overcome the limitation of installations using root logins, we now have IDS installer on Mac OS X, which wraps the conventional UNIX bundle installer in a PackageMaker package. PackageMaker is a native software deployment utility bundled with the Apple Developer Toolkit.

The IDS installation program for Mac OS X is a bundle installer consisting of three products:

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

The installations must always be run as root in order to change ownership of, and set the switch-user bit on, several key binaries. While running a program as root can be considered second nature for most UNIX users, the Mac OS X user community frowns upon this for several reasons:

  • Root privileges allow access to anything on the system and, when used incorrectly, can render a system unusable
  • Root log-ins are disabled by default on new OS X systems

Mac users prefer a rich GUI experience, and running the IDS installer as root involves opening a Terminal window and running sudo. The IDS installation on Mac OS X has a new design for the bundle installer using Apple PackageMaker framework, which overcomes these limitations.


Structure of the new IDS Installer on Mac OS X

The structure of the new IDS Mac OS X installer can be described as a three-layer topology, as shown in Figure 1:

Figure 1. Three-layer topology of the new installer
Three-layer topology of the new installer

Let's take a look at the three layers in depth.

The delivery vehicle: DMG

The top-most layer of the installer is a .dmg (disk image) file. Many downloadable OS X applications come as .dmg files. They are usually saved to a common location (Desktop) and double-clicked. Double-clicking a .dmg file causes the OS to mount it as a file system and open a new Finder window (analogous to the Windows Explorer on the OS X Desktop).

The facilitator: PackageMaker

Underneath the dmg layer is PackageMaker, a framework developed by Apple that has some neat features, such as:

  • The ability to graphically prompt for admin username and password
  • The ability to break software into components that can be installed separately
  • Acting as a meta installer
  • Installing into a user-specified volume (logical drive)

PackageMaker documents have the extension .pmdoc. Unlike conventional UNIX documents, PackageMaker documents are actually directories. The document contains a file list with ownership and permissions to set for the package files and directories, a manifest describing the component breakdown, and an index listing the various features and non-standard modifications. PackageMaker allows for execution of pre-install and post-install actions using shell script or Perl script. The IDS installer uses PackageMaker to determine whether the user has administrative authority on the system, to extract the installable media into /Applications/IBM/informix, and to launch ISMP.

The worker: InstallShield MultiPlatform (ISMP)

The bottom (core) layer consists of the ISMP UNIX installer with Mac OS X support enabled. It runs off the system built in Java Runtime Environment (JRE). While it is not a native OS X implementation like PackageMaker, ISMP utilizes Swing technology, providing users with a Mac-friendly user interface. The ISMP installer drives all of the primary installation logic copying the application and support files, configuring the kernel parameters, creating the informix user and group, configuring role separation, and setting up a server instance for the first time.


Installation walk-through

The easiest way to start using IDS out of the box is running the installer using the default options. Although it is possible to perform the installation without any pre- or post-installation configuration, we recommend that the target system have at least 1GB of free RAM and 1GB of free disk space. The amount of space required can be less if you do not intend to install all of the available features. Read the README file, machine notes, and release notes for any late-breaking information.

Running the installer

  1. Download the .dmg file to your desktop.
  2. Double-click the .dmg file to mount the iif.11.50 volume.
  3. Next, double-click the iif.11.50 volume icon.
    Figure 2. Desktop .dmg file
    Desktop .dmg file
  4. A Finder window opens up with a package icon. Double-click the package icon to start the installation process.
    Figure 3. Finder with the .pkg
    Finder with the .pkg
  5. At the first screen of the PackageMaker installer, select Continue.
    Figure 4. PackageMaker Installer
    PackageMaker Installer
  6. Select Install.
    Figure 5. Install
    Install
  7. Provide admin credentials.
    Figure 6. User authentication
    User authentication
  8. IDS Bundle is extracted. After extraction, PackageMaker launches the ISMP bundle installer.
    Figure 7. PackageMaker launches ISMP
    PackageMaker launches ISMP
  9. The ISMP installer allows you to install the server and client Software Development Kit (Client-SDK) or connection drivers (IConnect).
    Figure 8. IDS installer ids_install is invoked through the ISMP Installer
    IDS installer ids_install is invoked through the ISMP Installer
  10. The installer verifies that the kernel-shared memory settings are sufficient to run IDS. If any settings are determined to be too low, the installer offers to adjust the settings. By default, the installer will make the changes. However, if you want more precise control over the memory settings, you can manually edit /etc/sysctl.conf. (Refer to the "Configuring the kernel" section for more information.)
    Figure 9. Automatic configuration of kernel parameters
    Automatic configuration of kernel parameters
  11. When the ISMP installer finishes, the PackageMaker installer informs you that installation succeeded.
    Figure 10. Installation successful
    Installation successful

Configuring the kernel

The default amount of file handles and shared memory allocated to a running process is insufficient to run IBM Informix Dynamic Server on Mac OS X. The IDS installer detects whether more memory needs to be allocated and suggests that these changes be made automatically. These changes are required in /etc/sysctl.conf. If the file exists, the installer creates a backup before making the changes. If an administrator elects not to have the installer make the changes, he must manually edit /etc/sysctl.conf and set the following System V kernel parameters before IDS can be used:

Table 1. System V kernel parameter settings
Kernel setting nameMinimum value required for 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

To check the value of a parameter (say, kern.sysv.shmmax), run the following command at a terminal:

sysctl kern.sysv.shmmax

If the value is less than the required value, change it by issuing the following command at a terminal:

sysctl -w kern.sysv.shmmax=4398046511104

Additionally, to make these changes persistent, you can create or edit /etc/sysctl.conf and specify all of these settings, one on each line, in the form setting=value.


Accessing the demo server

During installation, the installer offers an option to validate the installation by creating a basic IDS server instance. The installer on Mac OS X also creates a launcher, allowing you to access a terminal window with the server environment setup and ready to use. From this terminal, you can start and stop the server, use dbaccess, and use the Client SDK. The launcher can be found under /Applications/IBM/informix/demo_on.terminal. If a server name other than demo_on is provided during installation, the name of the launcher will be server_name.terminal. Figure 11, below, shows dbaccess running inside the terminal, launched after double-clicking the ids_server.terminal icon:

Figure 11. Demo server launcher
Demo server launcher

Embedding IDS into Mac OS X products

It is not uncommon for Independent Software Vendors (ISVs) to embed IDS and Client SDK into their applications. In this section, see how to use the Mac installer to generate an embeddable installation.

Extracting the redistributable media

  1. Start the PackageMaker installer.
  2. Once the ISMP installation begins, select Cancel.
  3. The redistributable media can be found under /Applications/IBM/informix.

Customizing the media for redistribution

The bundle installer allows you to override the default installation location and disable unwanted components. To do this:

  1. Make a copy of bundle.ini and save it as myresponses.ini.
  2. Edit myresponses.ini, overwriting the default values as needed. Table 2, below, provides information on some customizable parameters:
Table 2. Customizable parameters and values
ParameterValueDetails
-P installLocationValid Path Where the product is to be installed to Valid path
-P csdk.activeTrue or FalseWhether CSDK will be installed
-SW SERVER/IIF.jar setupTypes.selectedSetupTypeIdTypical or CustomInstallation type for the IDS Server
-SP SERVER/IIF.jar IDS-GLS.activeTrue or FalseWhether Global Language Support for IDS will be installed

Embedding and running the installation non-interactively

Run the bundle installation as root, using the following command:

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

Conclusion

This article demonstrated an installer that does not require you to log in as root, does not require use of a Terminal window, and maintains full functionality of the IDS graphical install on UNIX and Linux. This is very useful for customers and developers to create a new installer based on the Package Maker framework on Mac OS X. This also allows various customers and developers to install IBM Informix Dynamic Server on Mac OS using a rich and easy-to-use GUI installer.


Download

DescriptionNameSize
IDS Server bundle installation on Apple Mac OS Xidsmacdemo.zip14MB

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Information management on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Information Management
ArticleID=332357
ArticleTitle=Demystifying the Informix Database bundle (IDS and CSDK) installation on Mac OS X
publish-date=08212008