最近想在openwrt直接运行minecraft服务器,然后openwrt没有jdk包,然后alpine有,所以直接安装alpine的jdk包就好,但是安装后就不能删除了,大概因为openjdk有Musl和BusyBox,我之前试试一下,apk del openjdk11-jdk ,结果软由路崩了,凉凉
PS:注意,这种方法只可以apk add命令,不能用apk del命令,用了del它会删除musl包,这样openwrt会崩的,openwrt会崩的,openwrt会崩的,重要事情说三遍!!!
主要参考:转载至[学习,记录,骚操作] 在openwrt上搭建MC服务器:https://blog.yingye.site/2021/04/26/%E5%9C%A8openwrt%E4%B8%8A%E6%90%AD%E5%BB%BAmc%E6%9C%8D%E5%8A%A1%E5%99%A8
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/[email protected] x86_64/APKINDEX.tar.gz apk add -X https://dl-cdn.alpinelinux.org/alpine/v3.16/main -u alpine-keys
安装JRE或JDK,现在openwrt已经安装apk了,可以安装java环境了
apk add openjdk17-jre
要是有特殊需求也可以安装完整的jdk
apk add openjdk17-jdk
java安装在
下面是安装了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面板可以挂,但守护进程不能挂