Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DietPi-Software | Unifi Controller #3708

Closed
Gill-Bates opened this issue Aug 9, 2020 · 76 comments
Closed

DietPi-Software | Unifi Controller #3708

Gill-Bates opened this issue Aug 9, 2020 · 76 comments

Comments

@Gill-Bates
Copy link

Gill-Bates commented Aug 9, 2020

The Unifi Controller is a very popular tool on the Raspberry. I found a guide on the net how to install it:

https://smarthome-training.com/de/unifi-controller-raspberry-pi/

Does anyone have the time and inclination to add the Unifi controller to the software archive so that it can be easily installed via dietpi-software?

PS: Be aware of the missing JAVA_HOME-Bug: https://community.ui.com/questions/Java-Home-Directory-Fail-Issue-on-Ubuntu-RESOLVED/1faea5fd-6eda-4be9-a12f-676ef6be2529

@Gill-Bates Gill-Bates changed the title Unifi Controller Software-Request: Unifi Controller Aug 9, 2020
@Gill-Bates
Copy link
Author

Gill-Bates commented Sep 17, 2020

I would to bring this topic up again. Here comes the Steps to Install Unifi on Dietpi. To add this to the Software Catalouge should be not a big deal:

Install correct openJDK

sudo apt install openjdk-8-jdk-headless

Add Repo

echo 'deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list
sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ubnt.com/unifi/unifi-repo.gpg

Install Unifi
sudo apt update; sudo apt install unifi

@Joulinar
Copy link
Collaborator

Joulinar commented Sep 17, 2020

Hi,

many thanks for your request. Just one comment from my side. I don't think it will be implemented if a dependency is openjdk-8 because openjdk-8 is not available on standard Debian repository for Debian Buster systems. Yes it's part of Raspbian Repository but than it would be dedicated to one set of SBC device. Even I'm not sure how it is on Raspberry OS 64bit, as the Foundation will switch to standard Debian repository with it. But it's up to @MichaIng to decide.

@MichaIng MichaIng changed the title Software-Request: Unifi Controller DietPi-Software | Unifi Controller Sep 27, 2020
@rhkean
Copy link
Contributor

rhkean commented Nov 17, 2020

there is a work around for this. I am running the unifi controller on my dietpi raspberry pi 4, but it has to be done very early in the dietpi setup.

I found the reference to this install script on the Ubiqui forums here: https://community.ui.com/questions/UniFi-Installation-Scripts-or-UniFi-Easy-Update-Script-or-UniFi-Lets-Encrypt-or-UniFi-Easy-Encrypt-/ccbc7530-dd61-40a7-82ec-22b17f027776
The author's main website is here: https://glennr.nl/

  1. perform a basic install of dietpi. I booted a fresh install of dietpi, ran dietpi-software to configure the basics, like network setting and such, but did not select any software to install

  2. then do the following: (this will download and run an installation script that will download and configure everything needed to install and run the unifi controller.
    wget "https://get.glennr.nl/unifi/install/unifi-6.0.27.sh" -O install-unifi-6.0.27.sh && chmod +x install-unifi-6.0.27.sh && ./install-unifi-6.0.27.sh

  3. NOTE: if you run the script a second time, it will detect the installation and give you an option to update if there is a newer version available. When I did this a couple weeks ago, only the 6.0.27 version was available for download, but running the script a 2nd time upgraded me to 6.0.28. (there may be a newer version at this time)

  4. after the script completes, then you can run dietpi-software to install other applications as needed. NOTE: I do not run any other java-based applications on my dietpi server, so I can not say whether this will cause any version compatibility issues.

@Gill-Bates
Copy link
Author

Gill-Bates commented Nov 17, 2020

@rhkean Thanks for sharing your Script. I would prefer to using the standard-way with Board-Instruments of Linux as desribed above. Then with this solution, an apt dist-upgrade will also auto-upgrade the Unifi-Controller - without additional Scripts.

But I agree: without any additional customizings (like reducing the Max_Heap_Size=512M down from 1024M), on older Raspberry Pi Models than 3+, the systemctl start Unifi.service would fail.

@Joulinar
Copy link
Collaborator

well the script is still trying to install JAVA8. Not sure if this is an option for nonRPi systems

@rhkean
Copy link
Contributor

rhkean commented Nov 17, 2020 via email

@rhkean
Copy link
Contributor

rhkean commented Nov 17, 2020 via email

@Joulinar
Copy link
Collaborator

Joulinar commented Nov 17, 2020

To be clear, this is not my script. I found it on Ubiquiti's users forum.

I know. I just tried to highlight that the script will not change the requirement of JAVA8. And this limit the possible use case.

Currently I'm trying to run the script on one of my VM's but it seems to be stuck somewhere during all the apt install steps 🤔

EDIT:
LOL the script will install openjdk-8-jre-headless from Stretch repository

root@DietPiVM1:/etc/apt/sources.list.d# cat glennr-install-script.list
deb http://ftp.nl.debian.org/debian stretch main

@MichaIng
Copy link
Owner

Good find. That is somehow an issue as we already dropped several other software titles from Buster on, which depend on Java 8. Yes Raspbian contains it, but with upcoming Raspberry Pi OS 64-bit (and my in production testing Debian-based ARMv7 image), there will be mostly only RPi 1 and Zero left (+existing systems of course) which use Raspbian. And using binaries from old-old-stable (from summer on) repositories is not something I'm keen to do, although we did in other cases (e.g. libssl1.0.0).

Would be interesting if there are any plans to make it Java 11 compatible?

@rhkean
Copy link
Contributor

rhkean commented Nov 18, 2020 via email

@Gill-Bates
Copy link
Author

Or only applications that are compatible for the installed platform appear in the software catalog. :-)

@MichaIng
Copy link
Owner

Or only applications that are compatible for the installed platform appear in the software catalog. :-)

Jep, that is how it is currently. However, to implement software for a very limited set of platforms is less of a pleasure of course, specially when it's about outdated dependencies which will break them on even the small left platforms earlier or later 😄.

So for now it would be all Stretch platforms and Raspbian. Since it is famous for RPi which in combination which Raspbian still covers ~50% of our users, that should be worth enough to implement.

@Fireman1224
Copy link

Does anyone know if the Unifi Controller has been resolved to work with the latest version of DietPi?

Also, would it be possible to run PiHole and PiVPN/WireGuard on the same unit (RPi 3 B+) with the Controller or should I keep the controller separate?

Thanks in advance!

@Joulinar
Copy link
Collaborator

Well if I'm not mistaken, issue was the requirement of JAVA8 which is quite old and outdated.

@Fireman1224
Copy link

So if I install Openjdk8, I should be able to run all 3 on one device with DietPi? I'm a noob, so just trying to understand...

@Joulinar
Copy link
Collaborator

PiHole + WireGuard shouldn't have any influence on Unifi Controller software. Means for you to mange is the installation of Unifi Controller software 😉

@Gill-Bates
Copy link
Author

Gill-Bates commented Aug 13, 2021

Avoid using Pihole. I strongly recommended to use AdGuard!

wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_armv6.tar.gz
tar xfz AdGuardHome_linux_armv6.tar.gz
mv AdGuardHome /etc/
cd /etc/AdGuardHome; sudo ./AdGuardHome -s install 

OR JUST USE THE SOFTWARE CATALOG:

dietpi-software

Here my installation steps for UniFi

echo 'deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti' | sudo tee /etc/apt/sources.list.d/100-ubnt-unifi.list
sudo wget -O /etc/apt/trusted.gpg.d/unifi-repo.gpg https://dl.ubnt.com/unifi/unifi-repo.gpg

  • Install Unifi
    sudo apt update; sudo apt install unifi

  • Change Max Heap (only Raspberry 3 and below)

nano /usr/lib/unifi/bin/unifi.init
JVM_MAX_HEAP_SIZE=512M # Raspberry 3+
  • restart the service
    systemctl restart unifi.service

For VPN I‘m using WireGuard on a VPS, due to the fast Upstream. Check out vultr.com or netcup.de

@Joulinar
Copy link
Collaborator

Joulinar commented Aug 13, 2021

AGH is available via DietPi software catalogue. There is no need to install it manually. As well why not using PiHole? What is the relation to Unifi??

@Gill-Bates
Copy link
Author

Gill-Bates commented Aug 13, 2021

AGH is available via DietPi software catalogue. There is no need to install it manually. As well why not using PiHole? What is the relation to Unifi??

AGH is much better than Pihole. Here is a comparison matrix: https://github.com/AdguardTeam/AdGuardHome

the Google Safe-Search enforcement and the parental control feature is a life-saver, especially with little kids in your house.

@Joulinar
Copy link
Collaborator

Joulinar commented Aug 13, 2021

well there is no relation to Unifi so to say. You probably would need to make this clear. Otherwise it could confuse people. Next to this you are referring a comparison done by AGH themselves. I guess they never will come to a point where PiHole wins. Both AdBlocker have their pros and cons. It depends on your personal opinion at the end.

@MichaIng
Copy link
Owner

MichaIng commented Aug 13, 2021

Of course AGH likes AGH more than Pi-hole. I had closer looks into both and clearly prefer Pi-hole for its use/inclusion of well maintained separate open software solutions and related higher customisation possibilities. AGH is an all-in-one single binary, which may be preferred by and looks more streamlined for less experienced users, but is means that more experienced users' or custom needs are more difficult to achieve. Also they partly need to re-invent the wheel, which means potentially higher risk of security issues related to that. The matrix mainly contains features which are extremely easy to add to Pi-hole, via well-known trusted long-existing software:

  • DoT/DoH (and even DNSCrypt?) via Unbound
  • DNSCrypt via DNSCrypt-proxy
  • Parental blocking, phishing and malware domain blocking is also in AGH only done via upstream blocklists or upstream DNS, so you can simply use 1.1.1.3 as upstream DNS (Cloudflare with adult + fishing blocking) or AdGuard itself (94.140.14.14) or any other that fits better to the personal needs, to achieve the same in Pi-hole: https://en.wikipedia.org/wiki/Public_recursive_name_server
  • Access settings and running without root privileges is possible/done by Pi-hole as well, there the matrix is simply wrong.

I can assure anyone who is reading this, that there is no objective/substantial preference possible, the core features are identical. It is finally a matter of taste, and whether you have specific network/webserver setup needs (then use Pi-hole) or not. And do not trust developers own comparison tables: They don't aim to lie of course, but naturally such tables are one-sided and not objective.

@Joulinar
Copy link
Collaborator

I guess we are moving away from original topic. Let's close the discussion on AGH and PiHole at this point.

@Fireman1224
Copy link

I have PiHole set up currently, so migrating to another PiHole would be easier especially since I have Samsung TVs that were a nightmare to set up and get its TVplus working correctly.

My main goal is to get as few devices running on my network as possible (I'm currently running four Pi 3B+'s).

My main questions are is it possible to get all 3 on one device (which it appears it it) and is it SMART to have the Unifi Controller, Wireguard, and network-wide ad blocking on the same device...

@Joulinar
Copy link
Collaborator

yes that should be possible to run all on the same RPi.

@MichaIng
Copy link
Owner

Yes, they should not interfere at all and Pi-hole is extremely lightweight (AGH as well, for completeness, DNS generally is pretty light, compared to HTTP/PHP web applications e.g.), so does not add relevantly to system load, even on RPi Zero.

Btw, the Java runtime environment should be sufficient:

 apt install openjdk-8-jre-headless

This works on RPi 32-bit/Raspbian images only, since Debian Buster and above ships only Java 11 and above. Would be interesting to test it with Java 11 btw, probably they shipped some update regarding this?

@Fireman1224
Copy link

I guess the nagging question for me now is should I run all 3 on one device or should it be broken into multiple devices from a network stability/security standpoint.

I really appreciate everyone's assistance!!

@Fireman1224
Copy link

@MichaIng Good point on the Java version as I was planning on using the new bullseye release from you when available, so if it only works on the 32bit version that might be a problem???

@Joulinar
Copy link
Collaborator

Main issue is MongoDB as you are not able to install it on Raspberry Pi at all. Doesn't matter if it is Buster or Bullseye. Because the MongoDB repository does not support ARM platform.

@Fireman1224
Copy link

How can I fix? What do I need to do?

@Joulinar
Copy link
Collaborator

Maybe I was not clear enough. You can't install MongoDB on ARM as it is not supported.

Maybe you can use a search engine to find a guide describing a way around.

@Fireman1224
Copy link

OK, no reason to be rude, I know very little about Linux... I guess installing a version other than bullseye? Just trying to figure all this out... There must be a way since I'm running a controller on stretch on a pi 3. simply trying to upgrade... And by the way, I have been using a search engine. I'd much rather do that than ask for help...

@Joulinar
Copy link
Collaborator

Well Stretch is quite old and maybe condition changed in meantime. Means, maybe MongoDB was not required before but is it now.

@Fireman1224
Copy link

I'm pretty sure MongoDB has always been required, kinda like Java 8... All the tutorials I've found reference the same install procedures that now don't work... Just trying to understand. Maybe I need Raspian Lite vs dietpi? not sure, just grasping at straws... I really like the performance from dietpi...

@Joulinar
Copy link
Collaborator

DietPi is not an own OS, it is a set of shell scripts on top of base image. In case of Raspberry Pi, base image used is Raspberry OS.

If you have a running Stretch system, you should be able to update to Buster as a first step.

@Gill-Bates
Copy link
Author

I run it with no issues …

3029D1F5-D71F-428D-B91B-1FF3279E827A

@Joulinar
Copy link
Collaborator

Joulinar commented Aug 29, 2021

I read thru the internet and it seems older version of MongoDB are able to run on Raspberry OS but somewhere in 2000 this changed.

There are a couple of entries on MongoDB support forum requesting support for ARM64. found this as well https://www.mongodb.com/community/forums/t/mongod-4-4-on-rpi4-aarch64-arch-for-unifi/10378

There is another guide on Raspberry forum going same way https://www.raspberrypi.org/forums/viewtopic.php?t=300028

Whatever you do, you need to compile it yourself it seems.

@Gill-Bates
Copy link
Author

Maybe this could help?
wget http://ftp.br.debian.org/debian/pool/main/o/openjdk-8/openjdk-8-jre-headless_8u252-b09-1~deb9u1_arm64.deb

@Joulinar
Copy link
Collaborator

This is a Debian 9 (Stretch) package, something I would not recommend on Buster or Bullseye. To install Java 8 you could use adoptopenjdk repository

https://adoptopenjdk.net/installation.html?variant=openjdk8&jvmVariant=hotspot#linux-pkg

@MichaIng
Copy link
Owner

MichaIng commented Aug 29, 2021

Java 8 is btw still available on Raspbian Bullseye, hence our ARMv6 RPi image, as newer Java versions are not supported on ARMv6. Else AdoptOpenJDK, respectively now named Adoptium is an alternative.

About MongoDB: Isn't is possible to compile it for ARM?
EDIT: Ah described in the two links above. An overnight process(on RPi4) with lots of disk I/O and RAM demand, so nothing we can offer as a dietpi-software install option. Better to have this cross-compiled on a capable x86_64 machine, but for ARMv6 creating the environment and build stack is not trivial either...

@Joulinar
Copy link
Collaborator

About MongoDB: Isn't is possible to compile it for ARM?

Should be possible according the 2 guides I posted above

@Fireman1224
Copy link

OK, I really appreciate the assistance. I'll see if I can understand the guide.

Thanks!

@Joulinar
Copy link
Collaborator

@MichaIng
If I'm not mistaken MongoDB reuigeres 64bit on actual version. Means our ARMv6 RPi image isn't a real option. But maybe I'm wrong.

@MichaIng
Copy link
Owner

MichaIng commented Aug 29, 2021

As I edited into my post above, just note that you should compile it on an external drive (not an SD card!), have a large swap file in place (also not on an SD card), turn off all other services/software running on that RPi and let it running over night. At best attach an SSD via USB3 for swap file and building, so the disk I/O at least won't be a bottleneck.

I not yet found a definit statement that MongoDB at its core does not support 32-bit, but rather that they stopped to ship 32-bit binaries. Else this would further complicate and limit the abilities to run Unifi Controller, as long as they do not support newer Java versions, as only Raspbian (32-bit) still ships Java 8 natively.

Btw, did someone already try the MongoDB 64-bit ARM Ubuntu package (on our 64-bit image, of course)? https://repo.mongodb.org/apt/ubuntu/dists/focal/mongodb-org/5.0/multiverse/binary-arm64/mongodb-org-server_5.0.2_arm64.deb
And then Adoptium JRE 8: https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u302-b08/OpenJDK8U-jre_aarch64_linux_hotspot_8u302b08.tar.gz

@Gill-Bates
Copy link
Author

@Fireman1224 Try it stupid simple. Don't mess around with compling if you don't have any clue about Linux. It will end up in wasting time and a lot of frustration (but you will learn a lot!) We were all Rookies once. :-)

  1. Run dietpi-software and search in the Software Cataloge for "Docker". Install Docker and if you like Docker-Compose. This may take a while (btw: The Dietpi-Team did a great Job with writing the Setup-Script! 🥇).
    image

  2. After finishing Installation run the command docker pull linuxserver/unifi-controller. It will load all Dependencies for you. This will also take some time:
    image

  3. Now, start the Container: docker run -d linuxserver/unifi-controller -p 8443:8443 -p 8080:8080 It will map the Port 8843 from inside the Containers Webserver to your Network.

@MichaIng
Copy link
Owner

Ah nice, a Docker container exists. Not the implementation we'd add to dietpi-software, but an easy and functional one, until we found an acceptable solution for MongoDB and Java 8.

@Fireman1224
Copy link

Fireman1224 commented Aug 30, 2021

@Gill-Bates @MichaIng

So I've never played around with docker, but from what little I have read, it seems like it will be easy enough to try. I had ended up just going back with Raspberry OS and then installing the Unifi Controller on that, but I need a second controller for another location that I have to configure, so I'm going to try the Docker approach. If I can make it work, I may re-do my current site with Docker instead. I appreciate the continued support and advice!!

Question 1: If I set up the USB flash drive on a Pi 4, could I then use it in a Pi 3B+ or do I need to make some adjustments because of the RAM difference?

Question 2: Will I have to run docker run -d linuxserver/unifi-controller -p 8443:8443 -p 8080:8080 each time I reboot the pi or will it automatically start upon reboot after the initial run? Since this is running headless, I would want to have it start automatically.

Question 3: How are the controller version updates handled within Docker?

I apologize for the question bombardment, but this is a new area for me...

Thanks! @

@MichaIng
Copy link
Owner

MichaIng commented Sep 1, 2021

A1: No adjustments required, but probably a swap file needs to be created or its size increased when the system on the RPi 4 used it, or used more than 1 GiB physical memory.

A2: The Docker/containerd service itself starts all containers, after having them deployed once.

A3: At least you need to remove the old container, before calling docker run again. Not sure if also the image needs to be removed in every case?

# Remove Docker container
docker rm "$(docker ps -a | mawk '/linuxserver\/unifi-controller/{print $1;exit}')"
# Remove Docker image
docker rmi "$(docker images -a | mawk '/linuxserver\/unifi-controller/{print $3;exit}')"

@Joulinar
Copy link
Collaborator

Joulinar commented Sep 1, 2021

usually the image can be removed as well as a new version will be download. Depending on the Docker application you would need to check if personal data are stored on a location outside the container to ensure not starting from scratch.

@MichaIng
Copy link
Owner

MichaIng commented Sep 1, 2021

If settings/data are stored within the Docker image, is removing the container actually sufficient to have it updated, or does this only remove the "image" from being started/controlled by the parent Docker service?

@Joulinar
Copy link
Collaborator

Joulinar commented Sep 1, 2021

Removing the container will have no impact on the image as it will not be updated. Creating a new container will reuse the old image again. That's why dietpi-software is removing container + image on reinstall for our Portainer installation. As well Portainer is configured to use a volume directory outside the container to store all relevant Information.

The image provider (linuxserver/unifi-controller) themselves is using a docker compose file, having a volume path specified. This way data are stored outside the container.

https://hub.docker.com/r/linuxserver/unifi-controller

---
version: "2.1"
services:
  unifi-controller:
    image: ghcr.io/linuxserver/unifi-controller
    container_name: unifi-controller
    environment:
      - PUID=1000
      - PGID=1000
      - MEM_LIMIT=1024M #optional
      - MEM_STARTUP=1024M #optional
    volumes:
      - <path to data>:/config
    ports:
      - 3478:3478/udp
      - 10001:10001/udp
      - 8080:8080
      - 8443:8443
      - 1900:1900/udp #optional
      - 8843:8843 #optional
      - 8880:8880 #optional
      - 6789:6789 #optional
      - 5514:5514/udp #optional
    restart: unless-stopped

@MichaIng
Copy link
Owner

MichaIng commented Sep 1, 2021

Thanks for clarification. So then the two commands I provided above should do the job, followed by docker run ... of course.

@Gill-Bates
Copy link
Author

Running the Docker Container will work on a Rpi 3+, but it’s no joy!

67FDDA6A-5C33-4DC4-8A7D-4A62D0828410

i miss the days, where a simple apt install openjdk-8-jdk-headless just worked …

@Joulinar
Copy link
Collaborator

Joulinar commented Sep 2, 2021

Basically JAVA8 should not be the issue as you could install it from AdoptOpenJDK repository https://adoptopenjdk.net/installation.html?variant=openjdk8&jvmVariant=hotspot#linux-pkg

It's still MongoDB not being available that simple on ARM boards.

Therefore, using Docker container seems to be the easiest solution currently.

Regarding memory consumption, I guess it would be similar without docker. At least on my test, nearly 600MB are used by JAVA 😉 Below a view from my Docker installation for Unifi.

image

BTW: version running inside the container

root@DietPi4:~# docker exec -it unifi-controller java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~18.04-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)
root@DietPi4:~# docker exec -it unifi-controller mongod --version
db version v3.6.3
git version: 9586e557d54ef70f9ca4b43c26892cd55257e1a5
OpenSSL version: OpenSSL 1.1.1  11 Sep 2018
allocator: tcmalloc
modules: none
build environment:
    distarch: aarch64
    target_arch: aarch64
root@DietPi4:~# docker exec -it unifi-controller cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

@MichaIng
Copy link
Owner

MichaIng commented Sep 2, 2021

i miss the days, where a simple apt install openjdk-8-jdk-headless just worked …

And this still works with the ARMv6 image.

@Joulinar
Don't use AdoptOpenJDK anymore, as it is renamed to Adoptium and they currently build the new infrastructure. So using the old APT repo won't work anymore earlier or later. This is where binaries can be found: https://github.com/adoptium/temurin8-binaries/releases or https://adoptium.net/nightly.html?variant=openjdk8&jvmVariant=hotspot
Latest (nightly) arm32 build: https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u-2021-09-02-03-07-beta/OpenJDK8U-jre_arm_linux_hotspot_2021-09-02-03-07.tar.gz

But no APT repository exists yet, so install needs to be done manually:

curl -sSfLO https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u-2021-09-02-03-07-beta/OpenJDK8U-jre_arm_linux_hotspot_2021-09-02-03-07.tar.gz
tar xf OpenJDK8U-jre_arm_linux_hotspot_2021-09-02-03-07.tar.gz -C /opt
ln -s /opt/jdk8u312-b03-jre/bin/java /usr/local/bin/java

Repository owner locked and limited conversation to collaborators Dec 11, 2021
@MichaIng MichaIng converted this issue into discussion #5057 Dec 11, 2021

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Projects
None yet
Development

No branches or pull requests

5 participants