getting started on linux marion trompeter senior software engineer, informix software marion...
TRANSCRIPT
Getting Started on LinuxGetting Started on Linux
Marion TrompeterSenior Software Engineer,
Informix Software
2
useruser .conference.conferenceInformixInformix
Where to Obtain Informix ProductsWhere to Obtain Informix Products
• Download through Intraware http://www.intraware.com
• Request a CD from Jones Business Systems,Inchttp://www.jbsi.com
• In the UK, purchase directly from Linux IT http://www.linuxit.com
• Call Informix at 1-800-331-1763, or your local Informix office http://www.informix.com/informix/contact
• Download through Intraware http://www.intraware.com
• Request a CD from Jones Business Systems,Inchttp://www.jbsi.com
• In the UK, purchase directly from Linux IT http://www.linuxit.com
• Call Informix at 1-800-331-1763, or your local Informix office http://www.informix.com/informix/contact
3
useruser .conference.conferenceInformixInformix
Compatibility StatementCompatibility Statement
• Definition of the OS version• Kernel version (I.e. kernel 2.2.12)• glibc version (I.e. glibc 2.1.2)
• Informix is not supporting any specific distributor, but certain combinations of kernel and glibc versions
• With each major version change of the kernel or glibc, Informix products will be re-certified for these versions
• Definition of the OS version• Kernel version (I.e. kernel 2.2.12)• glibc version (I.e. glibc 2.1.2)
• Informix is not supporting any specific distributor, but certain combinations of kernel and glibc versions
• With each major version change of the kernel or glibc, Informix products will be re-certified for these versions
4
useruser .conference.conferenceInformixInformix
Product Availability - IntelProduct Availability - Intel
Product Version kernel glibcIDS-LE 7.30 2.0.36 2.0.7
2.2.5 2.1.1IDS.2000/Foundation.2000 9.20 2.2.5 2.1.1
9.21 2.2.12 2.1.2C-ISAM 7.24 2.2.5 2.1.1SE 7.24 2.2.5 2.1.1
5
useruser .conference.conferenceInformixInformix
Product Availability - IntelProduct Availability - Intel
Product Version kernel glibcCSDK 2.40 2.2.5 2.1.1ESQL/Cobol 7.25 2.2.5 2.1.1Web Datablade 4.10 2.2.5 2.1.1Excalibur Text 1.30 2.2.5 2.1.1Geodetic 3.00 2.2.5 2.1.1TimeSeries 3.30 2.2.5 2.1.1MAXConnext 1.00 2.2.5 2.1.1Tools (4GL, ISQL) 7.30 2.2.5 2.1.1D4GL 3.01 2.2.5 2.1.1ISA 1.20 2.2.5 2.1.1
6
useruser .conference.conferenceInformixInformix
Product Availability - OthersProduct Availability - Others
• Linux AXP (Alpha processors)• IDS.2000 9.21• kernel 2.2.13• glibc 2.1.2
• CSDK 2.50• kernel 2.2.13• glibc 2.1.2
• ISA 1.20• kernel 2.2.13• glibc 2.1.2
• Linux for S390• C-ISAM 7.24• kernel 2.2.16• glibc 2.1.3
• Linux AXP (Alpha processors)• IDS.2000 9.21• kernel 2.2.13• glibc 2.1.2
• CSDK 2.50• kernel 2.2.13• glibc 2.1.2
• ISA 1.20• kernel 2.2.13• glibc 2.1.2
• Linux for S390• C-ISAM 7.24• kernel 2.2.16• glibc 2.1.3
7
useruser .conference.conferenceInformixInformix
Unsupported Features 7.30Unsupported Features 7.30• High-End Enterprise Features:• Optical • Enterprise Replication (ER) • Back up and restore utility (ON-Bar) • Informix Storage Manager (ISM) • Parallel load utility (pload, ipload) • Communication Support Modules (CSM) • Online Simple Network Management Protocol (onsnmp) • High-Availability Data Replication (HDR) • Performance metrics monitor (Onperf) • Back up and restore at server granularity level (Onarchive)
• Other Features: • Very Large Memory (VLM; for 64-bit support) • Secure auditing (OS C2 auditing) • Pinning of a CPU VP process (Affinity) • Raw Device Support • KAIO• Disabling priority aging of CPU VP’s (no aging)
• High-End Enterprise Features:• Optical • Enterprise Replication (ER) • Back up and restore utility (ON-Bar) • Informix Storage Manager (ISM) • Parallel load utility (pload, ipload) • Communication Support Modules (CSM) • Online Simple Network Management Protocol (onsnmp) • High-Availability Data Replication (HDR) • Performance metrics monitor (Onperf) • Back up and restore at server granularity level (Onarchive)
• Other Features: • Very Large Memory (VLM; for 64-bit support) • Secure auditing (OS C2 auditing) • Pinning of a CPU VP process (Affinity) • Raw Device Support • KAIO• Disabling priority aging of CPU VP’s (no aging)
8
useruser .conference.conferenceInformixInformix
Unsupported Features 9.21Unsupported Features 9.21
• High-End Enterprise Features:• Online Simple Network Management Protocol (onsnmp) • Back up and restore at server granularity level (Onarchive)
• Other Features: • Secure auditing (OS C2 auditing) • Pinning of a CPU VP process (Affinity) • KAIO
Support of Processor Affinity and KAIO Are Planned for Kernel 2.4!
• High-End Enterprise Features:• Online Simple Network Management Protocol (onsnmp) • Back up and restore at server granularity level (Onarchive)
• Other Features: • Secure auditing (OS C2 auditing) • Pinning of a CPU VP process (Affinity) • KAIO
Support of Processor Affinity and KAIO Are Planned for Kernel 2.4!
9
useruser .conference.conferenceInformixInformix
Determining the OS VersionDetermining the OS Version
• Kernel version• uname -r
2.2.14
• glibc version• ls -l /lib/libc.so*• lrwxrwxrwx 1 root root … /lib/libc.so.6 -> libc-2.1.2.so
• rpm -qa | grep libc• glibc-2.1.2-11
• Kernel version• uname -r
2.2.14
• glibc version• ls -l /lib/libc.so*• lrwxrwxrwx 1 root root … /lib/libc.so.6 -> libc-2.1.2.so
• rpm -qa | grep libc• glibc-2.1.2-11
10
useruser .conference.conferenceInformixInformix
Distribution ExamplesDistribution Examples
• Caldera 2.4• kernel 2.2.14• glibc 2.1.2
• RedHat 7• kernel 2.2.16• glibc 2.2 (2.1.92)
• Suse 7• kernel 2.2.16• glibc 2.1.3
• TurboLinux 6.0• kernel 2.2.14• glibc 2.1.2
• Caldera 2.4• kernel 2.2.14• glibc 2.1.2
• RedHat 7• kernel 2.2.16• glibc 2.2 (2.1.92)
• Suse 7• kernel 2.2.16• glibc 2.1.3
• TurboLinux 6.0• kernel 2.2.14• glibc 2.1.2
11
useruser .conference.conferenceInformixInformix
Installing Foundation.2000Installing Foundation.2000
• Setting the environment• INFORMIXDIR• default: /opt/informix
• Installation command• rpm -I <filename>
• Installation to different $INFORMIXDIR• rpm -I --relocate /opt/informix=$INFORMIXDIR \
<filename>
• Setting the environment• INFORMIXDIR• default: /opt/informix
• Installation command• rpm -I <filename>
• Installation to different $INFORMIXDIR• rpm -I --relocate /opt/informix=$INFORMIXDIR \
<filename>
12
useruser .conference.conferenceInformixInformix
Limitations of RPMLimitations of RPM
• Each product should be installed only once per machine
• Parallel test and production systems
• Different products installed in the same directory can only have each file name once
• CSDK on top of database server
• To use graphical tools, user interaction and environment variables should be avoided
• $INFORMIXDIR• Licensing
• Each product should be installed only once per machine
• Parallel test and production systems
• Different products installed in the same directory can only have each file name once
• CSDK on top of database server
• To use graphical tools, user interaction and environment variables should be avoided
• $INFORMIXDIR• Licensing
13
useruser .conference.conferenceInformixInformix
Installation ProceduresInstallation ProceduresProduct Installation MethodC-ISAMSEIDS-LE 7.30
Copying files intodestination directoryusing RPM.Installation scriptneeds to be runafterwards.
CSDK/ConnectIDS.2000IIF.2000DataBlades
Complete installationwith RPM.$INFORMIXDIRneeds to be set priorto installation.
ISAISQL4GLD4GL
‘Classic’ installation,using cpio or tar andinstallation script.Same on allplatforms.
14
useruser .conference.conferenceInformixInformix
Installation FAQ’sInstallation FAQ’s
• rpm -i csdk240uc1.rpm returns /opt/informix/bin/chkenv conflicts with file from IIF-9.20.UC1-1...• The error is due to the RPM attempting to replace
the existing files with different checksum.• Use --replacefiles or -- force option
• rpm -i csdk230uc1.rpm returns error:
failed dependencies:
libifgls.so is needed by iconn-2.30.UC1-1
libifglx.so is needed by iconn-2.30.UC1-1• Use --nodeps option
• rpm -i csdk240uc1.rpm returns /opt/informix/bin/chkenv conflicts with file from IIF-9.20.UC1-1...• The error is due to the RPM attempting to replace
the existing files with different checksum.• Use --replacefiles or -- force option
• rpm -i csdk230uc1.rpm returns error:
failed dependencies:
libifgls.so is needed by iconn-2.30.UC1-1
libifglx.so is needed by iconn-2.30.UC1-1• Use --nodeps option
15
useruser .conference.conferenceInformixInformix
Installation FAQ’sInstallation FAQ’s
• Message during installation
"To complete the installation of Informix Dynamic Server 2000, run RUN_AS_ROOT.server as root.”• Disregard the message. Installation continues
automatically. Later message is indicating this: "Performing root portion of installation of Informix Dynamic Server 2000..."
• Message during installation
"To complete the installation of Informix Dynamic Server 2000, run RUN_AS_ROOT.server as root.”• Disregard the message. Installation continues
automatically. Later message is indicating this: "Performing root portion of installation of Informix Dynamic Server 2000..."
16
useruser .conference.conferenceInformixInformix
Setting Up Raw DevicesSetting Up Raw Devices
• Create a partition• fdisk• Disk Druid (RedHat)• YaST/YaST2
• Partition type 83 (Linux native)
• Not referenced in fstab, no filesystem
• Bind a raw device to a block device using the command “raw”• raw /dev/raw/raw1 /dev/sda10
• Binding will be lost with next re-boot• add command to startup scripts (/etc/rc.d)
• Change owner to informix.informix
• Change permissions to 660
• Create a partition• fdisk• Disk Druid (RedHat)• YaST/YaST2
• Partition type 83 (Linux native)
• Not referenced in fstab, no filesystem
• Bind a raw device to a block device using the command “raw”• raw /dev/raw/raw1 /dev/sda10
• Binding will be lost with next re-boot• add command to startup scripts (/etc/rc.d)
• Change owner to informix.informix
• Change permissions to 660
17
useruser .conference.conferenceInformixInformix
Krakatoa Setup - 9.21Krakatoa Setup - 9.21
• Bundled JRE 1.2.2 package is available under $INFORMIXDIR/extend/krakatoa/jre to be used with J/Foundation
• setenv JVPJAVAHOME $INFORMIXDIR/extend/krakatoa/jre
• To get the JRE shared libraries loaded properly:• 1. add the following lines at the end of
/etc/ld.so.conf<$INFORMIXDIR>/extend/krakatoa/jre/lib/i386<$INFORMIXDIR>/extend/krakatoa/jre/lib/i386/native_threads<$INFORMIXDIR>/extend/krakatoa/jre/lib/i386/classic
• 2. run ldconfig as root• # ldconfig
• Bundled JRE 1.2.2 package is available under $INFORMIXDIR/extend/krakatoa/jre to be used with J/Foundation
• setenv JVPJAVAHOME $INFORMIXDIR/extend/krakatoa/jre
• To get the JRE shared libraries loaded properly:• 1. add the following lines at the end of
/etc/ld.so.conf<$INFORMIXDIR>/extend/krakatoa/jre/lib/i386<$INFORMIXDIR>/extend/krakatoa/jre/lib/i386/native_threads<$INFORMIXDIR>/extend/krakatoa/jre/lib/i386/classic
• 2. run ldconfig as root• # ldconfig
18
useruser .conference.conferenceInformixInformix
Krakatoa Setup - 9.21Krakatoa Setup - 9.21• Server onconfig Settings for J/Foundation• VPCLASS jvp,num=number
where 'number' is the number of Java Virtual Processors
• JVPHOME <jvphome>where <jvphome> is $INFORMIXDIR/extend/krakatoa
• JVPLOGFILE <jvphome>/jvp.log• JVPPROPFILE <jvphome>/.jvpprops• JVPJAVAVM hpi:jvm:java:net:zip:jpeg• JDKVERSION 1.2• JVMTHREAD native• JVPJAVAHOME <jvphome>/jre• JVPJAVALIB /lib/i386• JVPCLASSPATH
<jvphome>/krakatoa.jar:<jvphome>/jdbc.jar
• Server onconfig Settings for J/Foundation• VPCLASS jvp,num=number
where 'number' is the number of Java Virtual Processors
• JVPHOME <jvphome>where <jvphome> is $INFORMIXDIR/extend/krakatoa
• JVPLOGFILE <jvphome>/jvp.log• JVPPROPFILE <jvphome>/.jvpprops• JVPJAVAVM hpi:jvm:java:net:zip:jpeg• JDKVERSION 1.2• JVMTHREAD native• JVPJAVAHOME <jvphome>/jre• JVPJAVALIB /lib/i386• JVPCLASSPATH
<jvphome>/krakatoa.jar:<jvphome>/jdbc.jar
19
useruser .conference.conferenceInformixInformix
Kernel ParametersKernel Parameters
• Files• NR_OPEN
number of open files per process
• NR_FILEnumber of open files system wide
• Semaphores• SEMMNI
number of semaphore identifiers in the kernel
• SEMMSLmaximum number of semaphores per identifier list
• Files• NR_OPEN
number of open files per process
• NR_FILEnumber of open files system wide
• Semaphores• SEMMNI
number of semaphore identifiers in the kernel
• SEMMSLmaximum number of semaphores per identifier list
20
useruser .conference.conferenceInformixInformix
Kernel ParametersKernel Parameters
• Shared Memory• SHMALL
maximum total shared memory system wide
• SHMMNImaximum number of shared memory segments system wide
• SHMSEGnumber of attached shared memory segments per process
• SHMMAXmaximum shared memory segment size
• Shared Memory• SHMALL
maximum total shared memory system wide
• SHMMNImaximum number of shared memory segments system wide
• SHMSEGnumber of attached shared memory segments per process
• SHMMAXmaximum shared memory segment size
21
useruser .conference.conferenceInformixInformix
/proc/proc
• Pseudo file system
• internal data structures
• change kernel parameters at run time
• /proc/sys - tunable kernel parameters
• For permanent changes, parameter changes must be added to the system startup scripts /etc/rc.d
• Pseudo file system
• internal data structures
• change kernel parameters at run time
• /proc/sys - tunable kernel parameters
• For permanent changes, parameter changes must be added to the system startup scripts /etc/rc.d
22
useruser .conference.conferenceInformixInformix
/proc/sys/proc/sys
• Files• /proc/sys/fs/file-max
maximum number of file handles
• /proc/sys/fs/file-nrnumber of allocated file handles, number of used file
handles, and maximum number of file handles
• Memory• /proc/sys/kernel/shmall
maximum shared memory system wide (pages)
• /proc/sys/kernel/shmmaxmaximum shared memory segment size (bytes)
• Files• /proc/sys/fs/file-max
maximum number of file handles
• /proc/sys/fs/file-nrnumber of allocated file handles, number of used file
handles, and maximum number of file handles
• Memory• /proc/sys/kernel/shmall
maximum shared memory system wide (pages)
• /proc/sys/kernel/shmmaxmaximum shared memory segment size (bytes)
23
useruser .conference.conferenceInformixInformix
Kernel ParametersKernel Parameters
• Files
• /usr/src/linux/include/linux/limits.h• OPEN_MAX• NR_OPEN
• /usr/src/linux/include/linux/fs.h• NR_OPEN• NR_FILE
• /usr/src/linux/include/linux/posix_types.h• __FD_SETSIZE
• /usr/include/linux
• Files
• /usr/src/linux/include/linux/limits.h• OPEN_MAX• NR_OPEN
• /usr/src/linux/include/linux/fs.h• NR_OPEN• NR_FILE
• /usr/src/linux/include/linux/posix_types.h• __FD_SETSIZE
• /usr/include/linux
Review your kernel source before implementing changes - kernel source differs between versions!
24
useruser .conference.conferenceInformixInformix
Kernel ParametersKernel Parameters
• Semaphores• /usr/src/linux/include/linux/sem.h• SEMMNI• SEMMSL (<=512)
• Shared Memory• /usr/src/linux/include/asm-i386/shmparam.h• SHMALL• SHMMNI• SHMSEG• SHMMAX
• Semaphores• /usr/src/linux/include/linux/sem.h• SEMMNI• SEMMSL (<=512)
• Shared Memory• /usr/src/linux/include/asm-i386/shmparam.h• SHMALL• SHMMNI• SHMSEG• SHMMAX
25
useruser .conference.conferenceInformixInformix
Building a KernelBuilding a Kernel
• Configuration• make config
command-line
• make menuconfigmenu-driven,hierarchical structure
• make xconfigX Windows, hierarchical structure
• Configuration• make config
command-line
• make menuconfigmenu-driven,hierarchical structure
• make xconfigX Windows, hierarchical structure
26
useruser .conference.conferenceInformixInformix
Building a KernelBuilding a Kernel
• Compilation• make dep
prepares dependencies
• make cleanremoves old objects
• make bzImage builds compressed image of the kernel
• make modulesbuilds device driver modules
• Compilation• make dep
prepares dependencies
• make cleanremoves old objects
• make bzImage builds compressed image of the kernel
• make modulesbuilds device driver modules
27
useruser .conference.conferenceInformixInformix
Building a KernelBuilding a Kernel
• Testing• boot floppy• fdformat /dev/fd0H1440• make bzdisk
• /etc/lilo.conf - /sbin/lilo• image = /boot/vmlinuz.new• label = linux.new• root = /dev/hda1
• Testing• boot floppy• fdformat /dev/fd0H1440• make bzdisk
• /etc/lilo.conf - /sbin/lilo• image = /boot/vmlinuz.new• label = linux.new• root = /dev/hda1
28
useruser .conference.conferenceInformixInformix
Building a KernelBuilding a Kernel
• Installing• Modules• mv /lib/modules /lib/modules.sv• make modules_install
• Kernel• mv /vmlinuz /vmlinuz.sv• make install
• Lilo• add entry for saved kernel• /sbin/lilo
• Installing• Modules• mv /lib/modules /lib/modules.sv• make modules_install
• Kernel• mv /vmlinuz /vmlinuz.sv• make install
• Lilo• add entry for saved kernel• /sbin/lilo
29
useruser .conference.conferenceInformixInformix
FAQ’sFAQ’s
• Which protocol are supported on Linux?• Due to technical restrictions in Linux, the
protocols currently supported are• Shared Memory - onipcshm• Berkley Sockets - onsoctcp
• Which protocol are supported on Linux?• Due to technical restrictions in Linux, the
protocols currently supported are• Shared Memory - onipcshm• Berkley Sockets - onsoctcp