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
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.
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
- Download the .dmg file to your desktop.
- Double-click the .dmg file to mount the iif.11.50 volume.
- Next, double-click the iif.11.50 volume icon.
Figure 2. Desktop .dmg file
- 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
- At the first screen of the PackageMaker installer, select
Figure 4. PackageMaker Installer
- Select Install.
Figure 5. Install
- Provide admin credentials.
Figure 6. User authentication
- IDS Bundle is extracted. After extraction, PackageMaker launches the
ISMP bundle installer.
Figure 7. PackageMaker launches ISMP
- The ISMP installer allows you to install the server and client
Software Development Kit (Client-SDK) or connection drivers
Figure 8. IDS installer ids_install is invoked through the ISMP Installer
- 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
Figure 9. Automatic configuration of kernel parameters
- When the ISMP installer finishes, the PackageMaker installer informs
you that installation succeeded.
Figure 10. 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 name||Minimum value required for IDS|
To check the value of a parameter (say, kern.sysv.shmmax), run the following command at a terminal:
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
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
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
- Start the PackageMaker installer.
- Once the ISMP installation begins, select Cancel.
- 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:
- Make a copy of bundle.ini and save it as myresponses.ini.
- Edit myresponses.ini, overwriting the default values as needed. Table 2, below, provides information on some customizable parameters:
Table 2. Customizable parameters and values
|-P installLocation||Valid Path||Where the product is to be installed to Valid path|
|-P csdk.active||True or False||Whether CSDK will be installed|
|-SW SERVER/IIF.jar setupTypes.selectedSetupTypeId||Typical or Custom||Installation type for the IDS Server|
|-SP SERVER/IIF.jar IDS-GLS.active||True or False||Whether 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
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.
|IDS Server bundle installation on Apple Mac OS X||idsmacdemo.zip||14MB|
- IDS for Mac OS X: Learn more about IDS for Mac OS X.
- developerWorks Informix Zone Find articles and tutorials, and connect to other resources to expand your Informix skills.
- IBM Informix Dynamic Server 11.5 Information Center: Learn more about Informix at the.
- developerWorks Information Management zone: Learn more about Information Management. Find technical documentation, how-to articles, education, downloads, product information, and more.
- Stay current with developerWorks technical events and webcasts.
- Technology bookstore: Browse for books on these and other technical topics.
Get products and technologies
- IDS for Mac OS X: Download the Informix Dynamic Server for the Mac OS X platform
- Informix Dynamic Server Enterprise and Developer Edition 11.5: Download a free trial version of IDS.
- Build your next development project with IBM trial software, available for download directly from developerWorks.
- Participate in the discussion forum.
- Participate in developerWorks blogs and get involved in the developerWorks community.