OpenWrt安装Java到内存物理磁盘里运行环境(JRE)
安装到挂载的外部储存里
以下命令可保存为脚本执行,注意修改 DIR 与 URL 的值
本文的操作在命令行下完成
DIR=/mnt/sda1
DIR 指定安装目录
安装 JRE 需要 150MB 以上的储存空间,对于硬路由,通常需要挂载外部储存
建议挂载物理磁盘,或通过 mount.cifs 等方式挂载网络磁盘
此处假设挂载物理磁盘到 /mnt/sda1
URL=https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/community/x86_64/openjdk11-jre-headless-11.0.23_p9-r0.apk
URL 指定需要安装的 JRE 包
从 https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/community/ 中选择你的指令集架构,搜索 "-jre" 查看可用的 JRE 版本
注意,浏览器打开页面可能会崩溃,建议用以下命令获取包名,注意替换指令集架构
curl -s https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/community/x86_64/ | grep -e '-jre' | awk -F '"' '{print$4}'
OpenJDK 11 以上只需要下载 headless 包,OpenJDK 8 需要下载 base 与 lib
本文示例使用 x86_64 的 openjdk11-jre-headless-11.0.23_p9-r0.apk
curl -Lo /tmp/jre-headless.apk $URL
curl 下载指定的 JRE 包到 /tmp/jre-headless.apk
TEMPDIR=$(mktemp -d) tar xzf /tmp/jre-headless.apk -C $TEMPDIR
tar xzf 把下载的 JRE 包解压到指定的临时文件夹
mv $TEMPDIR/usr/lib/jvm/* $DIR rm -r $TEMPDIR
mv 移动解压后的文件到安装目录
rm -r 删除临时文件夹
chmod +x $DIR/java-*-openjdk/bin
chmod 给 $DIR/Java-*-openjdk/bin 下的二进制文件赋予执行权限
ln -s $DIR/java-*-openjdk/bin/* /usr/bin/
ln -s 为 JRE 文件夹的执行文件创建到 /usr/bin/ 的软链接
注意,升级固件时一般不保留 /usr/bin 下的文件,因此需要重新创建软链接
该命令可添加到开机自启动,重复运行不影响,注意把目录的变量改为实际路径
java -version
创建软链接后,运行 java -version 显示版本信息,代表 JRE 安装成功
安装到内存里
若无法挂载外部储存,可将其安装在 /tmp/ 目录,并在每次重启后执行脚本安装
#!/bin/sh DIR=/tmp/jvm URL=https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/community/x86_64/openjdk11-jre-headless-11.0.23_p9-r0.apk curl -Lo /tmp/jre-headless.apk $URL TEMPDIR=$(mktemp -d) tar xzf /tmp/jre-headless.apk -C $TEMPDIR mv $TEMPDIR/usr/lib/jvm/* $DIR rm -r $TEMPDIR chmod +x $DIR/java-*-openjdk/bin ln -s $DIR/java-*-openjdk/bin/* /usr/bin/
可保存脚本至 /usr/jvm.sh,并在 /etc/rc.local 中添加下面命令
URL=https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/community/x86_64/openjdk11-jre-headless-11.0.23_p9-r0.apk0
sleep 等待 60 秒,考虑到路由器重启到连网的间隔
sh 执行安装脚本
点击链接加入群聊三群:751529538
点击链接加入群聊二群:376877156
点击链接加入群聊【路由器交流群:622891808已满】
本站附件分享,如果附件失效,可以去找找看
饿了么红包