Installing Stuff On Linux

I have been using Linux for about 6 or 7 months. I have fully migrated all of my systems to Linux. A roadblock for me has been the difficulty of installing software on Linux. For example, today I decided that I wanted to learn some Java and I went to the oracle website to install a JDK. To test my mettle I decided to only use the official documentation on the oracle website and I hit this ‘roadblock’. Below is where I got stuck

To install the 64-bit JDK Debian package on a Linux platform:

Download the required file:
jdk-21.interim.update.patch_linux-x64_bin.deb. For example jdk-21_linux-x64_bin.deb

Before you download a file, you must accept the license agreement. Anyone (not only root users) can install the archive file in any location having write access.

after looking at this for about 5 or 10 minutes I decided that I was not going to be able to figure this out without the help of a well put together webpage that walks you through the steps. What I was missing was knowledge that I needed to use the curl or wget command. Below is the command.

wget https://download.oracle.com/java/21/latest/jdk-21_linux-x64_bin.deb

If somebody would be willing to look at the documentation, and tell me if the documentation is just bad, or if I am just bad and I should know that I need to use the curl or wget command and type https://download.oracle.com/java/21/latest/
prior to the file that they specify needs to be downloaded.

A couple times I have tried to click on the button that installs the *.tar.gz files and I never know what to do with them. I extract the files but I am then left with a lot a files that I don’t know what to do with them and whether or not I should make them an executable and try to run them.

What I am hoping to get out of posting this, is that the next time I try to install software that cannot be installed through flatpak or another package manager, I am able to read the documentation and get it installed. Feel free to critique my writing and give suggestions to me on how I could have made this post better.

System - Debian “bookworm”

I imagine you already have this figured out by now, so I won’t comment on installing deb packages directly.

One hint I would suggest is to use containers for this stuff. Basically flatpak expanded. That way you can mess around in a container so you have some level of isolation from your main system. Take a look at podman.

I have docker on a home server, and I have messed around with it a little bit but have found it kind of difficult because of port bindings and well, just set up really. That is a good idea though.

I really did never figure out how I should figure out how to install everything. After that I had to install Intellij which took me an hour or so, but it is installed but doesn’t work. Once again may I ask how to install deb packages directly?

I don’t know anything about Java, but installing deb packages should be pretty straight forward:

sudo dpkg -i <package_name>

For example, in your case that would be something like

sudo dpkg -i jdk-21_linux-x64_bin.deb

However, it’s possible that further steps are needed depending on the package. Those should come along usually in the site where you’re downloading it, or in some other form of documentation.

The commands that I needed to use to install the packages that I needed are above. What I am asking is how do I figure out without consulting the internet, to download stuff from the internet.

I have now tried to install Intellij and that is giving me a run for my money, but I was able to get it installed and for the most part working. I might have to go with what pacman said and install docker on my desktop to try and get some isolated enviroments I can mess around in.

Ok I really need some help now. How do I make all of these IDEs and even MSFTVS to work. I would use an IDE over MSFTVS but I am having a ton of trouble, and I do not know if the JDK needs to be added to the path to be able to run the code. Is there anyone here that frequently codes on linux and is good with software?

New update. I started following a new tutorial. This one is by “Bro Code” and is his Java tutorial. It seems that the Eclipse IDE is better than Intellij if you are on Linux. Eclipse had a much more comprehensible readme file, combine that with Bro Code having a good tutorial I am able to do some Java coding. Lol jk, as soon as I got it working I said “time to set up nvim”

Consider this:

First consider installing packages with your distro’s repo. You can usually search online to find the package name for your distro.

If that doesn’t work and/or your distro does have the version you want (for an app) next I would look to see if the version you want is on flathub (flatpak package). You can usually find the latest versions on flathub. If you are using an Arch-based distro you also have the AUR as a source of packages.

Good luck with your search and I hope this helps.

Hello, I am new here and I thought this is the best article to ask.
For the past 5 months I use Debian 12 bookworm as my main OS with KDE plasma.
I run into the problem of installing mysql or mariadb. I need them for web developing.
I watched some tutorials but unfortunately I can’t find any to work.
Is anyone have this problem?

Thank you in advance.

P.S.: Excuse my english.

Welcome to the forum! We do not have mega-threads here with linux support, you can just open a new thread dedicated to the problem you’re facing.

What is the error when installing mariadb? Note that, depending on the other software stack you are developing, you might want to pin your mariadb version.

Otherwise, you can just install mariadb in a LXC or nspawn container.

Thank you very much for your reply and your help.
To be honest I am not confident about LXC or any other container (i tried once with disastrous results :slight_smile: ).

The error seems to be about dependencies but I tried to resolve them but with no luck. I will try another way maybe a vm with different distro.

Below you will see the error:

sudo apt install mysql-server
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 mysql-community-client : Depends: libssl1.1 (>= 1.1.1) but it is not installable
                          Depends: mysql-community-client-core (= 8.0.36-1debian11) but it is not going to be installed
 mysql-community-server-core : Depends: libssl1.1 (>= 1.1.1) but it is not installable
E: Unable to correct problems, you have held broken packages.

Are your sources messed up?

That doesn’t sound right. How does debian not have libssl1.1 installed?

sudo apt install libssl1.1 and see what shows to get broken i

I don’t have libssl1.1 but libssl3 on Debian 12, and I also don’t have mysql-server but mariadb-server instead. There is one metapackage for default-mysql-server that installs mariadb-server. So, I’m wondering if you haven’t added some old PPA or something to install mysql?

1 Like

Thank you very much for your help. The fun fact is that I had the same problem with mariadb. Untill now, I tried to install mariadb and it worked. Honestly I don’t know what I did. Just suddenly the installation of mariadb worked.
So my thought is that I might have met some dependencies.
Again thank you very much, and I am sorry if there was any inconvenience.

1 Like