
Tyggna
1068
10
1

This is part of my “intro to Linux” series.
Installing Linux: https://imgur.com/gallery/because-some-people-think-this-is-good-idea-0k4kbCe
What is Linux: https://imgur.com/gallery/its-cake-day-999lRuQ
Linux Desktops: https://imgur.com/gallery/linux-basics-Z132XBV
Gaming on Linux: (future)
If you’re reading this, then you have ignored all my warnings beforehand and insist on continuing on this fool’s errand. I must offer a new warning here: installing software on Linux is simultaneously the easiest and most difficult thing to do, and you won’t know which it is until after you start. This could easily be the make-or-break moment for your Linux usage, and if it ends up following the harder path, then I am in no way responsible for your tears and new-found enlightenment.
Let’s get started by setting some ground rules.
First: Linux is not a product. (see “What is Linux” link). Linux is probably best described as a school project that got out of hand. If you understand this, then a lot of the oddities associated with running Linux as a main OS make a lot more sense.
Second: laziness is a virtue.

Everything in Linux, and I do mean everything, has a shorter/quicker way of doing it. If it takes more than 3 clicks or typing more than 3 words to do, then you’re either doing it wrong or you’re trying something very experimental that’s likely to be unstable.
Armed with that, let’s look at software installation from your previous life.
For Windows, you could get stuff through the MS App store, but generally you’d download it from the software vendor’s website, run an exe/msi, agree to a document you’ll never read, click next a bajillion times and then find where it hid the icon to launch it.
Well, Linux is good at solving problems you've never had in ways you'd never guess. So, the windows way is fine and dandy (and indeed still largely employed with Slackware Linux), but did you ever think about the 10th time you need to install the same piece of software? What if you need to install 100 programs in one sitting? What if you already know exactly what you want to install?
That hunter-gatherer approach will get tedious very quick.
On Linux we take more of a mass production approach to software installs. If you’re on Ubuntu or Mint, give this a try:
(meta) term (enter)
This should bring up a text prompt screen that looks like the old-school DOS. The meta key is also called the windows key, start key, cmd key (mac keyboards) and the super key. It gives you the software quick launch.
In that terminal screen, type:
sudo apt-get install gimp
It might prompt for a password, and it will give you a read-out of what it intends to do to your system and ask for confirmation. If you agree, it’ll install GIMP on your machine—which is the free equivalent of photoshop. You can swap out gimp with the name of other software and it'll work just as well, and you can even just keep typing the name of programs in at the end and it'll install all of them that you list there.
If it worked, then congrats, Schrodinger’s cat lives and you got the easy way of installing software this time around. Here's what happened

You're at the Linux system, and apt-get is the package manager. The repository is provided by whoever gave you the installer for your Linux OS. When you told it gimp, you asked for the software package named gimp, and it found all the software it would need to run gimp successfully (the package dependencies), and spat out the list of that at you to confirm that's what you wanted.
We can swap out the package manager, add and take away repositories, and this approach will work on any Linux system. In fact, that's the only major difference between Ubuntu and Fedora--Ubuntu uses apt-get, Fedora uses dnf.
sudo dnf install gimp
works on Fedora.
So, if the
sudo apt-get install (program)
approach didn't work for you, then let’s go over what we did in detail so you can modify it to your own nefarious ends.
The first thing I had you do was open a Linux terminal emulator
.

The Linux terminal is more capable than the GUI, but there are plenty of ways to install software through the GUI--they just don't always work and they don't always list all the software that's available. The
(meta) software (enter)
approach will get you a lot of what you want for basic software installs, but it will only get you so far.
Windows XP was the first windows to abandon the terminal base of the OS, and it did it because Apple was gaining market share. Linux never felt the need to do this, because it’s not a product
This 80s-era looking environment is still around and if you take the time to learn it then you basically get:

Well, that or you just save yourself a lot of a time and a bit of boredom in the long run. If I need to install Linux fresh (like for a new computer), then I literally have a text file of 13 commands that takes about 20 minutes to run and when it’s done I have absolutely everything I need installed and configured the way I like it. It took me about an hour to make that file (we call stuff like that a script) and now installing a fresh OS takes about 5 minutes of me in a chair and I can go eat a sandwich.
If you are serious about giving Linux a try as your main/only OS, then I would suggest adopting the mindset that the terminal IS Linux and everything else is just a pretty poster on top of it.
Now, onto the command itself:
sudo apt-get install gimp

https://xkcd.com/149/
sudo means "run with privilege" or something akin to "run as administrator" on windows. In this context, it mostly means “I want to make a change to how my computer runs.” In Linux, your user is not allowed to do anything that could break or damage your system. This prevents software that you run from compromising your system's security.
As soon as you type "sudo" you are allowing that software to change anything it wants. You are granting yourself all the permissions available. Since all we're doing is calling the package manager, and the only repository defined is the official distro's repo, this is generally safe to do.
apt-get is part of the package manager for Debian-based Linuxes (like Mint and Ubuntu). Fedora and everything in the RPM/Red Hat family use dnf, and Manjaro and Archlinux use pacman. These are what connects to the repository, does all the search stuff, pulls down all the files needed, and performs the install. It does a lot of heavy lifting for not a lot of typing.
Since most of you are on Debian-based, the package manager is named aptitude, and apt-get is just a knocked-down version of aptitude. Not every distro comes with aptitude, but if you want it then apt-get can get it for you:
sudo apt-get install aptitude
That will let you type “apt” in place of apt-get moving forward, and 3 letters is less than 7. Remember (dramatic pause) LAZY! apt will also give you some analytics and profiling tools for your packages.
Everything after the first word on a command is called an argument

Arguments give instructions to the program and tell it what to do and how to behave. Programs are used to being in an unhealthy relationship, and thankfully don't really have feelings, so arguments tend to be very well received if they understand them.
The program we're running is sudo, and everything after sudo is treated as a command to run in a privileged setting.
Stripping off the onion layer here, if we were already a privileged user, we'd just type:
apt-get install gimp
and then our program is apt-get, and 'install gimp' are our arguments.
Because we're arguing here, we need a man involved.
You can learn the expected arguments to any program by typing “man ” e.g. “man apt-get” or “man sudo” and you’ll get the software engineer’s man-splaining of what it is and how it’s supposed to work.
“man” is actually just short for manual, as in the user manual.

There are no “woman” pages, but if you prefer your man pages to be woman pages, then just use this incantation:
sudo ln -s `whereis man | awk ‘{print $2}’` /usr/bin/woman
(alright, that joke probably only works for the more Linux savvy, but I felt it needed to be here)
Occassionally, you can also type “ -h” or –help for an abbreviated usage guide.
This is a very common convention in Linux.
For kicks and giggles, while you’re here in a terminal, type “ip address” and it’ll spit out information about your network. Ip is the program, address is the argument (and since we’re lazy, you can just type “ip a”). “man ip” will tell you more about what you did, and dude, we know u-p, we all do.
It's okay, I can hear your boos from here. And to that one heckler in the audience who said, "how is a beginner supposed to figure that out on their own?” They’re not. You need someone to either show it to you or have the tenacity to discover it yourself. That will continue to be true for most of your Linux experience and there’s not really anything I can do to change that. If you want to take a stab at it, I will happily cheer you on and if I have an answer to your problem then I’ll share it.
And to the other heckler who said, "Why not just make it more intuitive?"

I’ve heard debates for years about what “intuitive” actually means and the only thing people could readily agree on is that nipples are a very intuitive interface for newborns, but everything else is probably learned. On that premise, you only have to learn it once, but you’ll use it thousands of times. Most Linux software is designed for the 100th time using it, not the first.
The plus side is there won’t be useless updates to the interface to try and win over new users that functionally just move some buttons around.
To quote the arch mage in Skyrim: What you learn here will last a lifetime. . .several if you're talented.
“sudo apt-get install gimp” worked for me almost 20 years ago, and I expect it will work the exact same way in another 20. That’s how I like it, now get off my lawn! (end grumpy old man voice)
Hopefully that was enough information to help your skills where they need to be for software installs. If it wasn’t, then

Because now we have to dig into how the package manager works and how software is packaged and distributed.
On rare occasion the software you want won’t be in the repository. You’re not SOL, but things are much more difficult for you. You have a few choices: find a self-contained version of it (like flatpak, snap, appimage or if you’re really adventurous, docker), add another repository that has it, compile it yourself, or find the software installer you want intended for another OS and use a compatibility layer.
The self-contained versions can usually be found in a few internet searches, and installing them depends on how they’re packaged. They’ll work just fine (heck, that’s how the Plex server in my van runs), but they can be annoying to update. Most of what you get from the
(meta) software (enter)
will be a snap or flatpak install.
You can browse those on your own here: https://flathub.org/
And if you find the one you're looking for then they'll give you the exact terminal commands needed to install it. AppImage will install more like Windows software.

Adding a repo is no longer simple because of security concerns. You use to just find the repo URL, and then add it to a text file in /etc/(package manager)/repos.d/ and that would be it. Now we need to tell our computer to trust a repo first before it downloads software and this depends on how the repo owner wants you to setup that trust, and how your distro understands that trust.
I consistently find the best guide for how to do this by searching for “postgresql add repository” and clicking the link associated with postgresql.org. PostgreSQL is a database, and database versions are more or less locked to the application built on them. For this reason, PostgreSQL provides its own repos that allows you to install a wider selection of database versions.
The current version of this guide shows you how to install from a repo, and how to add their repo, line by line, to your Ubuntu/debian machine. Most repo providers will include copy-paste guides for adding their repo like this.
Sometimes you can use
apt-key
and point that to a URL of the key the repo wants you to use, but it's honestly a bit of a crap shoot depending on the distro you picked.
You also have the option of asking the distro you went with to provide a package of the software you want, and some are happy to oblige and others will just ignore you.
If none of the above worked, then I welcome you to

Assuming the software you want actually exists and you know where to find it, then we’re left with only two options: compile it yourself or run it through a compatibility layer.
The first is often easier. You’ll need to install two things before you can begin: the source control management software (98% of the time it will be git) and the code compiling tools:
apt-get install git build-essentials
Find where the source code lives (typically github) and check out their README. That is your best chance for a how-to compile and install guide. It will typically be four commands if nothing is listed there:
git clone https://github.com/user/awesomesoftware
./configure
make
sudo make install
First command downloads it, so you’ll have to replace my awesome URL with your boring one. Second command looks over your system and determines if it can compile here or not. Make compiles the software, and “make install” puts it on your system.
If everything goes well, then the software is now ready to use, but it might not be possible to uninstall it. If it didn’t go well, then you’re in software development world now and if you don’t want to start programming then just find an alternative.
The last option is almost a post on its own, and I will probably make one dedicated to Linux gaming since it will hit on compatibility layers heavily.
WINE (WINE Is Not an Emulator, it’s recursive) is the most common compatibility layer. It’s part of the dark voodoo Valve uses to make games run on Linux, but it can be used for other applications.
Apart from Steam, the three bits of software that make WINE much easier to work with are the Heroic Games Launcher (replaces GoG and Epic launchers in Linux), Lutris, and Bottles.
Bottles is the only one without a heavy gaming slant: https://usebottles.com/
Search through their app database, and then they have a generic how-to-install guide here:
https://docs.usebottles.com/bottles/installers#use-installers
The ratings here matter. If it’s bronze or lower, then it you are in the absolute worst of it and your best bet is to just use it on Windows (maybe through a Virtual Machine, maybe dual-booting) and try Linux again in a few years. Sucks, but that's how it's always been--the closed-source community does not generally like us and all the stuff you see at this point is just clever reverse-engineering.
If it’s Silver, you will probably need to do a bit of reading to get it working the way you want. Gold and Platinum are more or less a green light to move forward.
I personally use this for FL Studio and I fight with it less in Linux than in Windows. It’s gold rated.
For stuff not in the bottle’s list, make a new bottle for it and go here:
https://appdb.winehq.org/
This has a much larger database and will give specific instructions for setting up your bottle and different things you can try to make your specific application work correctly. Persistence, tinkering, and clever use of a search engine will likely be required beyond this point.
There, you now know everything I do about installing software on Linux. I’ll be over here if you want to throw any stones.
CathrynK012
Software plays a crucial role in modern technology, powering everything from simple apps to complex systems. Check out https://icloud.pissedconsumer.com/customer-service.html for the best things. For added security, managing your best iCloud phone number ensures your account stays protected, offering features like two-factor authentication. It encompasses a wide range of programs, including operating systems, applications, and cloud-based services. One example of cloud-based software is iCloud.
techzoneai
I am impressed with your site. In a world where academic pressures are high, coursework writing services offer a valuable resource for students seeking to balance their academic, personal, and professional lives. for more info visit here https://academized.com/coursework-writing-service These services provide expert assistance, save time, and help ensure quality submissions.
Corrodias
I remember those days when "compile it yourself' was the only option for some things I wanted to try. It never worked. You'd always get some error that's useless unless you're the developer.
PostalHeathen
apt-get doesn't work on my computer running Arch, now what? /s
Tyggna
It does on my arch box, so does dnf and emerge. You sure you typed it in correctly? /s