 | Level: Intermediate Paul-John To (pjto@us.ibm.com), IDS Install Developer, IBM Ranjani M. Bettadahalli (ranjani_bm@in.ibm.com), IDS Client-SDK Developer, IBM
21 Aug 2008 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.
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
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
- 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
Continue.
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
(IConnect).
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
more information.)
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 |
|---|
| kern.sysv.shmmax | 4398046511104 |
|---|
| kern.sysv.shmmin | 1 |
|---|
| kern.sysv.shmmni | 512 |
|---|
| kern.sysv.shmseg | 512 |
|---|
| kern.sysv.shmall | 1073741824 |
|---|
| kern.sysv.semume | 10 |
|---|
| kern.sysv.semmsl | 87381 |
|---|
| kern.sysv.semmnu | 87381 |
|---|
| kern.sysv.semmns | 87381 |
|---|
| kern.sysv.semmni | 87381 |
|---|
| kern.maxfiles | 2147483647 |
|---|
| kern.maxfilesperproc | 40000 |
|---|
| kern.maxvnodes | 150000 |
|---|
| net.inet.tcp.sendspace | 524288 |
|---|
| net.inet.tcp.recvspace | 524288 |
|---|
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
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
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
| Parameter | Value | Details |
|---|
| -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 |
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 | Description | Name | Size | Download method |
|---|
| IDS Server bundle installation on Apple Mac OS X | idsmacdemo.zip | 14MB | HTTP |
|---|
Resources Learn
Get products and technologies
Discuss
About the authors  | 
|  | Paul-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 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. |
Rate this page
|  |