软件包安装完成后,下一步是确保系统能够正确找到这些文件。如果您按照 Bash Shell
启动文件 中的建议设置了登录脚本,请以 root 用户身份创建
openjdk.sh 脚本来更新环境:
cat > /etc/profile.d/openjdk.sh << "EOF"
# Begin /etc/profile.d/openjdk.sh
# 设置 JAVA_HOME 目录
JAVA_HOME=/opt/jdk
# 调整 PATH
pathappend $JAVA_HOME/bin
# 自动 Java CLASSPATH:将 jar 文件复制到 /usr/share/java 目录,或在该目录中创建符号链接。
AUTO_CLASSPATH_DIR=/usr/share/java
pathprepend . CLASSPATH
for dir in `find ${AUTO_CLASSPATH_DIR} -type d 2>/dev/null`; do
pathappend $dir CLASSPATH
done
for jar in `find ${AUTO_CLASSPATH_DIR} -name "*.jar" 2>/dev/null`; do
pathappend $jar CLASSPATH
done
export JAVA_HOME
# 默认情况下,Java 会在 /tmp/hsperfdata_[用户名] 目录中创建几个文件。
# 该目录包含用于性能监控和分析的文件,但在 BLFS 系统上通常不需要。
# 此环境变量禁用该功能。
_JAVA_OPTIONS="-XX:-UsePerfData"
export _JAVA_OPTIONS
unset AUTO_CLASSPATH_DIR dir jar _JAVA_OPTIONS
# End /etc/profile.d/openjdk.sh
EOF
如果安装了 Sudo-1.9.17p2,超级用户应能访问上述变量。请以 root 用户身份执行以下命令:
cat > /etc/sudoers.d/java << "EOF"
Defaults env_keep += JAVA_HOME
Defaults env_keep += CLASSPATH
Defaults env_keep += _JAVA_OPTIONS
EOF
要使用 mandb 将 OpenJDK
手册页包含到其数据库中,请以 root 用户身份执行:
cat >> /etc/man_db.conf << "EOF" &&
# Begin Java addition
MANDATORY_MANPATH /opt/jdk/man
MANPATH_MAP /opt/jdk/bin /opt/jdk/man
MANDB_MAP /opt/jdk/man /var/cache/man/jdk
# End Java addition
EOF
mkdir -p /var/cache/man &&
mandb -c /opt/jdk/man
OpenJDK 使用自己的格式存储 CA 证书。Java
安全模块默认使用 $JAVA_HOME/lib/security/cacerts。为了将所有证书集中存放,我们使用
/etc/pki/tls/java/cacerts。make-ca-1.16.1 页面上的说明此前已在 /etc/pki/tls/java 中创建了该文件。请以 root 用户身份在默认位置设置符号链接:
ln -sfv /etc/pki/tls/java/cacerts /opt/jdk/lib/security/cacerts
使用以下命令检查 cacerts 文件是否已成功安装:
/opt/jdk/bin/keytool -list -cacerts
在提示 Enter keystore password:
时,输入 changeit(默认值)或直接按 “Enter” 键。如果 cacerts 文件安装正确,您将看到证书列表及其各自的相关信息。如果没有,则需要重新安装它们。
如果以后安装了新的 JVM,只需在默认位置创建符号链接即可使用 cacerts。