From c4b1388cc868c297e4b17fe261f3baac9d63ade2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zolt=C3=A1n=20Felleg?= Date: Fri, 1 Dec 2023 20:52:57 +0100 Subject: [PATCH] Added db2.in. --- .../db2.in/c3d/firstboot/data/chpasswd.data | 2 + .../db2.in/c3d/firstboot/data/db2server.rsp | 938 ++++++++++++++++++ .../firstboot/scripts/01_setupnetworking.sh | 85 ++ .../c3d/firstboot/scripts/02_settimezone.sh | 17 + .../c3d/firstboot/scripts/03_addusers.sh | 17 + .../c3d/firstboot/scripts/10_installdb2.sh | 8 + .../c3d/firstboot/scripts/20_setupdb2.sh | 9 + .../c3d/firstboot/scripts/90_setupservices.sh | 10 + sources/db2.in/c3d/mode.txt | 7 + sources/db2.in/c3d/owner.txt | 1 + .../install-data/etc/ssh/ssh_host_ed25519_key | 7 + .../etc/ssh/ssh_host_ed25519_key-cert.pub | 1 + .../etc/ssh/ssh_host_ed25519_key.pub | 1 + .../etc/ssh/sshd_config.d/99-host-cert.conf | 1 + .../etc/ssh/sshd_config.d/99-user-CA.conf | 1 + .../install-data/etc/ssh/trusted-user-ca.keys | 1 + .../usr/local/bin/catalog-objects.sh | 119 +++ .../usr/local/bin/list-objects.sh | 20 + sources/db2.in/c3d/postinstall/scp/copy.list | 2 + .../postinstall/scripts/10_setupservices.sh | 6 + sources/db2.in/c3d/postinstall/ssh/run.list | 2 + sources/db2.in/config | 26 + sources/db2.in/envvars | 21 + 23 files changed, 1302 insertions(+) create mode 100644 sources/db2.in/c3d/firstboot/data/chpasswd.data create mode 100644 sources/db2.in/c3d/firstboot/data/db2server.rsp create mode 100755 sources/db2.in/c3d/firstboot/scripts/01_setupnetworking.sh create mode 100755 sources/db2.in/c3d/firstboot/scripts/02_settimezone.sh create mode 100755 sources/db2.in/c3d/firstboot/scripts/03_addusers.sh create mode 100755 sources/db2.in/c3d/firstboot/scripts/10_installdb2.sh create mode 100755 sources/db2.in/c3d/firstboot/scripts/20_setupdb2.sh create mode 100755 sources/db2.in/c3d/firstboot/scripts/90_setupservices.sh create mode 100644 sources/db2.in/c3d/mode.txt create mode 100644 sources/db2.in/c3d/owner.txt create mode 100644 sources/db2.in/c3d/postinstall/install-data/etc/ssh/ssh_host_ed25519_key create mode 100644 sources/db2.in/c3d/postinstall/install-data/etc/ssh/ssh_host_ed25519_key-cert.pub create mode 100644 sources/db2.in/c3d/postinstall/install-data/etc/ssh/ssh_host_ed25519_key.pub create mode 100644 sources/db2.in/c3d/postinstall/install-data/etc/ssh/sshd_config.d/99-host-cert.conf create mode 100644 sources/db2.in/c3d/postinstall/install-data/etc/ssh/sshd_config.d/99-user-CA.conf create mode 100644 sources/db2.in/c3d/postinstall/install-data/etc/ssh/trusted-user-ca.keys create mode 100755 sources/db2.in/c3d/postinstall/install-data/usr/local/bin/catalog-objects.sh create mode 100755 sources/db2.in/c3d/postinstall/install-data/usr/local/bin/list-objects.sh create mode 100644 sources/db2.in/c3d/postinstall/scp/copy.list create mode 100755 sources/db2.in/c3d/postinstall/scripts/10_setupservices.sh create mode 100644 sources/db2.in/c3d/postinstall/ssh/run.list create mode 100644 sources/db2.in/config create mode 100644 sources/db2.in/envvars diff --git a/sources/db2.in/c3d/firstboot/data/chpasswd.data b/sources/db2.in/c3d/firstboot/data/chpasswd.data new file mode 100644 index 0000000..0331525 --- /dev/null +++ b/sources/db2.in/c3d/firstboot/data/chpasswd.data @@ -0,0 +1,2 @@ +db2admin:Passw@rd01 +db2fncd:Passw@rd01 diff --git a/sources/db2.in/c3d/firstboot/data/db2server.rsp b/sources/db2.in/c3d/firstboot/data/db2server.rsp new file mode 100644 index 0000000..517044e --- /dev/null +++ b/sources/db2.in/c3d/firstboot/data/db2server.rsp @@ -0,0 +1,938 @@ +** ============================================================================ +** +** Sample response file for IBM DB2 +** -------------------------------- +** To select features and settings to install, uncomment the corresponding +** keywords and specify values for those keywords. You do not need to select +** features if you select the TYPICAL or COMPACT installation options. +** +** Comments are made by placing either an asterisk (*) or a hash symbol (#) at +** the start of a line, or by placing ** or ## after the start of a line to +** comment out the rest of that line. +** All keywords that are currently uncommented (not preceded by * or #) are +** mandatory and must be assigned values for the installation to continue. +** All other keywords are optional. If optional keywords are not specified, +** the installation will proceed using default values. Lines that start out +** with two asterisks are documentation and should not be enabled. +** +** For more information on creating or configuring an ESE instance with the +** DB2 pureScale Feature, see "Installing the +** IBM DB2 pureScale feature for DB2 Server Edition +** using a response file" in the DB2 Information Center. +** For more information on configuration parameters, see "Configuring the DB2 database manager with +** configuration parameters" in the DB2 Information Center. +** +** For more information on DB2 registry and environment variables, and configuration +** parameters, see "DB2 registry and environment variables" in the DB2 Information Center. +** +** For more information on how to perform a response file installation, see +** "Response file considerations" in the DB2 Information Center. +** +** Refer to the DB2 Information Center at: +** https://www-01.ibm.com/support/knowledgecenter/SSEPGG_11.5.8/com.ibm.db2.luw.kc.doc/welcome.html +** +** ============================================================================ +** General Options +** --------------- + +** Only one product can be specified for the following PROD keyword. Specifying +** multiple products in an installation is not supported. +PROD = DB2_SERVER_EDITION + +** The FILE keyword determines the base installation path. If you specify a +** path that does not yet have this product, this will install a new copy. If +** you specify a path that has this product, this will be considered an +** existing installation intended to install additional functionality. This is +** a mandatory keyword for root installation. Remove this keyword for non-root +** installation. If not removed, its value must be $HOME/sqllib where $HOME +** represents the HOME directory of the non-root user ID that owns the non-root +** installation. +FILE = /opt/ibm/db2/V11.5 + +** Modify the value of the following LIC_AGREEMENT keyword to indicate that you +** have read and agreed to the license agreement file in the db2/license +** directory. +LIC_AGREEMENT = ACCEPT ** ACCEPT or DECLINE + +** If an interactive type is set, db2setup will prompt for CD locations and +** give feedback as to progress, otherwise nothing will be displayed until the +** installation is complete. +*INTERACTIVE = NONE ** NONE, YES, MACHINE + +** The CONFIG_ONLY keyword is used to specify that the response file is being +** used for creating or configuring an instance, and nothing is to be +** installed. This keyword must be set to YES if a response file is used with +** db2isetup. +*CONFIG_ONLY = ** YES or NO + +** INSTALL_TYPE keyword is used to select the installation type. If you specify +** a TYPICAL or a COMPACT install type, no COMP keywords are required. In this +** case the installer will select the appropriate components for you. All COMP +** keywords are ignored by the installer unless the INSTALL_TYPE is set to +** CUSTOM. If you select the CUSTOM install type, then ensure that you enable +** all of the COMP keywords that are required for your database environment. +** +** Note: The install type is not related to the language selection. +** ---------------------------------------------------------------------------- +INSTALL_TYPE = CUSTOM ** TYPICAL, COMPACT, CUSTOM + +** The following components are part of all TYPICAL installations. If you +** perform a typical installation, all of these components will be installed on +** your computer. +** ---------------------------------------------------------------------------- + +** DB2 Advanced Copy Services help protect mission-critical data that requires +** 24x7 availability. It offers an integrated solution designed to implement +** high-efficiency backup and restore processes and helps eliminate +** backup-related performance issues. +*COMP = ACS ** Integrated Flash Copy Support + +** Provides federated support required to access DB2 for iSeries and DB2 for +** z/OS and OS/390 data sources. +*COMP = DB2_DATA_SOURCE_SUPPORT ** DB2 data source support + +** Sample database source provides sample data and metadata that allows you to +** create a sample database using the First Steps application. +COMP = DB2_SAMPLE_DATABASE ** Sample database source + +** Enables users and applications with Federated Data Source Access +*COMP = FED_DATA_SOURCE_SUPPORT ** Federated Data Access Support + +** First Steps is a graphical tool that will help familiarize you with DB2 +** features and functions. +*COMP = FIRST_STEPS ** First Steps + +** Guardium Installation Manager Client component will place the Guardium +** Installation Manager(GIM) Client under DB2 Install Path. +*COMP = GUARDIUM_INST_MNGR_CLIENT ** Guardium Installation Manager Client + +** The DB2 Instance Setup wizard is a Java-based tool you can use to set up +** instances on your computer after installing DB2. +COMP = INSTANCE_SETUP_SUPPORT ** DB2 Instance Setup wizard + +** LDAP Exploitation allows DB2 to use an LDAP directory to store database +** directory and configuration information. +*COMP = LDAP_EXPLOITATION ** DB2 LDAP support + +** Pacemaker is an open-source, high availability cluster manager software +** integrated on Linux. +*COMP = PCMK ** Pacemaker + +** IBM Tivoli System Automation for Multiplatforms provides high availability +** and disaster recovery capabilities for AIX, Linux, Solaris SPARC, and +** Windows. +** If this component is selected, it will either be installed, updated or +** upgraded by the DB2 installer. Use COMP=TSAMP only if you are running as +** root user. +*COMP = TSAMP ** Tivoli SA MP + + +** The following components are not part of TYPICAL installations, and thus can +** only be installed through CUSTOM installs. +** ---------------------------------------------------------------------------- + +** The base application development tools component contains tools and files +** (including header files, libraries, and a precompiler) that are needed for +** developing applications that work with DB2. +COMP = APPLICATION_DEVELOPMENT_TOOLS ** Base application development tools + +** A scalable, highly-available, high performance file system optimized for +** multi-petabyte storage management. +** If this component is selected, it will either be installed, updated or +** upgraded by the DB2 installer. Use COMP=GPFS only if you are running as +** root user. +*COMP = GPFS ** General Parallel File System (GPFS) + +** Application data sources use an application to access the underlying +** nonrelational data. The raw data can be in a number of standard and +** nonstandard formats. +*COMP = IINR_APPLICATIONS_WRAPPER ** Application data sources + +** Scientific data sources are developed exclusively for the life sciences +** industry, such as those containing genomic, proteomic, bioinformatic, and +** cheminformatic information. +*COMP = IINR_SCIENTIFIC_WRAPPER ** Scientific Data Sources + +** Structured file data sources contain nonrelational data stored in files with +** a defined, repeatable structure. +*COMP = IINR_STRUCTURED_FILES_WRAPPER ** Structured file data sources + +** Enables users and applications to submit distributed requests for data +** managed by Informix systems. +** This feature is only installed and not configured when the PURESCALE feature +** is selected for installation. +*COMP = INFORMIX_DATA_SOURCE_SUPPORT ** Informix data source support + +** Enables users and applications to submit distributed requests through JDBC +** for data managed by DBMS. +COMP = JDBC_DATA_SOURCE_SUPPORT ** JDBC data source support + +** Enables users and applications to submit distributed requests for data +** stored in any data source that supports ODBC and X/Open CLI compliant +** drivers. +COMP = ODBC_DATA_SOURCE_SUPPORT ** ODBC data source support + +** Enables users and applications to submit distributed requests for data +** managed by Oracle systems. +*COMP = ORACLE_DATA_SOURCE_SUPPORT ** Oracle data source support + +** The IBM DB2 pureScale Feature provides clustering technology to DB2 products +** on distributed platforms. +** Selecting the PURESCALE feature will automatically install every other +** required component. See the DB2 Information Center for more information on +** the pre-installation planning and prerequisites needed for a successful IBM +** DB2 pureScale installation and instance setup. Use COMP=PURESCALE only if +** you are running as root user. +*COMP = PURESCALE ** IBM DB2 pureScale Feature + +** Spatial Extender client contains the support required for communicating with +** a Spatial Extender server. +*COMP = SPATIAL_EXTENDER_CLIENT_SUPPORT ** Spatial Extender client + +** Provides Spatial Extender support for the DB2 server, providing the storing +** and query of geographical information in DB2 tables. +*COMP = SPATIAL_EXTENDER_SERVER_SUPPORT ** Spatial Extender server support + +** Enables users and applications to submit distributed requests for data +** managed by Microsoft SQL Server systems. +*COMP = SQL_SERVER_DATA_SOURCE_SUPPORT ** SQL Server data source support + +** Enables users and applications to submit distributed requests for data +** managed by Sybase systems. +*COMP = SYBASE_DATA_SOURCE_SUPPORT ** Sybase data source support + +** Enables users and applications to submit distributed requests for data +** managed by Teradata systems. +*COMP = TERADATA_DATA_SOURCE_SUPPORT ** Teradata data source support + +** The DB2 Text Search component, powered by OmniFind, delivers an integrated, +** high quality and scalable search technology in DB2 databases. +** This feature is only installed and not configured when the PURESCALE feature +** is selected for installation. +*COMP = TEXT_SEARCH ** DB2 Text Search + +** The following languages apply to all translated components. Enable the +** language(s) you want installed. If you do not enable any language keywords, +** then the English language (EN) will still be installed by default. +** --------------------------------------------------------------------------- +*LANG = BR ** Portuguese - Brazil (pt_BR) +*LANG = CN ** Simplified Chinese (zh_CN) +*LANG = CZ ** Czech (cs_CZ) +*LANG = DE ** German (de_DE) +*LANG = ES ** Spanish (es_ES) +*LANG = FR ** French (fr_FR) +*LANG = IT ** Italian (it_IT) +*LANG = JP ** Japanese (ja_JP) +*LANG = KR ** Korean (ko_KR) +*LANG = PL ** Polish (pl_PL) +*LANG = RU ** Russian (ru_RU) +*LANG = TW ** Traditional Chinese (zh_TW) + + +** (Valid for non-root upgrade only) Upgrade Older Release +** ------------------------------------------------------- +** Specify whether you want to upgrade any previous versions of the product. +** Specifying this keyword will remove any previous version and upgrade any +** settings to the new installation. Be aware that during upgrade of the +** current copy, only the product specified in the response file will be +** installed. Other previously installed products need to be upgraded +** separately following this upgrade. +*UPGRADE_PRIOR_VERSIONS = FALSE ** TRUE or FALSE + +** IBM DB2 pureScale Feature Host Information +** ------------------------------------------ +** Specify the hosts to which the DB2 product is to be installed. This section +** must always list the installation initiating host. Do no specify any +** keywords in this section if you are not installing the IBM DB2 pureScale +** Feature. Ensure that password-less ssh root access is available on all hosts +** and between all hosts. + +** The HOST keyword is used to specify a host identifier for one set of host +** keys. This keyword is mandatory if you are installing the IBM DB2 pureScale +** Feature. +*HOST = host1 ** char(14) no spaces + +** Use the HOSTNAME keyword with the host identifier prefix to identify the +** name of the host. A host can be a physical machine or LPAR, on which a DB2 +** member or a cluster caching facility will run. If an alias or IP address is +** provided, the installer will attempt to convert it to a canonical hostname +** prior to instance creation. The host name must be a unique host name across +** the network. The following formats are accepted: long name (for example, +** host1.ibm.com), short name (for example, host1), IP address (IPv4: +** xxx.xxx.xxx.xxx). This keyword is mandatory if you have specified the HOST +** keyword. +*host1.HOSTNAME = ** char(255) no spaces + +** The CLUSTER_INTERCONNECT_NETNAME keyword is used to specify the name of a +** high speed interconnect name that corresponds to a high speed adapter name. +** Refer to the DB2 Information Center for valid types of high speed adapters. +** This keyword is mandatory if you have specified the HOST keyword. +*host1.CLUSTER_INTERCONNECT_NETNAME = ** char(255) no spaces + + +*HOST = host2 ** char(14) no spaces +*host2.HOSTNAME = ** char(255) no spaces +*host2.CLUSTER_INTERCONNECT_NETNAME = ** char(255) no spaces + +** Instance Creation Settings +** -------------------------- +** User IDs managed by NIS/NIS+ are not supported. If an existing user ID is +** used, make sure it is not locked and its password has not expired. + +** Prefix name of one instance set. To create or update an instance, one set of +** instance keywords must be specified. The instance set is comprised of the +** identifying prefix value for the INSTANCE key followed by the keys that are +** prefixed by the specified INSTANCE prefix value. If you are creating a DSF +** instance you can only specify one instance at a time in this response file. +** Note: DSF is the instance type for a IBM DB2 pureScale instance. If you are +** not creating a DSF instance, then multiple instances can be specified for +** creation or update in this response file. +INSTANCE = DB2_INST ** char(8) no spaces + +** Real name of the instance, and also the user ID of instance owner. It can be +** different from the value of the INSTANCE keyword. If an existing ID is +** specified for the instance's NAME keyword, make sure the user ID exists on +** all the participating hosts with the same UID, GID, corresponding group +** name, user name and user home directory. Ensure that existing user IDs are +** not locked and that the password has not expired. IBM DB2 pureScale Feature +** users must specify a name that is unique across the IBM DB2 pureScale +** implementation. +DB2_INST.NAME = db2admin ** char(8) no spaces, no upper case letters + +** The UID will be generated if the keyword is not specified - highly +** recommended. +*DB2_INST.UID = ** Unsigned integer +DB2_INST.GROUP_NAME = db2grp ** char(30) no spaces + +** Use a generated GID if no value provided - highly recommended. +*DB2_INST.GID = ** Unsigned integer +*DB2_INST.HOME_DIRECTORY = ** char(64) no spaces. Valid for root installation only +*DB2_INST.PASSWORD = Passw@rd01 ** Valid for root installation only + +** If PURESCALE is selected or installed, the default instance type will be +** DSF. +DB2_INST.TYPE = ESE ** DSF ESE WSE STANDALONE CLIENT + +** Set the instance to be auto-started after system reboot. The AUTOSTART +** keyword can only be used by a root installation and only a non-pureScale +** instance type. This keyword is invalid for non-root installation. This +** keyword cannot be used for DSF instance type. +DB2_INST.AUTOSTART = YES ** YES or NO + +** The START_DURING_INSTALL keyword will start the instance during the +** installation. If this keyword is not specified, the behavior follows the +** AUTOSTART keyword above. +DB2_INST.START_DURING_INSTALL = YES ** YES or NO. Default is YES. +*DB2_INST.SVCENAME = db2c_db2inst1 ** BLANK or char(14). Reserved for root installation only +DB2_INST.PORT_NUMBER = 50000 ** 1024 - 65535, Reserved for root installation only + +** The ports in range [FCM_PORT_NUMBER, FCM_PORT_NUMBER+MAX_LOGICAL_NODES] are +** reserved during the installation. Valid for root installation only. If your +** instance type is DSF, the ports in range [FCM_PORT_NUMBER, +** FCM_PORTNUMBER+MAX_LOGICAL_NODES+3] is reserved. The ports have to be +** continuous and identical on all the participating hosts. +*DB2_INST.FCM_PORT_NUMBER = 20000 ** 1024 - 65535, the beginning port number. +*DB2_INST.MAX_LOGICAL_NODES = ** 1 - 128 for DSF instances or 1 - 199 for ESE instances. It is a maximum number of logical members to be used on one member host. Valid for root installation only. + +** The DB2CF_PORT_NUMBER and the DB2CF_MGMT_PORT_NUMBER are to be reserved for +** the cluster caching facility (CF). As the CF is an instance designation, the +** port names will be pre-defined based on the name of the instance. Example: +** Where the instance name is db2sdin1, the names required for the CF ports +** will be DB2CF_db2inst1 and DB2CF_db2inst1_MGMT. Ensure that all the port +** names are the same on all the participating hosts. The two CF ports must be +** available on all the participating hosts. If you want the installer to +** generate these values, leave them commented out. +*DB2_INST.DB2CF_PORT_NUMBER = 56001 ** 1024 - 65535. +*DB2_INST.DB2CF_MGMT_PORT_NUMBER = 56000 ** 1024 - 65535. + +** The PREFERRED_PRIMARY_CF is used to specify the preferred primary cluster +** caching facility needed to create a new IBM DB2 pureScale instance. This +** keyword is mandatory if you are creating a new IBM DB2 pureScale instance. +** The value provided must match the value of any HOST keyword specified in +** this response file. If you are extending an instance, this keyword should be +** commented out. +*DB2_INST.PREFERRED_PRIMARY_CF = ** a host identifier, char(14) + +** The PREFERRED_SECONDARY_CF is used to specify the preferred secondary +** cluster caching facility for the IBM DB2 pureScale instance. The value +** provided must match the value of any HOST keyword specified in this response +** file. This host identifier should be specified in any HOST section. +*DB2_INST.PREFERRED_SECONDARY_CF = ** a host identifier, char(14) + +** The MEMBER keyword is required if you are creating a new IBM DB2 pureScale +** instance. The value provided must match the value of any HOST keyword +** specified in this response file. Specify more MEMBER keywords so that each +** new host is defined in this response file as either a DB2 member or a +** cluster caching facility (CF host, see above). +*DB2_INST.MEMBER = ** a host identifier, char(14) +*DB2_INST.CLIENT_IMPORT_PROFILE = ** a full path or a file in the same directory as the response file + +** Do not set FEDERATED if you are creating or configuring a DSF instance. +*DB2_INST.FEDERATED = ** YES or NO + +** Do not set INFORMIX_CLIENT_HOME if you are creating or configuring a DSF +** instance. +*DB2_INST.INFORMIX_CLIENT_HOME = BLANK ** BLANK, char(1023) + +** Do not set INFORMIX_SERVER_HOME if you are creating or configuring a DSF +** instance. +*DB2_INST.INFORMIX_SERVER_HOME = BLANK ** BLANK, char(1023) +*DB2_INST.ORACLE_HOME = ** any valid path , char(64) no spaces +*DB2_INST.SYBASE_HOME = ** any valid path, char(1023) +*DB2_INST.SYBASE_OCS = ** valid SYBASE_OCS directory name, char(1023) +*DB2_INST.SQLSERVER_ODBC_LIB_PATH = ** the full path name where libodbc file is in, char(1023) +*DB2_INST.SQLSERVER_ODBC_INI_PATH = ** the full path name of .odbc.ini file including the file name, char(1023) +*DB2_INST.TERADATA_CLI_PATH = ** the full path name to libcliv2.so library +*DB2_INST.TERADATA_ERRMSG_PATH = ** the full path name to errmsg.txt error message file +*DB2_INST.AUTHENTICATION = SERVER ** CLIENT, SERVER, or SERVER_ENCRYPT + +** An existing user ID should be specified for DB2SSHID_USERNAME keyword, make +** sure the user ID exists on all the participating hosts with the same UID, +** GID, corresponding group name, user name and user home directory. Ensure +** that existing user IDs are not locked and that the password has not expired. +** IBM DB2 pureScale Feature users must specify a name that is unique across +** the IBM DB2 pureScale implementation. +*DB2_INST.DB2SSHID_USERNAME = ** char(8) no spaces, no upper case letters + +** Tivoli SA MP Tiebreaker Settings (IBM DB2 pureScale Feature only) +** ----------------------------------------------------------------- +** The DB2_CLUSTER_SERVICES_TIEBREAKER_DEVICE_PATH keyword is used to specify +** the device path for Tivoli SA MP Tiebreaker setup. The keyword is mandatory +** when setting up the first IBM DB2 pureScale instance. + +** All the hosts specified in HOST section must have direct access to this +** disk. +*DB2_CLUSTER_SERVICES_TIEBREAKER_DEVICE_PATH = ** a valid device path, for example, /dev/sda + +** Shared File System Settings (IBM DB2 pureScale Feature only) +** ------------------------------------------------------------ +** Only one of the following two keywords is needed when setting up the first +** IBM DB2 pureScale instance on the host; If both INSTANCE_SHARED_DEVICE_PATH +** and INSTANCE_SHARED_DIR are specified, INSTANCE_SHARED_DIR will be ignored. +** If the task is to extend an instance to a new host, both of these keywords +** will be ignored. + +** Specify INSTANCE_SHARED_DEVICE_PATH to create a DB2 cluster file system. All +** the hosts specified in the HOST sections should have direct access to the +** shared device path specified. +*INSTANCE_SHARED_DEVICE_PATH = ** a valid device path, for example, /dev/sda + +** Specify the INSTANCE_SHARED_MOUNT to define the mounting point of the new +** DB2 cluster file system. It is optional and valid only if +** INSTANCE_SHARED_DEVICE_PATH is specified. +*INSTANCE_SHARED_MOUNT = ** a valid mount point of the new DB2 cluster file system. + +** Specify the INSTANCE_SHARED_DIR to use a user-managed shared file system for +** instance creation. +*INSTANCE_SHARED_DIR = ** a valid mount point of shared file system. + +** Fenced User Creation Settings +** ----------------------------- +** Valid for root installation only. User IDs managed by NIS/NIS+ are not +** supported. If an existing ID is used, make sure it is not locked and its +** password has not expired. + +** Make sure the user name specified for FENCED_USERNAME is not locked and its +** password has not expired. +DB2_INST.FENCED_USERNAME = db2fncd ** char(8) no spaces, no upper case letters + +** If no value is provided for FENCED_UID keyword, the DB2 installer will +** generate one for you. This is highly recommended. +*DB2_INST.FENCED_UID = ** Unsigned integer +DB2_INST.FENCED_GROUP_NAME = db2fgrp ** char(30) no spaces + +** If no value is provided for FENCED_GID keyword, the DB2 installer will +** generate one for you. This is highly recommended. +*DB2_INST.FENCED_GID = ** Unsigned integer +*DB2_INST.FENCED_HOME_DIRECTORY = ** char(64) no spaces + +** This FENCED_PASSWORD is required if the fenced user ID is a new user +*DB2_INST.FENCED_PASSWORD = ** char(8) + +** Text Search Configuration +** ------------------------- + +** Do not set CONFIGURE_TEXT_SEARCH if you are creating or configuring a DSF +** instance. +*DB2_INST.CONFIGURE_TEXT_SEARCH = NO ** YES or NO + +** Do not set TEXT_SEARCH_HTTP_SERVICE_NAME if you are creating or configuring +** a DSF instance. +*DB2_INST.TEXT_SEARCH_HTTP_SERVICE_NAME = db2j_db2inst1 ** BLANK or char(14). Valid for root installation only + +** Do not set TEXT_SEARCH_HTTP_PORT_NUMBER if you are creating or configuring a +** DSF instance. +*DB2_INST.TEXT_SEARCH_HTTP_PORT_NUMBER = 55000 ** Any unused port number from 1024 - 65535 + +** Instance DBM CFG Settings +** ------------------------- +*DB2_INST.CF_DIAGLEVEL = 2 ** a number in range [0 - 4] +*DB2_INST.CF_DIAGPATH = ** BLANK or char(215) +*DB2_INST.CF_MEM_SZ = AUTOMATIC ** AUTOMATIC or a number in range [32768 - 4 294 967 295] +*DB2_INST.CF_NUM_CONNS = AUTOMATIC ** AUTOMATIC or a number in range [4-256] +*DB2_INST.CF_NUM_WORKERS = AUTOMATIC ** AUTOMATIC or a number in range [1 - 31] +*DB2_INST.RSTRT_LIGHT_MEM = AUTOMATIC ** 1-10 for AUTOMATIC or a number in range [1 - 50] +*DB2_INST.AGENTPRI = ** SYSTEM, -1 or 41-128 +*DB2_INST.ASLHEAPSZ = ** 1 - 524288 +*DB2_INST.AUDIT_BUF_SZ = ** 0 - 65000 +*DB2_INST.CATALOG_NOAUTH = ** 0, 1, YES or NO +*DB2_INST.CLUSTER_MGR = ** TSA, VENDOR: +*DB2_INST.COMM_BANDWIDTH = ** -1 or 0.1 - 100000.0 +*DB2_INST.CONN_ELAPSE = ** 0 - 100 +*DB2_INST.CPUSPEED = ** -1 or 1e-10 - 1 +DB2_INST.DFTDBPATH = /data ** any valid path +*DB2_INST.DFT_ACCOUNT_STR = ** BLANK or char(25) +*DB2_INST.DFT_MON_BUFPOOL = ** ON or OFF +*DB2_INST.DFT_MON_LOCK = ** ON or OFF +*DB2_INST.DFT_MON_SORT = ** ON or OFF +*DB2_INST.DFT_MON_STMT = ** ON or OFF +*DB2_INST.DFT_MON_TABLE = ** ON or OFF +*DB2_INST.DFT_MON_UOW = ** ON or OFF +*DB2_INST.DFT_MON_TIMESTAMP = ** ON or OFF +*DB2_INST.DIAGLEVEL = ** 0 - 4 +*DB2_INST.DIAGPATH = ** BLANK or char(215) +*DB2_INST.DIAGSIZE = ** A value specified in MB and limited by the available disk space in DIAGPATH. Minimum 2 MB must be specified. +*DB2_INST.FENCED_POOL = -1 or AUTOMATIC ** -1(MAX_COORDAGENTS), AUTOMATIC or a number in range [0, 64000] +*DB2_INST.INSTANCE_MEMORY = AUTOMATIC ** AUTOMATIC or a number in range [0, 1000000] for 32-bit and [0, 68719476736] for 64-bit +*DB2_INST.HEALTH_MON = ** default is ON; ON or OFF +*DB2_INST.MAX_CONNECTIONS = -1 or AUTOMATIC ** -1, AUTOMATIC or [1, 64000] +*DB2_INST.FED_NOAUTH = NO ** YES or NO, default is NO +*DB2_INST.DIR_CACHE = ** YES or NO +*DB2_INST.DISCOVER = ** DISABLE, KNOWN or SEARCH +*DB2_INST.DISCOVER_COMM = ** BLANK or TCPIP +*DB2_INST.DISCOVER_INST = ** ENABLE or DISABLE +*DB2_INST.FCM_NUM_ANCHORS = ** -1 or 128 - FCM_NUM_RQB +*DB2_INST.FCM_NUM_BUFFERS = ** 128 - 65300 +*DB2_INST.FCM_NUM_CONNECT = ** -1 or 128 - FCM_NUM_RQB +*DB2_INST.FCM_NUM_RQB = ** 128 - 120000 +*DB2_INST.INDEXREC = ** ACCESS or RESTART +*DB2_INST.INTRA_PARALLEL = NO ** SYSTEM, YES or NO +*DB2_INST.JAVA_HEAP_SZ = ** 0 - 4096 +*DB2_INST.JDK_PATH = ** BLANK or char(255) +*DB2_INST.SSL_SVR_KEYDB = ** BLANK or char(1023) +*DB2_INST.SSL_SVR_STASH = ** BLANK or char(1023) +*DB2_INST.SSL_SVR_LABEL = ** BLANK or char(1023) +*DB2_INST.SSL_SVCENAME = ** BLANK or char(14) +*DB2_INST.SSL_CIPHERSPECS = ** BLANK or char(255) +*DB2_INST.SSL_VERSIONS = ** BLANK or char(255) +*DB2_INST.SSL_CLNT_KEYDB = ** BLANK or char(1023) +*DB2_INST.SSL_CLNT_STASH = ** BLANK or char(1023) +*DB2_INST.ALTERNATE_AUTH_ENC = ** NOT_SPECIFIED, AES_ONLY, AES_CMP +*DB2_INST.KEEPDARI = ** YES or NO +*DB2_INST.MAXAGENTS = ** 1 - 64000 +*DB2_INST.MAXCAGENTS = ** -1 or 1 - MAX_COORDAGENTS +*DB2_INST.MAXDARI = ** -1 or 1 - MAX_COORDAGENTS +*DB2_INST.MAXTOTFILOP = ** 100 - 32768 +*DB2_INST.MAX_CONNRETRIES = ** 0 - 100 +*DB2_INST.MAX_COORDAGENTS = 200 or AUTOMATIC ** 200, AUTOMATIC, -1 or 0 - 64000, -1 translates into a value of 200 +*DB2_INST.MAX_TIME_DIFF = 300 ** 1-1440. The unit of measurement is second +*DB2_INST.MAX_QUERYDEGREE = ** ANY, -1 or 1 - 32767 +*DB2_INST.MON_HEAP_SZ = AUTOMATIC ** AUTOMATIC or 0 - 60000 +DB2_INST.NUMDB = 64 ** 1 - 256 +*DB2_INST.NUM_INITAGENTS = 0 ** 0 - 64000 +*DB2_INST.NUM_INITDARIS = ** 0 - MAXDARI +*DB2_INST.NUM_INITFENCED = 0 ** 0 - 64000 +*DB2_INST.NUM_POOLAGENTS = 100 or AUTOMATIC ** -1, AUTOMATIC or 0 - 64000 +*DB2_INST.QUERY_HEAP_SZ = ** 2 - 524288 +*DB2_INST.RESTBUFSZ = ** 16 - 524288 +*DB2_INST.RESYNC_INTERVAL = ** 1 - 60000 +*DB2_INST.ROUTE_OBJ_NAME = ** BLANK or char(255) +*DB2_INST.RQRIOBLK = ** 4096 - 65535 +*DB2_INST.SHEAPTHRES = ** 250 - 2097152 +*DB2_INST.SPM_LOG_FILE_SZ = ** 4 - 1000 +*DB2_INST.SPM_LOG_PATH = ** BLANK or char(226) +*DB2_INST.SPM_MAX_RESYNC = ** 10 - 256 +*DB2_INST.SPM_NAME = ** BLANK or char(8) +*DB2_INST.START_STOP_TIME = ** 1 - 1440 +*DB2_INST.SYSADM_GROUP = ** BLANK or char(30) +*DB2_INST.SYSCTRL_GROUP = ** BLANK or char(30) +*DB2_INST.SYSMAINT_GROUP = ** BLANK or char(30) +*DB2_INST.TP_MON_NAME = ** BLANK or char(19) +*DB2_INST.TRUST_ALLCLNTS = ** YES, NO or DRDAONLY +*DB2_INST.TRUST_CLNTAUTH = ** CLIENT or SERVER +*DB2_INST.UDF_MEM_SZ = ** 128 - 60000 +*DB2_INST.FCM_NUM_CHANNELS = ** 128, 524288 +*DB2_INST.FEDERATED_ASYNC = 0 ** ANY or 0 - 32767 + +** Instance Profile Registry Settings +** ---------------------------------- +*DB2_INST.DB2ACCOUNT = ** BLANK or char(199) +*DB2_INST.DB2ATLD_PORTS = ** BLANK or 1-65535:1-65535 n1<=n2 +*DB2_INST.DB2BIDI = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_INST.DB2BQTIME = ** BLANK or 1 - MAX +*DB2_INST.DB2BQTRY = ** BLANK or 0 - MAX +*DB2_INST.DB2CHKPTR = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_INST.DB2CLIINIPATH = ** BLANK or char(260) +*DB2_INST.DB2CODEPAGE = ** BLANK or 0 - MAX +*DB2_INST.DB2CONNECT_IN_APP_PROCESS = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_INST.DB2COUNTRY = ** BLANK or 1 - 999 +*DB2_INST.DB2DBDFT = ** BLANK or char(8) +*DB2_INST.DB2DEFPREP = ** BLANK, ALL, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_INST.DB2ENVLIST = ** BLANK or char() +*DB2_INST.DB2INCLUDE = ** BLANK or char() +*DB2_INST.DB2IQTIME = ** BLANK or 1 - MAX +*DB2_INST.DB2LIBPATH = ** BLANK or char() +*DB2_INST.DB2LOADREC = ** BLANK or char(260) +*DB2_INST.DB2LOCK_TO_RB = ** BLANK or STATEMENT +*DB2_INST.DB2NOEXITLIST = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_INST.DB2OLDEVMON = ** BLANK or char() +*DB2_INST.DB2OPTIONS = ** BLANK or -/+[a,c,e[c,s],n,o,p,s,t,v,w,x] and/or -[f,l,r,z]filename +*DB2_INST.DB2_OPTSTATS_LOG = ** OFF or ON with parameters {NUM | SIZE | NAME | DIR} +*DB2_INST.DB2PRIORITIES = ** BLANK or char() +*DB2_INST.DB2RQTIME = ** BLANK or 1 - MAX +*DB2_INST.DB2_SET_MAX_CONTAINER_SIZE = ** -1 (no limit) or any integer greater than 64MB +*DB2_INST.DB2SORT = ** BLANK or char(260) +*DB2_INST.DB2_SYSTEM_MONITOR_SETTINGS = ** Controls parameters OLD_CPU_USAGE and DISABLE_CPU_USAGE with ON or OFF values +*DB2_INST.DB2_AVOID_PREFETCH = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_INST.DB2_CORRELATED_PREDICATES = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_INST.DB2_FORCE_NLS_CACHE = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_INST.DB2_HASH_JOIN = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_INST.DB2_INDEX_FREE = ** BLANK or 0 - 60 +*DB2_INST.DB2_LIKE_VARCHAR = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T, F or 0.0 - 5.0 (exclusive) +*DB2_INST.DB2_LOADSORT_STACKSZ = ** BLANK or 1 - MAX +*DB2_INST.DB2_NO_PKG_LOCK = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_INST.DB2_NUM_FAILOVER_NODES = ** BLANK or 0 - 999 +*DB2_INST.DB2_PARALLEL_IO = ** BLANK, * or 0-4095,0-4095,... +*DB2_INST.DB2_PRED_FACTORIZE = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_INST.DB2_SORT_AFTER_TQ = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_INST.DB2_STRIPED_CONTAINERS = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_INST.DB2INSTOWNER = ** BLANK or char(30) +*DB2_INST.DB2DBMSADDR = ** BLANK or char(10) +*DB2_INST.DB2_DISABLE_FLUSH_LOG = ** BLANK or ON, OFF +*DB2_INST.DB2LOCALE = ** BLANK or YES, NO +*DB2_INST.DB2NODE = ** BLANK or YES NO +*DB2_INST.DB2_USE_PAGE_CONTAINER_TAG = ** BLANK or ON +*DB2_INST.DB2TCPCONNMGRS = ** BLANK or 1 - 8 +*DB2_INST.DB2_PARTITIONEDLOAD_DEFAULT = ** BLANK or YES, NO +*DB2_INST.DB2_INLIST_TO_NLJN = ** BLANK or YES, NO +*DB2_INST.DB2_SELECTIVITY = ** BLANK or YES, NO +*DB2_INST.DB2_REDUCED_OPTIMIZATION = ** BLANK, DISABLE, YES, NO, 0 - MAX +*DB2_INST.DB2_BINSORT = ** BLANK or YES, NO +*DB2_INST.DB2BPVARS = ** BLANK or char() +*DB2_INST.DB2_ENABLE_BUFPD = ** BLANK or ON, OFF +*DB2_INST.DB2_EVMON_EVENT_LIST_SIZE = 0 ** A value specified in KB, MB or GB and limited by the available memory from the monitor heap +*DB2_INST.DB2_EXTENDED_OPTIMIZATION = ** BLANK or ON, OFF +*DB2_INST.DB2FODC = Concatenation of all FODC parameters: CORELIMIT, DUMPCORE, DUMDIR, MEMSCAN and SERVICELEVEL ** CORELIMIT, DUMPCORE, DUMPDIR and MEMSCAN parameters are set different for Unix and Windows +*DB2_INST.DB2MAXFSCRSEARCH = ** BLANK or -1, 1 - 33554 +*DB2_INST.DB2MEMDISCLAIM = ** BLANK or YES, NO +*DB2_INST.DB2_VENDOR_INI = ** BLANK or char() +*DB2_INST.DB2_XBSA_LIBRARY = ** BLANK or char() +*DB2_INST.DB2LDAP_SEARCH_SCOPE = ** BLANK LOCAL DOMAIN GLOBAL +*DB2_INST.DB2MEMMAXFREE = ** BLANK or char() +*DB2_INST.DB2NTMEMSIZE = ** BLANK or char() +*DB2_INST.DB2_OVERRIDE_BPF = ** BLANK or 1 - MAX +*DB2_INST.DB2_DJ_COMM = ** BLANK or char() +*DB2_INST.DB2ADMINSERVER = ** BLANK or char(64) +*DB2_INST.DB2_PINNED_BP = NO ** YES or NO +*DB2_INST.DB2REMOTEPREG = ** BLANK or char(64) +*DB2_INST.DB2_ANTIJOIN = ** BLANK or YES, NO, EXTEND +*DB2_INST.DB2_COLLECT_TS_REC_INFO = ** BLANK or YES, NO +*DB2_INST.DB2PROCESSORS = ** BLANK or 1 - MAX +*DB2_INST.DB2ASSUMEUPDATE = ** BLANK or ON, OFF +*DB2_INST.DB2_SKIPDELETED = ** BLANK or ON, OFF +*DB2_INST.DB2_SQLROUTINE_PREPOPTS = ** BLANK or char() +*DB2_INST.DB2_INDEX_TYPE2 = ** BLANK or ON, OFF +*DB2_INST.DB2_APM_PERFORMANCE = ** BLANK or ON, OFF +*DB2_INST.DB2_FMP_COMM_HEAPSZ = ** BLANK or 1 - MAX +*DB2_INST.DB2_EVALUNCOMMITTED = ** BLANK or YES, NO +*DB2_INST.DB2_NO_FORK_CHECK = ** BLANK or ON, OFF +*DB2_INST.DB2_KEEPTABLELOCK = ** BLANK or ON, OFF +*DB2_INST.DB2GRAPHICUNICODESERVER = ** BLANK or ON, OFF +*DB2_INST.DB2_MINIMIZE_LISTPREFETCH = ** BLANK or YES, NO +*DB2_INST.DB2_TRUSTED_BINDIN = ** BLANK or ON, OFF, CHECK +*DB2_INST.DB2_CLPPROMPT = ** BLANK or char(99) +*DB2_INST.DB2_FORCE_APP_ON_MAX_LOG = ** BLANK or TRUE, FALSE +*DB2_INST.DB2_CLP_EDITOR = ** BLANK or char() +*DB2_INST.DB2_CLP_HISTSIZE = ** BLANK or 1 - 500 +*DB2_INST.DB2_LOAD_COPY_NO_OVERRIDE = ** BLANK or LOCAL, DOMAIN, GLOBAL +*DB2_INST.DB2_MAX_NON_TABLE_LOCKS = ** BLANK or 1 - MAX +*DB2_INST.DB2_USE_ALTERNATE_PAGE_CLEANING = ** BLANK or ON, OFF +*DB2_INST.DB2_SCATTERED_IO = ** BLANK or ON, OFF +*DB2_INST.DB2_NO_MPFA_FOR_NEW_DB = ** BLANK or YES, NO +*DB2_INST.DB2_OBJECT_TABLE_ENTRIES = ** BLANK or 0 - 50000 +*DB2_INST.DB2_VIEW_REOPT_VALUES = ** BLANK or YES, NO +*DB2_INST.DB2_SELUDI_COMM_BUFFER = ** BLANK or ON, OFF +*DB2_INST.DB2_ENABLE_AUTOCONFIG_DEFAULT = ** BLANK, YES, NO +*DB2_INST.DB2_OPT_MAX_TEMP_SIZE = ** BLANK or 0 - MAX +*DB2_INST.DB2RCMD_LEGACY_MODE = ** YES, ON, TRUE, 1 or NO, OFF, FALSE, 0 +*DB2_INST.DB2_LARGE_PAGE_MEM = ** *, DB +*DB2_INST.DB2_MAX_LOB_BLOCK_SIZE = 0 ** 0 - 21487483647 +*DB2_INST.DB2RSHCMD = rsh ** Values are a full path name to rsh, or ssh +*DB2_INST.DB2AUTH = ** BLANK or char() +*DB2_INST.DB2CONNECT_DISCONNECT_ON_INTERRUPT = NO ** YES, TRUE, 1 or NO, FALSE, 0 +*DB2_INST.DB2CONNECT_ENABLE_EURO_CODEPAGE = ** BLANK or char() +*DB2_INST.DB2FCMCOMM = TCPIP4 ** TCPIP4 or TCPIP6 +*DB2_INST.DB2FFDC = ** BLANK, ON, CORE:OFF +*DB2_INST.DB2LOADFLAGS = ** BLANK or char() +*DB2_INST.DB2RSHTIMEOUT = 30 ** 1 - 120 +*DB2_INST.DB2TCP_CLIENT_CONTIMEOUT = 0 ** 0 - 32767 +*DB2_INST.DB2TCP_CLIENT_RCVTIMEOUT = 0 ** 0 - 32767 +*DB2_INST.DB2TRC_DEF_BUFFSIZE = ** BLANK or char() +*DB2_INST.DB2YIELD = ** BLANK or char() +*DB2_INST.DB2_ASYNC_IO_MAXFILOP = MAXFILOP ** MAXFILOP - MAX +*DB2_INST.DB2_BAR_AUTONOMIC_DISABLE = ** BLANK or char() +*DB2_INST.DB2_CONNRETRIES_INTERVAL = ** BLANK or char() +*DB2_INST.DB2_DXX_PATHS_ALLOWED_READ = ** BLANK or char() +*DB2_INST.DB2_DXX_PATHS_ALLOWED_WRITE = ** BLANK or char() +*DB2_INST.DB2_HADR_BUF_SIZE = 2*LOGBUFSZ ** BLANK or 0 - MAX +*DB2_INST.DB2_LOGGING_DETAIL = ** BLANK or char() +*DB2_INST.DB2_MAP_XML_AS_CLOB_FOR_DLC = NO ** YES, NO +*DB2_INST.DB2_MAX_CLIENT_CONNRETRIES = ** BLANK or char() +*DB2_INST.DB2_MAX_INACT_STMTS = ** 0 - 4294967296 +*DB2_INST.DB2_MDC_ROLLOUT = IMMEDIATE ** DEFER, IMMEDIATE or OFF +*DB2_INST.DB2_MINIMUM_CLIENT_LEVEL = ** BLANK or char() +*DB2_INST.DB2_NUM_CKPW_DAEMONS = 3 ** 0 - 100 +*DB2_INST.DB2_RESOURCE_POLICY = ** valid path to configuration file +*DB2_INST.DB2_SKIPINSERTED = OFF ** ON, OFF +*DB2_INST.DB2_SMS_TRUNC_TMPTABLE_THRESH = ** -1, 0-n where n is the number of extents per container that are to be maintained +*DB2_INST.DB2_SNAPSHOT_NOAUTH = ** BLANK or char() +*DB2_INST.DB2_TAPEMGR_TAPE_EXPIRATION = ** BLANK or char() +*DB2_INST.DB2_UPDDBCFG_SINGLE_DBPARTITION = ** YES, 1, TRUE or NO, 0, FALSE +*DB2_INST.DB2_USE_DB2JCCT2_JROUTINE = ** ON, YES, 1, TRUE or OFF, NO, 0, FALSE +*DB2_INST.DB2_UTIL_MSGPATH = instanceName/tmp directory ** BLANK or char() +*DB2_INST.DB2_WORKLOAD = Not set ** BLANK, SAP + +** 2nd (non-pureScale) Instance Creation Settings +** ---------------------------------------------- +** Multiple (non-pureScale) DB2 instances can be created in the same +** installation. This section shows how to specify the 2nd instance in the rsp +** file. Note: Only a subset of the instance keywords are listed below. You can +** specify other instance related keywords similar as the 1st instance. All +** keywords in this section are commented out. By default, only one instance +** will be created during the install. + +** Prefix name of this instance set. Its value is used by all keywords for the +** same instance. +*INSTANCE = DB2_INS2 ** char(8) no spaces +*DB2_INS2.NAME = db2inst2 ** char(8) no spaces, no upper case letters + +** Use a generated UID if no value provided - highly recommended. +*DB2_INS2.UID = ** Unsigned integer +*DB2_INS2.GROUP_NAME = db2iadm1 ** char(30) no spaces + +** Use a generated GID if no value provided - highly recommended. +*DB2_INS2.GID = ** Unsigned integer +*DB2_INS2.HOME_DIRECTORY = ** char(64) no spaces. Valid for root install only +*DB2_INS2.PASSWORD = Replace with your password ** Valid for root install only + +** Administration Server Creation Settings +** --------------------------------------- +** Valid for root installation only. User IDs managed by NIS/NIS+ are not +** supported. If an existing ID is used, make sure it is not locked and its +** password has not expired. +*DAS_USERNAME = ** char(8) no spaces, no upper case letters +*DAS_UID = ** use db2 generated UID if no values provided(highly recommended) OR a valid unsign int +*DAS_GROUP_NAME = ** char(30) no spaces +*DAS_GID = ** use db2 generated GID if no values provided(highly recommended) OR a valid unsign int +*DAS_HOME_DIRECTORY = ** char(64) no spaces +*DAS_PASSWORD = ** char(8) +*DAS_SMTP_SERVER = ** char(64) no spaces + +** Global Profile Registry Settings +** -------------------------------- +*DB2ACCOUNT = ** BLANK or char(199) +*DB2ATLD_PORTS = ** BLANK or 1-65535:1-65535 n1<=n2 +*DB2BIDI = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2BQTIME = ** BLANK or 1 - MAX +*DB2BQTRY = ** BLANK or 0 - MAX +*DB2CHGPWD_EEE = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2CHKPTR = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2CLIINIPATH = ** BLANK or char(260) +*DB2CODEPAGE = ** BLANK or 0 - MAX +*DB2COMM = ** BLANK or TCPIP +*DB2COUNTRY = ** BLANK or 1 - 999 +*DB2DBDFT = ** BLANK or char(8) +*DB2DEFPREP = ** BLANK, ALL, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2ENVLIST = ** BLANK or char() +*DB2IQTIME = ** BLANK or 1 - MAX +*DB2LDAPCACHE = ** YES or NO +*DB2LDAPHOST = ** BLANK or char() +*DB2LDAP_BASEDN = ** BLANK or char() +*DB2LDAP_CLIENT_PROVIDER = ** BLANK, MICROSOFT or IBM +*DB2LIBPATH = ** BLANK or char() +*DB2LOADREC = ** BLANK or char(1023) +*DB2LOCK_TO_RB = ** BLANK or STATEMENT +*DB2NOEXITLIST = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2OLDEVMON = ** BLANK or char() +*DB2OPTIONS = ** BLANK or -/+[a,c,e[c,s],n,o,p,s,t,v,w,x] and/or -[f,l,r,z]filename +*DB2_OPTSTATS_LOG = ** OFF or ON with parameters {NUM | SIZE | NAME | DIR} +*DB2PRIORITIES = ** BLANK or char() +*DB2RQTIME = ** BLANK or 1 - MAX +*DB2_SET_MAX_CONTAINER_SIZE = ** -1 (no limit) or any integer greater than 64MB +*DB2SORT = ** BLANK or char(1023) +*DB2SYSTEM = ** char(64) +*DB2_SYSTEM_MONITOR_SETTINGS = ** Controls parameters OLD_CPU_USAGE and DISABLE_CPU_USAGE with ON or OFF values +*DB2_ENABLE_LDAP = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_FORCE_NLS_CACHE = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2_NUM_FAILOVER_NODES = ** BLANK or 0 - 999 +*DB2_SORT_AFTER_TQ = ** BLANK, 0, 1, YES, NO, ON, OFF, Y, N, TRUE, FALSE, T or F +*DB2INSTOWNER = ** BLANK or char(30) +*DB2DBMSADDR = ** BLANK or char(10) +*DB2_DISABLE_FLUSH_LOG = ** BLANK or ON, OFF +*DB2_LIC_STAT_SIZE = ** BLANK or 0 - 32767 +*DB2LOCALE = ** BLANK or YES, NO +*DB2NODE = ** BLANK or YES NO +*DB2_USE_PAGE_CONTAINER_TAG = ** BLANK or ON +*DB2TCPCONNMGRS = ** BLANK or 1 - 8 +*DB2_PARTITIONEDLOAD_DEFAULT = ** BLANK or YES, NO +*DB2_INLIST_TO_NLJN = ** BLANK or YES, NO +*DB2_SELECTIVITY = ** BLANK or YES, NO +*DB2_REDUCED_OPTIMIZATION = ** BLANK, DISABLE, YES, NO, 0 - MAX +*DB2_BINSORT = ** BLANK or YES, NO +*DB2BPVARS = ** BLANK or char() +*DB2_ENABLE_BUFPD = ** BLANK or ON, OFF +*DB2_EVMON_EVENT_LIST_SIZE = 0 ** A value specified in KB, MB or GB but limited by the available memory from the monitor heap +*DB2_EXTENDED_OPTIMIZATION = ** BLANK or ON, OFF +*DB2FODC = Concatenation of all FODC parameters: CORELIMIT, DUMPCORE, DUMDIR and MEMSCAN; and their values ** CORELIMIT, DUMPCORE, DUMPDIR and MEMSCAN parameters are set different for Unix and Windows +*DB2MAXFSCRSEARCH = ** BLANK or -1, 1 - 33554 +*DB2MEMDISCLAIM = ** BLANK or YES, NO +*DB2_VENDOR_INI = ** BLANK or char() +*DB2_XBSA_LIBRARY = ** BLANK or char() +*DB2LDAP_SEARCH_SCOPE = ** BLANK LOCAL DOMAIN GLOBAL +*DB2MEMMAXFREE = ** BLANK or char() +*DB2NTMEMSIZE = ** BLANK or char() +*DB2_OVERRIDE_BPF = ** BLANK or 1 - MAX +*DB2_DJ_COMM = ** BLANK or char() +*DB2ADMINSERVER = ** BLANK or char(64) +*DB2_PINNED_BP = NO ** YES or NO +*DB2REMOTEPREG = ** BLANK or char(64) +*DB2_ANTIJOIN = ** BLANK or YES, NO, EXTEND +*DB2_COLLECT_TS_REC_INFO = ** BLANK or YES, NO +*DB2PROCESSORS = ** BLANK or 1 - MAX +*DB2ASSUMEUPDATE = ** BLANK or ON, OFF +*DB2_SKIPDELETED = ** BLANK or ON, OFF +*DB2_SQLROUTINE_PREPOPTS = ** BLANK or char() +*DB2_INDEX_TYPE2 = ** BLANK or ON, OFF +*DB2_APM_PERFORMANCE = ** BLANK or ON, OFF +*DB2_FMP_COMM_HEAPSZ = ** BLANK or 1 - MAX +*DB2_EVALUNCOMMITTED = ** BLANK or YES, NO +*DB2_NO_FORK_CHECK = ** BLANK or ON, OFF +*DB2_KEEPTABLELOCK = ** BLANK or ON, OFF +*DB2GRAPHICUNICODESERVER = ** BLANK or ON, OFF +*DB2_MINIMIZE_LISTPREFETCH = ** BLANK or YES, NO +*DB2_TRUSTED_BINDIN = ** BLANK or ON, OFF, CHECK +*DB2_CLPPROMPT = ** BLANK or char(99) +*DB2_FORCE_APP_ON_MAX_LOG = ** BLANK or TRUE, FALSE +*DB2_CLP_EDITOR = ** BLANK or char() +*DB2_CLP_HISTSIZE = ** BLANK or 1 - 500 +*DB2_LOAD_COPY_NO_OVERRIDE = ** BLANK or LOCAL, DOMAIN, GLOBAL +*DB2_MAX_NON_TABLE_LOCKS = ** BLANK or 1 - MAX +*DB2_USE_ALTERNATE_PAGE_CLEANING = ** BLANK or ON, OFF +*DB2_SCATTERED_IO = ** BLANK or ON, OFF +*DB2_NO_MPFA_FOR_NEW_DB = ** BLANK or YES, NO +*DB2_OBJECT_TABLE_ENTRIES = ** BLANK or 0 - 50000 +*DB2_VIEW_REOPT_VALUES = ** BLANK or YES, NO +*DB2_SELUDI_COMM_BUFFER = ** BLANK or ON, OFF +*DB2_ENABLE_AUTOCONFIG_DEFAULT = ** BLANK, YES, NO +*DB2_OPT_MAX_TEMP_SIZE = ** BLANK or 0 - MAX +*DB2RCMD_LEGACY_MODE = ** YES, ON, TRUE, 1 or NO, OFF, FALSE, 0 +*DB2_LARGE_PAGE_MEM = ** *, DB +*DB2_MAX_LOB_BLOCK_SIZE = 0 ** 0 - 21487483647 +*DB2RSHCMD = rsh ** Values are a full path name to rsh, or ssh +*DB2AUTH = ** BLANK or char() +*DB2CONNECT_DISCONNECT_ON_INTERRUPT = NO ** YES, TRUE, 1 or NO, FALSE, 0 +*DB2CONNECT_ENABLE_EURO_CODEPAGE = ** BLANK or char() +*DB2FCMCOMM = TCPIP4 ** TCPIP4 or TCPIP6 +*DB2FFDC = ** BLANK, ON, CORE:OFF +*DB2LOADFLAGS = ** BLANK or char() +*DB2RSHTIMEOUT = 30 ** or 1 - 120 +*DB2TCP_CLIENT_CONTIMEOUT = 0 ** 0 - 32767 +*DB2TCP_CLIENT_RCVTIMEOUT = 0 ** 0 - 32767 +*DB2TRC_DEF_BUFFSIZE = ** BLANK or char() +*DB2YIELD = ** BLANK or char() +*DB2_ASYNC_IO_MAXFILOP = MAXFILOP ** MAXFILOP - MAX +*DB2_BAR_AUTONOMIC_DISABLE = ** BLANK or char() +*DB2_CONNRETRIES_INTERVAL = ** BLANK or char() +*DB2_DXX_PATHS_ALLOWED_READ = ** BLANK or char() +*DB2_DXX_PATHS_ALLOWED_WRITE = ** BLANK or char() +*DB2_HADR_BUF_SIZE = 2*LOGBUFSZ ** BLANK or 0 - MAX +*DB2_LOGGING_DETAIL = ** BLANK or char() +*DB2_MAP_XML_AS_CLOB_FOR_DLC = NO ** YES, NO +*DB2_MAX_CLIENT_CONNRETRIES = ** BLANK or char() +*DB2_MAX_INACT_STMTS = ** 0 - 4294967296 +*DB2_MDC_ROLLOUT = IMMEDIATE ** DEFER, IMMEDIATE or OFF +*DB2_MINIMUM_CLIENT_LEVEL = ** BLANK or char() +*DB2_NUM_CKPW_DAEMONS = 3 ** 0 - 100 +*DB2_RESOURCE_POLICY = ** valid path to configuration file +*DB2_SKIPINSERTED = OFF ** ON, OFF +*DB2_SMS_TRUNC_TMPTABLE_THRESH = ** -1, 0-n where n is the number of extents per container that are to be maintained +*DB2_SNAPSHOT_NOAUTH = ** BLANK or char() +*DB2_TAPEMGR_TAPE_EXPIRATION = ** BLANK or char() +*DB2_DJ_COMM = OFF ** ON or OFF +*DB2_UPDDBCFG_SINGLE_DBPARTITION = ** YES, 1, TRUE or NO, 0, FALSE +*DB2_USE_DB2JCCT2_JROUTINE = ** ON, YES, 1, TRUE or OFF, NO, 0, FALSE +*DB2_UTIL_MSGPATH = instanceName/tmp directory ** BLANK or char() +*DB2_WORKLOAD = Not set ** BLANK, SAP + +** Database Settings +** ----------------- +*DATABASE = ** databas1: char(8) no spaces - this is the prefix for this DB set +*databas1.DATABASE_NAME = ** favorateDB: char(8) no spaces - this is the real database +*databas1.INSTANCE = ** db2inst1: char(8) no spaces - one value of INSTANCE keyword +*databas1.ALIAS = ** alias of databas1: char(8) no spaces and can not start with SYS, DBM or IBM +*databas1.LOCATION = ** local, remote, LOCAL or REMOTE; For client only product use remote or REMOTE +*databas1.SYSTEM_NAME = ** some remote host char(64) no spaces: for LOCATION=remote only +*databas1.AUTHENTICATION = ** CLIENT, SERVER, SERVER_ENCRYPT: optional +*databas1.PATH = ** the directory for the database: optional +*databas1.SVCENAME = ** service1: for remote LOCATION only +*databas1.USERNAME = ** db2user: char(8) no spaces +*databas1.PASSWORD = ** db2pwd: char(8) no spaces + +** Contact List Settings +** --------------------- +** Valid for root installation only +*DAS_CONTACT_LIST = ** LOCAL or REMOTE +*DAS_CONTACT_LIST_HOSTNAME = ** hostname for REMOTE CONTACT_LIST +*DAS_CONTACT_LIST_USERNAME = ** contactL: char(8) no spaces +*DAS_CONTACT_LIST_DOMAIN = ** contactLdomain: char(14) +*DAS_CONTACT_LIST_PASSWORD = ** contactLpasswd: char(14) + +** Contact Information For Each Instance +** ------------------------------------- +** Valid for root installation only +*CONTACT = contact1 ** contact1, char(80) +*contact1.NEW_CONTACT = YES ** YES or NO +*contact1.CONTACT_NAME = ** userName +*contact1.EMAIL = ** sysadmin@yourcompany.com - email address where the notification should be sent +*contact1.PAGER = ** YES or NO +*contact1.INSTANCE = ** DB2_INST - instance that this contact belongs to, this should be one of the values of keyword INSTANCE. + +** Information Center Settings +** --------------------------- +** The default location for accessing the DB2 documentation is the IBM website. +** Only edit this section if you wish to access DB2 documentation from a +** different location, such as your local computer or an intranet server. + +** The following DB2_DOCHOST keyword is used to specify where the Information +** Center server is installed. For example, "localhost" for the local computer. +*DB2_DOCHOST = ** Any valid hostname + +** The following DB2_DOCPORT keyword is used to specify the port number of the +** Information Center server. +*DB2_DOCPORT = ** 1024-65535 + +** (Valid for root installation only) Tivoli SA MP +** ----------------------------------------------- +** This keyword has been deprecated. The IBM Tivoli System Automation for +** Multiplatforms Base Component (Tivoli SA MP) will be automatically installed +** for you if you specified TYPICAL as the installation type. If an older +** version of the Tivoli SA MP is already installed it will be updated to the +** version on the DB2 installation media, if that update is supported. The +** Tivoli SA MP will only be installed or updated if you have the proper +** license. +*INSTALL_TSAMP = NO ** YES or NO. This keyword is deprecated. Valid for root installation only. + +** (Valid for root installation only) Pacemaker +** -------------------------------------------- +** The Pacemaker (PCMK) will be automatically installed for you if you +** specified TYPICAL as the installation type. If an older version of the +** Pacemaker is already installed it will be updated to the version on the Db2 +** installation media, if that update is supported. +*INSTALL_PCMK = NO ** YES or NO. Valid for root installation only. + +** (Valid for root installation only) Global Secure ToolKit +** -------------------------------------------------------- +** The Global Secure ToolKit will be automatically installed for you. If you +** don't want to install it, set the value to NO. +*INSTALL_ENCRYPTION = YES ** YES or NO.Valid for root installation only. + diff --git a/sources/db2.in/c3d/firstboot/scripts/01_setupnetworking.sh b/sources/db2.in/c3d/firstboot/scripts/01_setupnetworking.sh new file mode 100755 index 0000000..f615d4d --- /dev/null +++ b/sources/db2.in/c3d/firstboot/scripts/01_setupnetworking.sh @@ -0,0 +1,85 @@ +#!/bin/sh + + +export PAGER= + + +sleep 1 +systemctl --quiet is-active NetworkManager.service +NM_RC=$? +CYCLES_WAITED=0 +while [ $NM_RC -ne 0 ] +do + if [ $CYCLES_WAITED -ge 10 ] + then + exit 1 + fi + if [ $CYCLES_WAITED -eq 0 ] + then + echo -n "Waiting for NetworkManager" + fi + echo -n . + sleep 1 + CYCLES_WAITED=$(( $CYCLES_WAITED + 1 )) + systemctl --quiet is-active NetworkManager.service + NM_RC=$? +done +[ $CYCLES_WAITED -gt 0 ] && echo + +# wait for the two network connections to come up +CONNECTION_DEVICES_UP=$(nmcli --terse connection show \ + | grep --invert-match ':$' | wc -l) +CYCLES_WAITED=0 +while [ $CONNECTION_DEVICES_UP -lt 2 ] +do + if [ $CYCLES_WAITED -ge 10 ] + then + nmcli connection show + exit 1 + fi + if [ $CYCLES_WAITED -eq 0 ] + then + echo -n "Waiting for the network connection" + fi + echo -n . + sleep 1 + CYCLES_WAITED=$(( $CYCLES_WAITED + 1 )) + CONNECTION_DEVICES_UP=$(nmcli --terse connection show \ + | grep --invert-match ':$' | wc -l) +done +[ $CYCLES_WAITED -gt 0 ] && echo + +CONNECTIONS=$(nmcli --terse connection show | wc -l) +if [ $CONNECTIONS -ne 2 ] +then + echo "Number of connections: $CONNECTIONS instead of 2" >&2 + exit 1 +fi + +CONNECTION_LINE=$(nmcli --terse connection show | grep ':eth0$') +CONNECTION_UUID=$(echo $CONNECTION_LINE | cut -f 2 -d ':') +CONNECTION_DEVICE=$(echo $CONNECTION_LINE | cut -f 4 -d ':') + +nmcli connection delete uuid "$CONNECTION_UUID" + +nmcli connection add \ + connection.autoconnect yes \ + connection.id internal \ + connection.interface-name $CONNECTION_DEVICE \ + connection.type 802-3-ethernet \ + ipv4.addresses "10.228.109.166/16" \ + ipv4.dns "10.228.109.159, 10.228.92.159" \ + ipv4.dns-search "in.useribm.hu" \ + ipv4.gateway "10.228.109.254" \ + ipv4.method "manual" \ + ipv6.addresses "2001:1aa1:000a:7dae:000c:18ff:fe03:6da6/64" \ + ipv6.dns "2001:1aa1:000a:7dae:000c:18ff:fe03:6d9f, 2001:1aa1:000a:7dae:000c:18ff:fe03:5c9f" \ + ipv6.dns-search "in.useribm.hu" \ + ipv6.gateway "2001:1aa1:000a:7dae:000c:18ff:fe03:6dfe" \ + ipv6.method "manual" \ + save yes + +nmcli connection show + +hostnamectl hostname db2.in.useribm.hu +hostnamectl diff --git a/sources/db2.in/c3d/firstboot/scripts/02_settimezone.sh b/sources/db2.in/c3d/firstboot/scripts/02_settimezone.sh new file mode 100755 index 0000000..0ec1bcc --- /dev/null +++ b/sources/db2.in/c3d/firstboot/scripts/02_settimezone.sh @@ -0,0 +1,17 @@ +#!/bin/sh + + +sleep 1 +systemctl --quiet is-active dbus.service +DBUS_RC=$? +WAITED=0 +while [ $DBUS_RC -ne 0 ] +do + echo -n . + sleep 1 + WAITED=1 + systemctl --quiet is-active dbus.service + DBUS_RC=$? +done +[ $WAITED -ne 0 ] && echo +timedatectl set-timezone Europe/Budapest diff --git a/sources/db2.in/c3d/firstboot/scripts/03_addusers.sh b/sources/db2.in/c3d/firstboot/scripts/03_addusers.sh new file mode 100755 index 0000000..56ef62c --- /dev/null +++ b/sources/db2.in/c3d/firstboot/scripts/03_addusers.sh @@ -0,0 +1,17 @@ +#!/bin/sh + + +REAL_PATH=$(realpath $(dirname $0)) +DATA_PATH=$(realpath $REAL_PATH/../data) + + +groupadd --gid 11982 db2grp +useradd --uid 11982 --gid 11982 db2admin + +groupadd --gid 13347 db2fgrp +useradd --uid 13347 --gid 13347 db2fncd + +while read UP +do + echo $UP | chpasswd +done <$DATA_PATH/chpasswd.data diff --git a/sources/db2.in/c3d/firstboot/scripts/10_installdb2.sh b/sources/db2.in/c3d/firstboot/scripts/10_installdb2.sh new file mode 100755 index 0000000..b657a7a --- /dev/null +++ b/sources/db2.in/c3d/firstboot/scripts/10_installdb2.sh @@ -0,0 +1,8 @@ +#!/bin/sh + + +REAL_PATH=$(realpath $(dirname $0)) +DATA_PATH=$(realpath $REAL_PATH/../data) + + +/data/v11.5.8/db2setup -r $DATA_PATH/db2server.rsp diff --git a/sources/db2.in/c3d/firstboot/scripts/20_setupdb2.sh b/sources/db2.in/c3d/firstboot/scripts/20_setupdb2.sh new file mode 100755 index 0000000..10f754b --- /dev/null +++ b/sources/db2.in/c3d/firstboot/scripts/20_setupdb2.sh @@ -0,0 +1,9 @@ +#!/bin/sh + + +REAL_PATH=$(realpath $(dirname $0)) +DATA_PATH=$(realpath $REAL_PATH/../data) + + +su --login db2admin --command "db2iauto -on db2admin" +/usr/local/bin/catalog-objects.sh diff --git a/sources/db2.in/c3d/firstboot/scripts/90_setupservices.sh b/sources/db2.in/c3d/firstboot/scripts/90_setupservices.sh new file mode 100755 index 0000000..5cb3ae8 --- /dev/null +++ b/sources/db2.in/c3d/firstboot/scripts/90_setupservices.sh @@ -0,0 +1,10 @@ +#!/bin/sh + + +#systemctl enable named.service +#systemctl start named.service +systemctl enable NetworkManager-wait-online.service +systemctl start NetworkManager-wait-online.service + +systemctl enable logrotate.timer +systemctl start logrotate.timer diff --git a/sources/db2.in/c3d/mode.txt b/sources/db2.in/c3d/mode.txt new file mode 100644 index 0000000..507117b --- /dev/null +++ b/sources/db2.in/c3d/mode.txt @@ -0,0 +1,7 @@ +# mode file (relative to /c3d) +755 firstboot/scripts/*.sh +600 postinstall/install-data/etc/ssh/ssh_host_*_key +644 postinstall/install-data/etc/ssh/ssh_host_*_key.pub +600 postinstall/install-data/etc/ssh/sshd_config.d/*.conf +755 postinstall/install-data/usr/local/bin/*.sh +755 postinstall/scripts/*.sh diff --git a/sources/db2.in/c3d/owner.txt b/sources/db2.in/c3d/owner.txt new file mode 100644 index 0000000..49158bf --- /dev/null +++ b/sources/db2.in/c3d/owner.txt @@ -0,0 +1 @@ +# owner file (relative to /c3d) diff --git a/sources/db2.in/c3d/postinstall/install-data/etc/ssh/ssh_host_ed25519_key b/sources/db2.in/c3d/postinstall/install-data/etc/ssh/ssh_host_ed25519_key new file mode 100644 index 0000000..383969b --- /dev/null +++ b/sources/db2.in/c3d/postinstall/install-data/etc/ssh/ssh_host_ed25519_key @@ -0,0 +1,7 @@ +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW +QyNTUxOQAAACCNiaqhmsNw+NTH5SPFVUDvuylpboFBfr6od7h7BA7aMAAAAIjNi5GkzYuR +pAAAAAtzc2gtZWQyNTUxOQAAACCNiaqhmsNw+NTH5SPFVUDvuylpboFBfr6od7h7BA7aMA +AAAED2vrG+qg+vTD+/u79ygXT6qLkXwG4H0Wev6Iw/mynNMI2JqqGaw3D41MflI8VVQO+7 +KWlugUF+vqh3uHsEDtowAAAAAAECAwQF +-----END OPENSSH PRIVATE KEY----- diff --git a/sources/db2.in/c3d/postinstall/install-data/etc/ssh/ssh_host_ed25519_key-cert.pub b/sources/db2.in/c3d/postinstall/install-data/etc/ssh/ssh_host_ed25519_key-cert.pub new file mode 100644 index 0000000..bf38c2e --- /dev/null +++ b/sources/db2.in/c3d/postinstall/install-data/etc/ssh/ssh_host_ed25519_key-cert.pub @@ -0,0 +1 @@ +ssh-ed25519-cert-v01@openssh.com AAAAIHNzaC1lZDI1NTE5LWNlcnQtdjAxQG9wZW5zc2guY29tAAAAIHFMOowUWwIjly9imfdte+ykKn3VCT/yaMPU+BCCHVHUAAAAII2JqqGaw3D41MflI8VVQO+7KWlugUF+vqh3uHsEDtowAAAAAAAAAAAAAAACAAAAEWRiMi5pbi51c2VyaWJtLmh1AAAAAAAAAAAAAAAA//////////8AAAAAAAAAAAAAAAAAAAAzAAAAC3NzaC1lZDI1NTE5AAAAIEXYIIzrUSx8/BQ6/ttkSr5oEyB5F5Yg4bp1DOkqDON9AAAAUwAAAAtzc2gtZWQyNTUxOQAAAEAp5N/fBde6RZbJx+KiOQpAPNFUTH4AkYhp0ID+lW1DZpN0hmPQHaH5hVym2NCYoW8oYwSXwIqa2Iao+RBJf/4F ssh_host_ed25519_key.pub diff --git a/sources/db2.in/c3d/postinstall/install-data/etc/ssh/ssh_host_ed25519_key.pub b/sources/db2.in/c3d/postinstall/install-data/etc/ssh/ssh_host_ed25519_key.pub new file mode 100644 index 0000000..a4a1251 --- /dev/null +++ b/sources/db2.in/c3d/postinstall/install-data/etc/ssh/ssh_host_ed25519_key.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII2JqqGaw3D41MflI8VVQO+7KWlugUF+vqh3uHsEDtow diff --git a/sources/db2.in/c3d/postinstall/install-data/etc/ssh/sshd_config.d/99-host-cert.conf b/sources/db2.in/c3d/postinstall/install-data/etc/ssh/sshd_config.d/99-host-cert.conf new file mode 100644 index 0000000..173b545 --- /dev/null +++ b/sources/db2.in/c3d/postinstall/install-data/etc/ssh/sshd_config.d/99-host-cert.conf @@ -0,0 +1 @@ +HostCertificate /etc/ssh/ssh_host_ed25519_key-cert.pub diff --git a/sources/db2.in/c3d/postinstall/install-data/etc/ssh/sshd_config.d/99-user-CA.conf b/sources/db2.in/c3d/postinstall/install-data/etc/ssh/sshd_config.d/99-user-CA.conf new file mode 100644 index 0000000..115882b --- /dev/null +++ b/sources/db2.in/c3d/postinstall/install-data/etc/ssh/sshd_config.d/99-user-CA.conf @@ -0,0 +1 @@ +TrustedUserCAKeys /etc/ssh/trusted-user-ca.keys diff --git a/sources/db2.in/c3d/postinstall/install-data/etc/ssh/trusted-user-ca.keys b/sources/db2.in/c3d/postinstall/install-data/etc/ssh/trusted-user-ca.keys new file mode 100644 index 0000000..84d19e3 --- /dev/null +++ b/sources/db2.in/c3d/postinstall/install-data/etc/ssh/trusted-user-ca.keys @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICcf/XXU8dNVtbveGmwbdnRJfYIItzxKmgRkzlp0k6r5 user-CA diff --git a/sources/db2.in/c3d/postinstall/install-data/usr/local/bin/catalog-objects.sh b/sources/db2.in/c3d/postinstall/install-data/usr/local/bin/catalog-objects.sh new file mode 100755 index 0000000..5266e79 --- /dev/null +++ b/sources/db2.in/c3d/postinstall/install-data/usr/local/bin/catalog-objects.sh @@ -0,0 +1,119 @@ +#!/bin/sh + + +POSTINSTALL_DATA_PATH=/c3d/postinstall/data +POSTINSTALL_SCP_PATH=/c3d/postinstall/scp +RESTORE_PATH=$(mktemp --directory) +TMP_PATH=$(dirname $RESTORE_PATH) + + +if [ ! -f $POSTINSTALL_SCP_PATH/db2.tar ] +then + echo "No object list file found, exiting" >&2 + rm --force --recursive $RESTORE_PATH + exit 1 +fi + +tar --extract \ + --directory=$RESTORE_PATH \ + --file $POSTINSTALL_SCP_PATH/db2.tar + + +NODE_DIRECTORY=$RESTORE_PATH/backup/node.directory +cat $NODE_DIRECTORY +NODES_EXIST=$(grep --count 'Number of entries in the directory' $NODE_DIRECTORY) +if [ $NODES_EXIST -eq 1 ] +then + NODE_COUNT=$(grep 'Number of entries in the directory' $NODE_DIRECTORY \ + | cut -f 2 -d '=' | tr -d ' ') + CURRENT_NODE=1 + while [ $CURRENT_NODE -le $NODE_COUNT ] + do + NODE_NAME=$(grep --after-context=7 "Node $CURRENT_NODE entry:" $NODE_DIRECTORY \ + | grep 'Node name' | cut -f 2 -d '=' | tr -d ' ') + COMMENT=$(grep --after-context=7 "Node $CURRENT_NODE entry:" $NODE_DIRECTORY \ + | grep 'Comment' | cut -f 2 -d '=' | sed 's/^ //') + PROTOCOL=$(grep --after-context=7 "Node $CURRENT_NODE entry:" $NODE_DIRECTORY \ + | grep 'Protocol' | cut -f 2 -d '=' | tr -d ' ') + HOSTNAME=$(grep --after-context=7 "Node $CURRENT_NODE entry:" $NODE_DIRECTORY \ + | grep 'Hostname' | cut -f 2 -d '=' | tr -d ' ') + SERVICE_NAME=$(grep --after-context=7 "Node $CURRENT_NODE entry:" $NODE_DIRECTORY \ + | grep 'Service name' | cut -f 2 -d '=' | tr -d ' ') + COMMAND="db2 catalog $PROTOCOL node $NODE_NAME" + COMMAND="$COMMAND remote $HOSTNAME server $SERVICE_NAME" + if [ -n "$COMMENT" ] + then + COMMAND="$COMMAND with \'\"$COMMENT\"\'" + fi + su --login db2admin --command "$COMMAND" + CURRENT_NODE=$(( $CURRENT_NODE + 1 )) + done +else + echo "No nodes exist" +fi + +DATABASE_DIRECTORY=$RESTORE_PATH/backup/database.directory +cat $DATABASE_DIRECTORY +DATABASES_EXIST=$(grep --count 'Number of entries in the directory' $DATABASE_DIRECTORY) +if [ $DATABASES_EXIST -eq 1 ] +then + DATABASE_COUNT=$(grep 'Number of entries in the directory' $DATABASE_DIRECTORY \ + | cut -f 2 -d '=' | tr -d ' ') + CURRENT_DATABASE=1 + while [ $CURRENT_DATABASE -le $DATABASE_COUNT ] + do + DATABASE_ALIAS=$(grep --after-context=10 \ + "Database $CURRENT_DATABASE entry:" \ + $DATABASE_DIRECTORY \ + | grep 'Database alias' \ + | cut -f 2 -d '=' | tr -d ' ') + DATABASE_NAME=$(grep --after-context=10 \ + "Database $CURRENT_DATABASE entry:" \ + $DATABASE_DIRECTORY \ + | grep 'Database name' \ + | cut -f 2 -d '=' | tr -d ' ') + LOCAL_DB_DIRECTORY=$(grep --after-context=10 \ + "Database $CURRENT_DATABASE entry:" \ + $DATABASE_DIRECTORY \ + | grep 'Local database directory' \ + | cut -f 2 -d '=' | tr -d ' ') + NODE_NAME=$(grep --after-context=10 \ + "Database $CURRENT_DATABASE entry:" \ + $DATABASE_DIRECTORY \ + | grep 'Node name' \ + | cut -f 2 -d '=' | tr -d ' ') + COMMENT=$(grep --after-context=10 \ + "Database $CURRENT_DATABASE entry:" \ + $DATABASE_DIRECTORY \ + | grep 'Comment' \ + | cut -f 2 -d '=' | sed 's/^ //') + ENTRY_TYPE=$(grep --after-context=10 \ + "Database $CURRENT_DATABASE entry:" \ + $DATABASE_DIRECTORY \ + | grep 'Directory entry type' \ + | cut -f 2 -d '=' | tr -d ' ') + COMMAND="db2 catalog database $DATABASE_NAME as $DATABASE_ALIAS" + case "$ENTRY_TYPE" in + "Indirect") + COMMAND="$COMMAND on $LOCAL_DB_DIRECTORY" + ;; + "Remote") + COMMAND="$COMMAND at node $NODE_NAME" + ;; + *) + echo "Invalid entry type: $ENTRY_TYPE" >&2 + exit 1 + ;; + esac + if [ -n "$COMMENT" ] + then + COMMAND="$COMMAND with \'\"$COMMENT\"\'" + fi + su --login db2admin --command "$COMMAND" + CURRENT_DATABASE=$(( $CURRENT_DATABASE + 1 )) + done +else + echo "No databases exist" +fi + +rm --force --recursive $RESTORE_PATH diff --git a/sources/db2.in/c3d/postinstall/install-data/usr/local/bin/list-objects.sh b/sources/db2.in/c3d/postinstall/install-data/usr/local/bin/list-objects.sh new file mode 100755 index 0000000..80474d5 --- /dev/null +++ b/sources/db2.in/c3d/postinstall/install-data/usr/local/bin/list-objects.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -x + + +BACKUP_BASE=$(mktemp --directory) +BACKUP_PATH=$BACKUP_BASE/backup +TMP_PATH=$(dirname $BACKUP_BASE) + + +mkdir $BACKUP_PATH +su --login db2admin --command "db2 list database directory" >$BACKUP_PATH/database.directory +su --login db2admin --command "db2 list node directory" >$BACKUP_PATH/node.directory + +echo "Creating backup archive" +tar --create \ + --directory=$BACKUP_BASE \ + --file $TMP_PATH/db2.tar \ + backup + +rm --force --recursive $BACKUP_BASE diff --git a/sources/db2.in/c3d/postinstall/scp/copy.list b/sources/db2.in/c3d/postinstall/scp/copy.list new file mode 100644 index 0000000..6c35814 --- /dev/null +++ b/sources/db2.in/c3d/postinstall/scp/copy.list @@ -0,0 +1,2 @@ +# source_host source_path +db2.in.useribm.hu /tmp/db2.tar diff --git a/sources/db2.in/c3d/postinstall/scripts/10_setupservices.sh b/sources/db2.in/c3d/postinstall/scripts/10_setupservices.sh new file mode 100755 index 0000000..15d7944 --- /dev/null +++ b/sources/db2.in/c3d/postinstall/scripts/10_setupservices.sh @@ -0,0 +1,6 @@ +#!/bin/sh + + +systemctl disable NetworkManager-wait-online.service + +systemctl disable logrotate.timer diff --git a/sources/db2.in/c3d/postinstall/ssh/run.list b/sources/db2.in/c3d/postinstall/ssh/run.list new file mode 100644 index 0000000..40221a4 --- /dev/null +++ b/sources/db2.in/c3d/postinstall/ssh/run.list @@ -0,0 +1,2 @@ +# target_host target_user target_executable +db2.in.useribm.hu root /usr/local/bin/list-objects.sh diff --git a/sources/db2.in/config b/sources/db2.in/config new file mode 100644 index 0000000..02bd249 --- /dev/null +++ b/sources/db2.in/config @@ -0,0 +1,26 @@ +lxc.include = /usr/share/lxc/config/common.conf + +lxc.arch = x86_64 +lxc.uts.name = db2.in.useribm.hu +lxc.rootfs.path = __CONTAINER_PATH__/rootfs +lxc.rootfs.options = idmap=container +lxc.mount.auto = proc:rw sys:ro +lxc.mount.entry = __CONTAINER_FILESYSTEMS_PATH__ data none bind,create=dir 0 0 + +lxc.net.0.type = veth +lxc.net.0.flags = up +lxc.net.0.link = brci-dev +lxc.net.0.hwaddr = 02:0c:18:03:6d:a6 + +lxc.autodev = 1 + +lxc.cgroup2.devices.allow = a + +lxc.idmap = u 0 100000 100000 +lxc.idmap = g 0 100000 100000 + +lxc.signal.halt = SIGRTMIN+4 + +lxc.start.auto = 1 +lxc.start.order = __CONTAINER_START_ORDER__ +lxc.start.delay = 5 diff --git a/sources/db2.in/envvars b/sources/db2.in/envvars new file mode 100644 index 0000000..a1157dd --- /dev/null +++ b/sources/db2.in/envvars @@ -0,0 +1,21 @@ +DISTRIBUTION=Fedora +DISTRIBUTION_VERSION=39 +SPEC_PACKAGES="bash-completion \ + binutils \ + cpp \ + file \ + gcc \ + gcc-c++ \ + kernel-devel \ + ksh \ + libaio \ + libgomp \ + libxcrypt-compat \ + make \ + numactl-libs \ + openssh-clients \ + openssh-server \ + patch \ + rpm \ + sg3_utils \ + which" -- 2.54.0