openwrt安装jdk本地部属Mcsm

本文介绍了如何在OpenWRT上安装Alpine的JDK,包括解决因Musl和BusyBox导致的删除问题,以及注意事项,如先安装必要的系统组件以防止系统崩溃。作者还提到使用alias设置Java版本别名以简化Java版本切换。
摘要由CSDN通过智能技术生成

        最近想在openwrt直接运行minecraft服务器,然后openwrt没有jdk包,然后alpine有,所以直接安装alpine的jdk包就好,但是安装后就不能删除了,大概因为openjdk有Musl和BusyBox,我之前试试一下,apk del openjdk11-jdk ,结果软由路崩了,凉凉,解决了请下面的贴:

关于openwrt安装了alpine的apk del会崩这件事!!!

PS:注意,这种方法可以apk del命令,但请先安装apk add musl busybox busybox-binsh apk-tools这些包,再去用apk del命令,不安装这些包直接安装其它软件系统会崩的,这样openwrt会崩的,openwrt会崩的,openwrt会崩的,重要事情说三遍!!!

        主要参考:转载至[学习,记录,骚操作] 在openwrt上搭建MC服务器

        还有一篇是可以参考的,这个没有用apk包管理器,没有软由路崩的风险,直接手动安装了alpine的JDK:Apparently Yes! You can install OpenJDK (Java) JRE and YaCy on OpenWrt - DEV Community


   1、先安装apk,screen用于新建一个shell窗口,保证在断开连接后,服务器依旧能运行

opkg update && opkg install apk alpine-keys alpine-repositories screen

2、换源,最新的源才能用jdk17

vi /etc/apk/repositories

官方源:

https://dl-cdn.alpinelinux.org/alpine/latest-stable/main
https://dl-cdn.alpinelinux.org/alpine/latest-stable/community

清华镜像源:

https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/main
https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/community

3、更新源

先输入apk update,然后出现报错UNTRUSTED signature,可添加--allow-untrusted参数

原因是:Alpine Linux edge signing keys rotated | Alpine Linux

解决方法,官方源输入:

apk add -X https://dl-cdn.alpinelinux.org/alpine/latest-stable/main -u alpine-keys  --allow-untrusted

清华源输入:

apk add -X https://mirrors.tuna.tsinghua.edu.cn/alpine/latest-stable/main -u alpine-keys  --allow-untrusted

这个命令是在Alpine Linux中添加一个软件包,并从指定的URL安装一个公钥。

apk add 是用来添加软件包的命令。
-X 参数后面跟的是公钥的URL,它告诉 apk 从哪里下载公钥。
-u 参数后面跟的是要添加的软件包的名称,这里是 alpine-keys。
--allow-untrusted 参数允许从不受信任的源安装软件包。

需要注意的是,使用 --allow-untrusted 参数可能会使你的系统面临安全风险,因为它允许从不受信任的源安装软件包。除非你完全信任这个源,否则在生产环境中应该避免使用这个参数。


先添加公钥,再用apk update就行了

Alpine常见指令,详情参考:Alpine 基础

更新软件包索引	apk update
列出所有可更新的版本	apk list -u
更新已安装软件包	apk upgrade

安装最新的软件包	apk add ceph-common
列出所有已安装包	apk list -I
列出软件包内容	apk info -L ceph-common

通过文件查询所属软件包		 apk info -W /usr/lib/librados.so.2
删除已安装软件包	apk del ceph-common
查询软件包信息	apk info ceph-common

搜索软件包	apk search ceph-common
下载软件包	apk fetch ceph-common
安装本地软件包	apk add ./ceph-common-14.2.1-r0.apk
验证本地软件包签名	 apk verify ./ceph-common-14.2.1-r0.apk

显然,索引文件需要进行签名,如有需要,所有 apk 相关的命令都可以通过指定 --allow-untrusted 选项进行规避:
 apk update --allow-untrusted

为源索引文件签名
 abuild-sign -k ~/.abuild/runsisi@hust.edu.cn.rsa x86_64/APKINDEX.tar.gz

apk add -X https://dl-cdn.alpinelinux.org/alpine/v3.16/main -u alpine-keys


这一步很重要,不然后期用apk del会系统崩的,一定要先安装以下系统组件,再去安装其它组件,不然系统会崩的,先运行apk add musl busybox busybox-binsh apk-tools,再apk add openjdk17-jre,不然后apk del openjdk17-jjre会系统崩的,只能重新装系统了

apk add musl busybox busybox-binsh apk-tools

 先安装以上面的命令,再安装JRE或JDK,现在openwrt已经安装apk了,可以安装java环境了

apk add openjdk17-jre

要是有特殊需求也可以安装完整的jdk

apk add openjdk17-jdk

java安装在/usr/lib/jvm文件夹下,使用du -h命令计算,发现完整的jdk占用了193M的空间,需要注意自己的overlay空间是否足够。


下面是安装了openjdk17-jre与openjdk11-jre,

然后用alias去弄别名,这个用运行不同Java,直接vim /etc/profile,新增两行,如下图,参考文章为:

记一次懒人在openwrt软路由系统下更改alias,并永久生效的方法_openwrt alias-CSDN博客

alias java11='/usr/lib/jvm/java-11-openjdk/bin/java'
alias java17='/usr/lib/jvm/java-17-openjdk/bin/java'


重新连接ssh,输入alias,效果如下图,

openwrt上部署go web项目 - 掘金

安装MCSM面板请用手动安装:MCSManager Document

最终效果,其实可以用jenv切换java版本,但不是原生的要移植,不如就直接用alias永久来的方便,Mcsm面板可以挂,但守护进程不能挂

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值