记录linux运行服务提示报错/bin/java: 没有那个文件或目录

描述:在执行jar启动命令时候提示 没有/bin/java 这个文件或者目录;然后我vi /usr/bin/java,是存在该文件的;那到底是什么问题呢,该不是没有创建软连接吧?于是

1、执行下述命令先测试下软链接是否有创建

ln -s $JAVA_HOME/bin/java /usr/bin/java

 2、创建说明已存在,说明是软连接失效了;

3、先删除软连接

cd /usr/bin
rm -rf java

4、再次执行上述执行创建软连接的命令即可。 -

ln -s $JAVA_HOME/bin/java /usr/bin/java

<think>嗯,用户遇到了达梦数据库安装过程中出现的JDK路径错误问题,报错信息是"/tmp/DMInstall/source/jdk/bin/java: 没有那个文件目录"。这个问题很典型,通常是安装包自带的JDK与操作系统架构不匹配导致的。 用户应该是在Linux环境下安装达梦数据库,从报错路径看是官方安装包解压后的临时目录。让我想想可能的原因:首先排除临时空间不足(引用[2]提到过这种情况但报错信息不同),核心矛盾在于安装程序找不到java可执行文件。最可能的情况是安装包内置的JDK版本与当前操作系统架构不兼容,比如x86的JDK跑在ARM机器上。 用户可能已经尝试过直接运行安装脚本,看到报错后有点着急。考虑到达梦数据库常用于企业生产环境,用户大概率是运维人员开发者,需要快速解决问题。深层需求其实是顺利完成安装,而不仅是解决这个报错。 解决方案需要分层次:最直接的方法是检查系统架构并替换兼容的JDK。如果用户有现成的JDK环境,也可以跳过安装包自带的JDK。突然想到引用[3][4]提供的java环境配置思路也值得参考,不过要结合达梦安装特性调整。 操作步骤上需要特别注意权限问题,dmdba用户的环境变量可能和root不同。另外安装完成后记得清理临时目录,否则下次安装可能冲突。用户如果遇到更复杂的依赖问题,比如引用[5]提到的动态库缺失,可能需要额外处理,不过当前报错还没到那一步。 对了,还要提醒用户验证java路径的权限,有时候解压后文件没执行权限也会报类似错误。如果用户是ARM架构的统信UOS麒麟系统,更要特别注意JDK兼容性。</think>根据报错信息`/tmp/DMInstall/source/jdk/bin/java: 没有那个文件目录`,核心问题是**安装包自带的JDK组件与操作系统架构不兼容**。以下是系统性的解决方案: --- ### **原因分析** 1. **JDK架构不匹配** 达梦安装包内置的JDK(通常是x86_64版本)无法在ARM架构(如鲲鹏、飞腾芯片)MIPS架构的国产操作系统(如统信UOS、麒麟OS)上运行。 2. **JDK文件损坏权限问题** 安装包解压异常JDK文件权限错误导致`java`命令不可执行。 --- ### **解决方案** #### ✅ 方法一:替换兼容的JDK(推荐) **步骤:** 1. **下载匹配的JDK** 获取与操作系统架构一致的JDK(如ARM版本)并解压,例如存放至`/home/dmdba/jdk-arm64`。 2. **替换安装包中的JDK** ```bash # 进入达梦安装包解压目录 cd /tmp/DMInstall/source # 备份原JDK mv jdk jdk_bak # 链接到新JDK ln -s /home/dmdba/jdk-arm64 jdk ``` 3. **重试安装** 重新执行安装命令: ```bash ./DMInstall.bin -i ``` #### ✅ 方法二:跳过内置JDK,使用系统环境变量 **步骤:** 1. **配置系统JDK环境** 确保系统已安装兼容的JDK,并配置环境变量(引用[4]): ```bash export JAVA_HOME=/usr/lib/jvm/jdk-11.0.15 # 修改为实际路径 export PATH=$JAVA_HOME/bin:$PATH ``` 执行`source /etc/profile`生效。 2. **验证Java可用性** ```bash java -version # 输出正确版本则成功 ``` 3. **修改安装脚本** 编辑安装脚本`DMInstall.bin`: ```bash vi DMInstall.bin ``` 搜索`/tmp/DMInstall/source/jdk/bin/java`,将其替换为系统JDK路径: ```bash # 原行(约第619行) $DM_INSTALL_TMPDIR/source/jdk/bin/java ... # 修改为 $JAVA_HOME/bin/java ... ``` 4. **重试安装** ```bash ./DMInstall.bin -i ``` #### ✅ 方法三:临时目录权限修复(若JDK本身正常) ```bash # 赋予JDK执行权限 chmod -R +x /tmp/DMInstall/source/jdk/bin/* # 清理残留临时文件 rm -rf /tmp/DMInstall # 重新解压安装包并执行 unzip DMInstall.zip -d /tmp/DMInstall ./DMInstall.bin -i ``` --- ### **关键验证点** 1. **操作系统架构** ```bash uname -m # 输出aarch64(ARM)x86_64(Intel) ``` 2. **JDK兼容性** ```bash file /path/to/java # 查看文件架构类型 ``` 输出应为当前系统架构(如`ELF 64-bit LSB executable, ARM aarch64`)。 --- ### **预防措施** - **安装前检查**:使用`file`命令验证安装包内`jdk/bin/java`的架构。 - **官方支持**:从[达梦官网](https://www.dameng.com)下载对应操作系统版本的安装包。 - **临时目录设置**:若`/tmp`空间不足,按引用[2]设置`export DM_INSTALL_TMPDIR=/custom_tmp`。 > **引用说明** > 替换JDK思路参考环境变量配置原则[^4],临时目录处理借鉴空间不足的解决方案[^2],权限修复与文件验证结合系统运维经验[^3][^5]。 --- ### 相关问题 1. **如何检查Linux操作系统的CPU架构类型?** 2. **达梦数据库安装时提示`/tmp空间不足`该如何处理?** 3. **ARM架构服务器安装传统x86件有哪些通用兼容性解决方案?** 4. **如何永久配置Linux系统的JAVA环境变量?**
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bug菌¹

你的鼓励将是我创作的最大动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值