问题
I'm newbie in DB2 database administration and I couldn't think that I'd be stuck with the installation process. I read some documents before installation and found an interesting "db2prereqcheck" thing.
So I tried to run it before installation and got an error:
DBT3505E The db2prereqcheck utility was unable to determine the Linux distribution level.
About this error from ibm:
- IBM Knowledge Center: DBT3505E
- IBM Support: db2prereqcheck fails checking Linux distribution
I found some other answers where suggest to delete the files "/etc/issue" and "/etc/issue.net".
I checked my "/etc/issue*" files according to the tips. I filled that files with the example from the article in IBM Support, but nothing has changed. I tried running this script on other servers with CentOS, Debian operating systems, but got another error:
./db2prereqcheck
DBI1189E There has been an attempt to use db2prereqcheck
on an image for a platform that does not match the current platform
'Linux/x86-64' on which it is being run.
Explanation:
Possible causes include:
- This DB2 install image is not valid for the current
platform.
- The current platform is not supported by DB2.
User Response:
Install DB2 using the DB2 install image that corresponds
with the current platform 'Linux/x86-64'.
I've already installed db2, but my self-esteem is down. So the question is: my hands are a problem or is the problem in another? And how to make db2 work
Technical details:
cat /etc/issue
Amazon Linux AMI release 2018.03
Kernel \r on an \m
cat /etc/*-rel*
NAME="Amazon Linux AMI"
VERSION="2018.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2018.03"
PRETTY_NAME="Amazon Linux AMI 2018.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2018.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
Amazon Linux AMI release 2018.03
cpe:/o:amazon:linux:2018.03:ga
uname -a
Linux hostname.host 4.14.47-56.37.amzn1.x86_64 #1 SMP Wed Jun 6 18:49:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
As you may have noticed, this is an EC2 instance.
DB2 versions:
- IBM® Db2 11.1 Developer-C Edition for Linux® on AMD64 and Intel® EM64T systems (x64)
- IBM® DB2 Express-C Version 11.1
I would appreciate your help in this matter. Thank you for your time.
回答1:
If db2prereqcheck reports :
DBT3505E The db2prereqcheck utility was unable to determine the Linux distribution level. Aborting the current installation ... Run installation with the option "-f sysreq" parameter to force the installation.
and if other IBM suggestions do not apply, then you may be able to avoid this symptom with the following workaround:
(as root)
cp /etc/os-release /etc/lsb-release
The reason it works is that some versions of db2prereqcheck look only for the following files in turn:
/etc/centos-release
/etc/redhat-release
/etc/SuSE-release
/etc/lsb-release
If none of those files are present, the DBT3505E symptom can result. If your distro (or container) has an equivalent file (for example, Debian may have /etc/os-release) then simply copying it to /etc/lsb-release will allow db2prereqcheck to complete.
回答2:
db2prereqcheck checks and understands only /etc/SuSE-release with the following content:
SUSE Linux Enterprise Server 15 (x86_64)
VERSION = 15
PATCHLEVEL= 1
This works also with OpenSuse Leap 15.1. This file is deprecated since SLES 12. So you must create it your self. Then run db2prereqcheck and install all missing libraries and kernel sources mentioned. Having all requirements fulfilled you may finally see the segmentation fault message:
Validating "Intel TCO WatchDog Timer Driver modules" ... DBT3546E The db2prereqcheck utility failed to determine whether the following file or package exists: "". Segmentation fault (core dumped)
Don't worry! Simply retest with db2prereqcheck -i. The -i parameter checks for prerequisites that are not Db2 pureScale related. If we don't install pureScale and all requirement are fulfilled, we can ignore this ugly segmentation fault. Otherwise you must blacklist by adding:
blacklist iTCO_wdt blacklist iTCO_vendor_support Into the file /etc/modprobe.d/blacklist.conf
A further issue is related to:
export DISPLAY=your.machine.ip:0.0
running ./db2setup as root doesn't work. ./db2_install is deprecated, but it works. First create the db2 users and groups as described by the IBM Knowledge Center. Then run ./db2_install as root, followed by creating an instance using db2icrt. Login as db2inst1 and test as described by the IBM Knowledge Center eventually creating the SAMPLE Database, etc. Normally "first steps" would do the job, but it crashes with javascript error. Hence you must do it manually! Additional manual configuration may be required as opening the firewall for port 50001 and setting this port within /etc/services and within dbm cfg with:
db2 update dbm cfg using SVCENAME 50001
or
db2 update dbm cfg using SVCENAME db2c_db2inst1
If you use the latter you must update /etc/services with the line:
db2c_db2inst1 50001/tcp #and a comment like db2 tcp/ip connection port.
来源:https://stackoverflow.com/questions/50984454/db2-db2prereqcheck-how-to-make-it-work