Ingres II HOWTO
Prev |  | Next

# 3. System Requirements

In this section you will see what hardware and software requirements must be met before you can install Ingres. The ingres user, owner of the installation, makes a debut, too.

## 3.1. Hardware

The minimal hardware capable of running Ingres is:

- 486x33 processor, Pentium recommended.

- 16 Mb RAM, with 32 Mb swap space (64 Mb RAM recommended).

- 200 Mb disk space if you install everything (150 Mb will do for the SDK). You do not need to have this space in one file system: we will discuss the possibilities in the section Preparing for the Installation.

| This is the minimum recommended configuration. Ingres, like most other RDBMSs, is a fairly resource-hungry application. While your development system will probably run beatifully on a 166 MHz Pentium with 64 Mb RAM, a live system with potentially many concurrent users would require more iron.

## 3.2. Software

The following software must be present for Ingres to run:

- kernel 2.0.34 or higher.

- libcrypt.so - this library is not included in every Linux distribution. If this is the case with your system, check your distribution's Web site: they must have it somewhere.

- uncompress - certain Linux distributions (such as Caldera's Open Linux 2.2) do not contain the ncompress package. Again, check your distribution's Web site if you do not have it.

Working glibc versions:

glibc | SDK | Full Version
--- | --- | ---
glibc 2.07 (eg RedHat 5.2) | Yes. | No.
glibc 2.1 (eg RedHat 6.0) | Yes but you need the RedHat compatibility packages and an Ingres patch to be able to use the forms-based development tools. See Forms-Based Development Tools for details. | Yes.
glibc 2.1.1, 2.1.2 (eg RedHat 6.1) | No. | Yes.
glibc 2.1.3 (eg RedHat 6.2) | See glibc 2.1. | Yes.

If you are unsure of the version of your glibc, check the `/lib` directory:

    # ls -l /lib/libc*so

The output should be something like:

    -rwxr-xr-x  ...  /lib/libc-2.1.3.so

The version of my glibc is apparently 2.1.3.

| There is no guarantee that if your system meets the above requirements you will be able to install Ingres on it. Sticking to a distribution that is explicitly mentioned in the release notes of your Ingres version is the best way to avoid installation problems.

## 3.3. Kernel Parameters

The default settings of the Linux kernel are adequate for a development Ingres environment. For a live system, however, probably to increase the size of the database cache(s), you may want to change the built-in value of the `SHMMAX` parameter. This parameter sets the maximum size of a shared memory segment. By default, it is 32 Mb which allows for a somewhat lesser buffer cache.

You have two choices to change the value of `SHMMAX`:

As root, simply echo the new value into `/proc/sys/kernel/shmmax`:

    #echo 83886080 > /proc/sys/kernel/shmmax

In the example above, we set the value of `SHMMAX` to 80 Mb. The change takes effect immediately but after a reboot, the original value is restored.

The other possibility is to change `SHMMAX`'s default value in the kernel source (the relevant header file is `/usr/src/linux/include/asm/shmparam.h` if you have installed the source). In this case, you may also have to modify other parameters in the file, then rebuild the kernel. I suggest you do it only if you know what you are doing. For information on how to configure and compile the kernel see The Linux Kernel HOWTO by Brian Ward.

## 3.4. The ingres User and II_SYSTEM

We need an account called ingres to install and run Ingres. He will own the installed software and only he can perform system management tasks such as starting and stopping Ingres.

The ingres user may belong to any group. In the following example, we will create a separate group for him.

The verified (therefore, recommended) shell for the ingres user is bash. All examples in this paper apply to this shell. If you use some other shell (which is probably just as fine), take into account the differences in syntax.

The binaries, shared libraries, configuration files and other files which make up the Ingres software, will be located in a tree structure after installation. You will set the root of this tree via the shell variable `II_SYSTEM` in the environment of the ingres user (to be exact, the root directory will be `$II_SYSTEM/ingres`).

If you plan to install the whole software, either the SDK, or the full version, make sure you have the following free space under `$II_SYSTEM/ingres`:

SDK | Full Version
--- | ---
70 Mb | 90 Mb

10 Mb extra free space is needed during installation.

If this is the first time you install Ingres (I hope you start with the SDK, not a live system), I suggest you keep the whole installation (the Ingres software, databases, backups, sort areas, etc.) in one place so that you can find every component easily. If you have at least 150-200 Mb free space under `$II_SYSTEM/ingres` and you do not plan to create large databases (at least, not for some time), your system will work without problems. Should you at any later time run out of space, you will always have the possibility to relocate some of your databases to other partitions.

In the following, I will assume that `II_SYSTEM` is set to `/opt`.

Logging in as root, execute the tasks mentioned above:

    # useradd -d /opt/ingres -s /bin/bash ingres
    # chmod 755 /opt/ingres
    # passwd ingres

The useradd command creates a group with the same name as the new user if you do not specify the group on the command line. It also creates the user's home directory.

We set the home directory of ingres to `/opt/ingres` (`$II_SYSTEM/ingres`). This is not mandatory but convenient.

Finally, append the following lines to the `.bashrc` file of ingres:

    umask 022
    export II_SYSTEM=/opt
    export PATH=$II_SYSTEM/ingres/bin:$II_SYSTEM/ingres/utility:$PATH
    export LD_LIBRARY_PATH=/lib:/usr/lib:$II_SYSTEM/ingres/lib
    export ING_EDIT=/bin/vi
    if [ -n "$DISPLAY" ]
    then
    	export TERM_INGRES=vt100fx
    else
    	export TERM_INGRES=vt100f
    fi

`ING_EDIT` sets the editor that can be called from Ingres utilities or application programs. Naturally, you can use any editor, not just vi. You must, however, specify the whole access path to the program. (If you stick to vi, check if it is under `/bin`: it may be somewhere else in your system.)

| If the `EDITOR` shell variable is set, it overrides the value of `ING_EDIT`.

Setting `TERM_INGRES` is necessary for the terminal to work properly. Forms-based Ingres utilities, such as the installer itself, and also applications created with traditional Ingres development tools (ABF, Vision) make heavy use of function keys. The `.bashrc` above sets `TERM_INGRES` according to the terminal type (X, or VT100-like).

These settings must be included in the `.bashrc` file of every Ingres user.

Prev | Home | Next
Ingres |  | Preparing for the Installation