Upgrading to Java 16 from the MineOS Turnkey ISO

Update – Server seems to be running well. Checking for java after SSH’ing to the computer shows the correct version:

mc@mineos-tkldev ~$ java --version
openjdk 16.0.1 2021-04-20
OpenJDK Runtime Environment (build 16.0.1+9-24)
OpenJDK 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)

I upgraded to openjdk 16, but now my servers won’t start. Any ideas?

Running MIneOS Turnkey x64 “Stretch”

root@MineOS-2 …/games/minecraft# java -version
openjdk version “16.0.1” 2021-04-20
OpenJDK Runtime Environment (build 16.0.1+9-24)
OpenJDK 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)

I deleted all my java arguments and that worked. The arguments I was using with openjdk 8 must not be compatible with openjdk 16.

1 Like

EDIT: I managed to solve it by reinstalling MineOS Turnkey and before attempting the steps in this guide, I headed to /usr/bin and manually deleted the jar symlink (I believe it was).

If anyone else has the same problem, here is what I did:

  1. Did a full reinstall of MineOS Turnkey from my USB stick

  2. Using FileZilla, I connected to the MineOS computer from my personal computer as root and headed to /usr/bin and removed the jar symlink manually. (If I tried accessing /usr/bin/jar, an error message stating it doesn’t exist appears. I downloaded the file before deleting it to see that it actually was a file of something.)

  3. In the terminal/console/whatever you call it I did the following (typing it in manually):
    apt remove java-common
    wget https://download.java.net/java/GA/jdk16.0.1/7147401fd7354114ac51ef3e1328291f/9/GPL/openjdk-16.0.1_linux-x64_bin.tar.gz
    tar -xf openjdk-16.0.1_linux-x64_bin.tar.gz -C /opt/
    ln -s /opt/jdk-16.0.1/bin/java /usr/bin/java

  4. I tried starting a fresh minecraft server with the Minecraft version 1.17-rc1 and it worked perfectly.

End of edit.

Old post:
Hi.

General information about my skill level and OS

First of all, I am a noob. I’m not that experienced with Linux. I understand it somewhat, but there’s only the console and I’m used to Windows. I would love to learn how Linux works, but now I’m in a rush for the 1.17 release.
I use the MineOS Turnkey (Downloaded the ISO with Rufus and use it as the only OS).

I can’t start any of the Minecraftversions 1.17-preX or 1.17-rc1. Only versions before 1.17 works. So I searched for a solution and found this article, but something’s not working for me.
I did these steps:

apt remove java-common

wget https://download.java.net/java/GA/jdk16.0.1/7147401fd7354114ac51ef3e1328291f/9/GPL/openjdk-16.0.1_linux-x64_bin.tar.gz

tar -xf openjdk-16.0.1_linux-x64_bin.tar.gz -C /opt/

ln -s /opt/jdk-16.0.1/bin/java /usr/bin/java

However, the last command failed. I get this error message:
Failed to create symbolic link '/usr/bin/java': File exists

I googled it, and the only thing I learned is that it is like a shortcut.
I tried finding the file using FileZilla and if I try to delete it manually, it says:

Error: Directory /usr/lib/jvm/java-11-openjdk-amd64: no such file or directory Error: Failed to retrieve directory listing

Any idea?

Thanks in advance,
Opsi

1 Like

If this is helpful at all, this is how I have mine set up for MineOS Turnkey following @TomGMiner’s guide and @ctabone’s response. Thanks you too!

(trashy formatting incoming, was formatted for discord and reposted :laughing: )

1 Like

Hello, I am currently trying this for my TrueNAS jail and the line
“tar -xf openjdk-15.0.2_linux-x64_bin.tar.gz -C /opt/”
returns with
could not chdir to ‘/opt’

How can I fix this?

Thank you!

3 Likes

TrueNAS user here, as well.
If anyone else has TrueNAS/FreeNAS and can come up with a modified set of instructions, it would be greatly appreciated! Likewise, if I happen to find a modified set of instructions for TrueNAS/FreeNAS, I will be sure to post here.

2 Likes

Here is a solution for upgrading Java for MineOS on TrueNAS (FreeNAS)

Would like to point out, if your FTP denies you permission to delete your java file in /usr/bin you can run ‘chown -R name:name /usr/bin’ in ssh (with “name” being your username).

NOTE:

As of June 28, Java16 comes standard in the MineOS Turnkey ISO.

This shows you how to go from Java 8 to Java 15, is it possible to go from Java 8 to Java 16 skipping 15?

These instructions have already been modified to bring you directly to Java 16.

when I used this command this happened.
image
It says that something failed because of the 38 but in filezilla I see the file downloaded. Yet the next command (tar…) isnt working.

Edit: I ran the next command anyway and this seems like another unrelated problem
image

I’m really sorry about this 38–that is 100% a flub on the keyboard–definitely does not need to be there, in the least. That said, it still appears that the file was downloaded without issue.

You state that the next command tar doesn’t work–what was the error?

The ln -s will not work for two reasons:

  1. the tar step didn’t work
  2. you put /user/bin/java–be sure to be checking the path: /usr/bin/java

The slight typo means it’s trying to put the symlink in /user/bin/, but bash was unwilling to make two new directories (/user and /user/bin`) to do it. It’s a safeguard, so what’s good is there’s nothing it did you need to undo.

The tar issue is the real concern. Let me know what the error you get there is.

I’m not sure what the error is, when I run the command nothing happens. There isn’t an error but unlike every other command, it also doesn’t have anything to say that the command worked.

I just ran the tar and In command again, this time the In didnt have an error but just like the tar command nothing showed up to confirm it worked. I tried to run a 1.17 server, it didnt work but the 1.16.5 server still does.

Note: I’m just changing the profile of the server from 1.16.5 to 1.17, I haven’t tried to make a new complete new server.

Okay so… after 3 hours and some help from my aunt who has a computer science degree, the 1.17 server works.

When nothing showed up to confirm that those commands worked, I think they still did work. And the only other problem that I can think of now that I had to fix was redownloading the 1.17 profile.
I had already downloaded it before I updated to Java 16, I dont know how that made the server incapable of running but when I downloaded it a second time it seemed to work.
@hexparrot thank you for your time and thank you for helping me with my problem. I appreciate all the work you do.

1 Like

@hexparrot thank you for your clear, precise and simple guide. It took me a couple of minutes to update with your instructions.

For anyone having issues about servers not starting after the update. Remove all your Java arguments and your servers will start up just fine.

1 Like

wget https://download.java.net/java/GA/jdk16.0.1/7147401fd7354114ac51ef3e1328291f/9/GPL/openjdk-16.0.1_linux-x64_bin.tar.gz

for me it says wget: not found

Perhaps wget is not installed.

I can’t give an explanation for why it is not, but as is the case with Linux in general, if it’s not there when you need it, you only need to add it, then continue on:

apt install wget