ELI5 for a Linux NOOB

The place to discuss linux version of MakeMKV
Post Reply
Sion28
Posts: 9
Joined: Tue Nov 15, 2011 11:20 pm

ELI5 for a Linux NOOB

Post by Sion28 »

I'm using Linux Mint (Ubuntu/Debian based) and trying to learn Linux as I install and use various apps. I want to understand the steps outlined by mike admin in his sticky post, as I'm getting stuck on step2.
The first step

Code: Select all

sudo apt-get install build-essential pkg-config libc6-dev libssl-dev libexpat1-dev libavcodec-dev libgl1-mesa-dev qtbase5-dev zlib1g-dev
Works fine (or seems to).
But the next step
Unpack both packages and starting from source package do the following steps:
I'm not sure about how to extract/unpack the tar.gz files correctly. Where should I unpack them? If I right click on the downloaded tar files, I have options to "extract here" (presumably into the downloads folder?) which seems wrong. There's also the option to open the archive manager, but again I'm not sure where to unpack/extract the files to.

My Windows-centric brain tells me that I would need to extract the files into the proper folder so that the rest of the steps work/happen correctly. Maybe this isn't true for this step in Linux? Does it not matter where I extract them to? The next step says:

Code: Select all

./configure
make
sudo make install
And this fails since /configure doesn't exist yet. Again my Windows-centric brain says this folder would be made as part of the unpacking process? Or do I need to create this folder?

Thanks for any help for this Linux NOOB! I asked for help on Reddit and someone sent me to instructions for adding a PPA for makemkv, but I'd rather get these manual instructions right, and understand them so I can learn how this all works. Cheers!
flojo
Posts: 314
Joined: Thu Jun 22, 2023 4:27 am
Location: El Paso

Re: ELI5 for a Linux NOOB

Post by flojo »

Extract with whichever file archiver you have, for example I use Ark.

You run those commands in each of the 2 directories you extracted, 1 for the bin, 1 for the oss.

See if you can understand it from these commands (run 1 of the wget's to see what happens).

Code: Select all

#!/bin/bash
mkdir ~/install_makemkv
cd ~/install_makemkv

sudo apt-get install build-essential pkg-config libc6-dev libssl-dev libexpat1-dev libavcodec-dev libgl1-mesa-dev qtbase5-dev zlib1g-dev

wget -qO- https://www.makemkv.com/download/makemkv-bin-1.18.2.tar.gz | tar -xvzf -

wget -qO- https://www.makemkv.com/download/makemkv-oss-1.18.2.tar.gz | tar -xvzf -

cd makemkv-oss-1.18.2
./configure
make
sudo make install

cd ../makemkv-bin-1.18.2
make
sudo make install
Sion28
Posts: 9
Joined: Tue Nov 15, 2011 11:20 pm

Re: ELI5 for a Linux NOOB

Post by Sion28 »

Extract with whichever file archiver you have, for example I use Ark.

You run those commands in each of the 2 directories you extracted, 1 for the bin, 1 for the oss.

See if you can understand it from these commands (run 1 of the wget's to see what happens).
Thanks, I'm not sure I follow all your code, but I get the general idea.

The main thing that helped me out was someone else said (over in Reddit) that it doesn't matter *where* I extract the files to, just need to execute the ./configure commands from the extracted folder path.

As for your code, what is

Code: Select all

#!/bin/bash
?
georgesgiralt
Posts: 80
Joined: Thu Jun 04, 2020 12:40 pm

Re: ELI5 for a Linux NOOB

Post by georgesgiralt »

Hello,
In Unixes, (and Linux is a Unix variant) it is customary to tell the "launcher" what application to use to execute the code in the file.
By using the "#" character, we start a comment. So a non executable line.
But the "!" telle the "launcher" that something is of importance. That something is the name of the application the code was written for. In this case the Shell Interpreter Bash. And this shell interpreter is normally found in /bin. So we say to the "launcher" to use /bin/bash executable to process the file into this line is written... *
You have to bear in mind that Linux (and all other Unix variant) everything is a file. And there are various type of files. Some of them are executable created to do some work. And these executable files are denoted by having the "execute" bit set in their properties. But they may contain more than one format to describe the work to do. They may be shell commands (the Bash script above) or binary files from compiled language (C or Rust or C++ or FORTRAN or... ) So the "Launcher" has to determine how to make the instructions to work. Hence the "path" to the correct interpreter of the instructions in the file.
I hope I'm clear enough and speaking in layman terms enough for you to grasp one big concept of Unixes which is different from one on Windows.



* : there are many other Shell Interpreters, csh, ksh, sh ... to name a few. Think of them as different languages. Different ways to say the same things.
Sion28
Posts: 9
Joined: Tue Nov 15, 2011 11:20 pm

Re: ELI5 for a Linux NOOB

Post by Sion28 »

@georgesgiralt
Thanks! That was helpful.
Post Reply