159
submitted 8 months ago by Critical_Insight@feddit.uk to c/linux@lemmy.ml

https://mullvad.net/en/help/install-mullvad-app-linux

Trying to install VPN and these are the instructions Mullvad is giving me. This is ridiculous. There must be a more simple way. I know how to follow the instructions but I have no idea what I'm doing here. Can't I just download a file and install it? I'm on Ubuntu.

you are viewing a single comment's thread
view the rest of the comments
[-] Critical_Insight@feddit.uk 2 points 8 months ago

What annoys me the most with installing apps this way is that I have already installed several and while having been succesful I still have no clue what any of this does. What is sudo? What is apt-get? What is repositorie? What is package? I just don't know what any of this does and blindly following instructions isn't teaching me anything. When I try to looks for explanations or tutorial videos I'm just met with more jargon that I don't undestand. GUI is really intuitive for me as it helps me to visualize what's actually happening but playing around with terminal is really abstract and confusing. If I'm met with an error I'm completely stuck then. Only troubleshooting I can do is to make sure I typed the command correctly.

[-] Unmapped@lemmy.ml 7 points 8 months ago* (last edited 8 months ago)

If you stick with it you'll eventually start to understand what all the jargon means.

  • sudo is kind of like "run as admin" in windows. It runs whatever command as root(admin) instead of as your user. To use it you just add sudo in front of the command. Ex. "apt-get update" becomes "sudo apt-get update"

  • apt-get is the command that controls your Ubuntu Repository. "apt-get update" basically checks for updates for everything on your computer. Then "apt-get upgrade" downloads and installs all those updates. And "apt-get install " is how you install apps that are in your distros Repository.

  • A Repository is basically an app store for your distribution. Each Linux distribution usually has their own. And they have different software(apps) available in them. If a app you want is not in your repo there are different options to install it. That was probably the hardest part for me to understand when I started. But now days the easiest option is to use snap or flatpak to install something that's not in your distros Repository.

  • As far as I understand, a package is just another way of saying app or software program. There might be a technical difference. But when you download a package you're basically just downloading the program/software/app.

  • There are also package dependencies which is the other software that is required to run the software you're trying to install. When you run "sudo apt-get install ". You will see a list of packages that will be installed. This includes all the dependency packages. Which are the packages that are needed to run the one that you're trying to install.

Some linux distribution try to give you a GUI for everything. But its definitely worth learning how to do stuff in the terminal. Once you learn it you'll realize why it is so much better than a GUI.

[-] intensely_human@lemm.ee 3 points 8 months ago

A “package” goes beyond library or app, basically by being part of a package management system:

  • I has a version number in a standardized format, which package managers can use to reason about dependencies
  • It declares its own dependencies, with version constraints. It will have entries like “In order to run I need a copy of jsonReader version at least 0.12.1”

I think that might be it.

Just in the same way both rice and bread come in a package at the grocery store, and both of their packaging has nutrition info, UPC barcode, and net weight printed on it. The packaging itself allows these goods to be distributed through a particular system.

The barcode is part of the packaging standard, and then the “package management” processes of retail use that barcode for their own inventory management, checkout, etc.

[-] Unmapped@lemmy.ml 2 points 8 months ago

Your analogy makes a lot of sense. I think that knowledge will be useful. Thanks.

[-] intensely_human@lemm.ee 2 points 8 months ago

I realized there’s quite a bit more metadata that a package provides to its package management system. Here’s an example package definition, in the programming language Ruby: https://github.com/thoughtbot/factory_bot/blob/main/factory_bot.gemspec

It defines, among other things:

  • author
  • license
  • dependencies
  • version
  • name
  • description
  • link to project webpage
[-] Chobbes@lemmy.world 3 points 8 months ago

Oh good, you wrote basically the exact response I was going to give!

The only other thing I would mention is… if you don’t know what a command is, you can and should look it up! You can use the internet, but you can also try “man sudo” or “info sudo” and do a bit of reading. It might not make sense at first, but you’ll start building up a vocabulary really quickly.

[-] intensely_human@lemm.ee 1 points 8 months ago

It never hurts to start with help man

[-] intensely_human@lemm.ee 0 points 8 months ago

My recommendation for learning this stuff is ChatGPT, ideally version 4

this post was submitted on 01 Jan 2024
159 points (81.4% liked)

Linux

47366 readers
1510 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS