this post was submitted on 01 Jan 2024
155 points (81.1% liked)

Linux

48330 readers
519 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
 

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.

top 50 comments
sorted by: hot top controversial new old
[–] lvxferre@lemmy.ml 202 points 10 months ago* (last edited 10 months ago) (16 children)

It's less complicated than it looks like. The text is just a poorly written mess, full of options (Fedora vs. Ubuntu, repo vs. no repo, stable vs. beta), and they're explaining how to do this through the terminal alone because the interface that you have might be different from what they expect. And because copy-pasting commands is faster.

Can’t I just download a file and install it? I’m on Ubuntu.

Yes, you can! In fact, the instructions include this option; it's under "Installing the app without the Mullvad repository". It's a bad idea though; then you don't get automatic updates.

A better way to do this is to tell your system "I want software from this repository", so each time that they make a new version of the program, yours get updated.

but I have no idea what I’m doing here.

I'll copy-paste their commands to do so, and explain what each does.

sudo curl -fsSLo /usr/share/keyrings/mullvad-keyring.asc https://repository.mullvad.net/deb/mullvad-keyring.asc
echo "deb [signed-by=/usr/share/keyrings/mullvad-keyring.asc arch=$( dpkg --print-architecture )] https://repository.mullvad.net/deb/stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mullvad.list
sudo apt update
sudo apt install mullvad-vpn

The first command boils down to "download this keyring from the internet". The keyring is a necessary file to know if you're actually getting your software from Mullvad instead of PoopySoxHaxxor69. If you wanted, you could do it manually, and then move to the /usr/share/keyrings directory, but... it's more work, come on.

The second command tells your system that you want software from repository.mullvad.net. I don't use Ubuntu but there's probably some GUI to do it for you.

The third command boils down to "hey, Ubuntu, update the list of packages for me".

The fourth one installs the software.

[–] Critical_Insight@feddit.uk 34 points 10 months ago (8 children)

Thanks for the explanation. However trying to run the first command gives me sudo: curl: command not found

So I'm stuck right there in the first step lol

[–] NekkoDroid@programming.dev 61 points 10 months ago (4 children)

I would have guessed that Ubuntu would install it by default since its a very common way to get stuff from the internet (when in the terminal), but apparently not (the other option is wget which is most likely installed, but that uses a different way to get the stuff).

You should be able to install curl with sudo apt install curl

load more comments (4 replies)
[–] SpicySquid@lemmy.ml 18 points 10 months ago

That should be easily solved with: sudo apt install curl

[–] lvxferre@lemmy.ml 15 points 10 months ago* (last edited 10 months ago) (1 children)

You have two options: install curl (check @TrickDacy@lemmy.world's comment) or do it manually. Installing curl is the easiest.

If you want to do it the hard way (without the terminal), here's how:

  1. Download the file https://repository.mullvad.net/deb/mullvad-keyring.asc from your web browser.
  2. Open your file browser as administrator. There's probably some link for that in the Menu.
  3. Move the file that you just downloaded to the directory /usr/share/keyrings/
[–] Critical_Insight@feddit.uk 21 points 10 months ago (1 children)

Really appreciate your replies dude. So many are being a bit of an jerks here, but you (and few other) have been really helpful.

[–] lvxferre@lemmy.ml 12 points 10 months ago* (last edited 10 months ago) (1 children)

You're welcome.

I think that people being jerks take for granted how confusing this might be, if you're new; we (people in general) tend to take vocab that we already know for granted, as well as solutions for small problems. ...except that it doesn't work when you're starting out, and we all need to start out somewhere, right.

load more comments (1 replies)
load more comments (5 replies)
[–] jet@hackertalks.com 26 points 10 months ago

This is a great explanation. And really well written. Thank you for taking the time to put it together

[–] governorkeagan@lemdro.id 23 points 10 months ago

I love this community because of responses like this.

load more comments (13 replies)
[–] Ramin_HAL9001@lemmy.ml 142 points 10 months ago* (last edited 10 months ago) (1 children)

So usually people do install Linux software from trusted software repositories. Linux practically invented the idea of the app store a full ten years before the first iPhone came out and popularized the term "app."

The problem with the Mullvad VPN is that their app is not in the trusted software repositories of most Linux distributions. So you are required to go through a few extra steps to first trust the Mullvad software repositories, and then install their VPN app the usual way using apt install or from the software center.

You could just download the ".deb" file and double click on it, but you will have to download and install all software security updates by hand. By going through the extra steps to add Mullvad to your trusted software repository list, you will get software security updates automatically whenever you install all other software updates on your computer.

Most Linux distros don't bother to make it easy for you to add other trusted software repositories because it can be a major security risk if you trust the wrong people. So I suppose it is for the best that the easiest way to install third-party software is to follow the steps you saw on the website.

[–] narc0tic_bird@lemm.ee 14 points 10 months ago

Some .deb packages actually include their repository and they can then be updated via the package manager. An example for this is the Vivaldi .deb.

[–] Adanisi@lemmy.zip 62 points 10 months ago* (last edited 10 months ago) (3 children)

Download the .deb and double click it. https://mullvad.net/en/download/app/deb/latest

People seem to be making this a more difficult job than it needs to be. Yeah I get we're powerusers but can't we drop that for 2 minutes while giving advice so a new user can actually get a job done quickly? Windows EXEs don't automatically update either. Sure it might not be the best way to do it but it's fast and not confusing. (EDIT: Apparently this specific program actually has it's own auto updater)

Things take time to learn. Throwing all of the existing knowledge of repo management at a new user at once does not work.

load more comments (3 replies)
[–] velxundussa@sh.itjust.works 54 points 10 months ago (1 children)

As others have mentionned downloading the .deb and running it will also work, but I feel nobody gave your a tldr of why you may want to follow those instructions instead, so here it is:

Those instructions configure your package manager (apt) with a new repository for this application.

The upside to that is that anytime you will look for updates, this app will also get updated.


It's a bit more work up front, but it can pay off when you have dozens of app updating as part of normal system operations.

Imagine a world where windows updates would also update all your software, that's what this is.

[–] nix@midwest.social 22 points 10 months ago

Also, no, this is not an ideal way to do this. Ideally every package you want is in your distro's repos so you'd just need to do "apt install [package]".

The reason this one isn't is because mullvad wants to make sure you use their tested, secure, and updated version and they don't want to maintain that for every distro. So they have you configure your package manager to use their repos.

This is relatively uncommon to come across in Debian. You'll normally only find it in security applications or very niche ones. The Debian repos aren't the most comprehensive but they'll contain the vast majority of common softwares.

[–] pelya@lemmy.world 51 points 10 months ago (9 children)

That's not how you do it.

Click 'Downloads' on the Mullvad website.

Scroll to the bottom section 'Unable to use the app'

Click 'OpenVPN'.

Download OpenVPN config.

You already have OpenVPN installed, skip all fancy installation steps.

Click network settings in the taskbar, 'New connection', 'OpenVPN', 'Import configuration'.

Turn on your new VPN connection. Done.

load more comments (9 replies)
[–] Nibodhika@lemmy.world 42 points 10 months ago (2 children)

This is one of the hardest walls for people to jump over mentally, from scavenging the internet for binaries to using a package manager.

I think ideally one should understand what they're doing, I think that if you did you would realise it's not hard, just different from what you're used to. Usually you install things using the graphical package manager, of which there are a lot, since I don't know which one you are using nor have I used any of them in a long while, I'll use the terminal as an example (same reason the site uses terminal commands), but all of this is almost assuredly possible via GUI.

To install things you usually do sudo apt install , this is a huge advantage on Linux, it works similar to your phone in that everything gets updated together but also it installs dependencies separately, which means that instead of having 10 copies of the same library for 10 programs that use it (like on Windows) you get a single one, which is part of the reason binaries are smaller on Linux.

The problem with this approach is that some programs are NOT listed there, the only programs there are the ones the maintainers of your distro (Ubuntu in this case) can review and approve. So you can have a lot of different solutions for this:

The first and most obvious for Windows users is to download the .deb from the website and just run that like you would a binary on windows, i.e. double-clicking it, or from the terminal you can run sudo dpkg -i . This works, but you lose the advantages of a package installed via your package manager, i.e. you would get the same experience as on windows, so it's not ideal.

The second way is the one they're describing, essentially you're adding a new repository to the package manager, that the people who wrote the program are maintaining (instead of Ubuntu guys), this is a two step process, sudo curl -fsSLo /usr/share/keyrings/mullvad-keyring.asc https://repository.mullvad.net/deb/mullvad-keyring.asc that command is downloading the file https://repository.mullvad.net/deb/mullvad-keyring.asc and putting it in /usr/share/keyrings/mullvad-keyring.asc, this is needed because repositories are not trusted by default, that would be a security nightmare, you can do this via GUI if your problem is with the terminal , just download the file and copy it to that location, it's just harder to explain than giving you a command. Then it's adding the repository to the repository list, the command is echo "deb [signed-by=/usr/share/keyrings/mullvad-keyring.asc arch=$( dpkg --print-architecture )] https://repository.mullvad.net/deb/stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/mullvad.list that command has a lot to unwrap, in essence it's editing the file /etc/apt/sources.list.d/mullvad.list and writing a line like deb [signed-by=/usr/share/keyrings/mullvad-keyring.asc arch=amd64] https://repository.mullvad.net/deb/stable focal main" there, but because the guy who wrote this doesn't know your architecture (e.g. amd64) nor your version (e.g. focal) he wrote a command that gets that information from your system, you can instead write the file yourself if you know those. Then install via package manager as normal.

There's a third way which is more recent which is install via snap/flatpak which is similar to install via package manager, except you don't add new repos.

There's a fourth way which is manually, usually when you compile stuff you install them manually.

I know it's a lot to take in, but I'm of the opinion that if you understand what's happening it makes things easier.

[–] Kecessa@sh.itjust.works 14 points 10 months ago (6 children)

The problem is that for most users, when their setup is completed they won't need to play with it for a while so after that any time they need to install something new through the terminal it means losing time to find instructions again.

Nothing is learned, to the eyes of a casual users it's just meaningless entries getting copy/pasted and it's information getting repeated again and again and again just with slightly different entries for each program. Meanwhile "how to install a program on Windows" would basically require one page on the whole internet to cover 99% of situations: "Download the install file, double click it, follow the on screen instructions to automatically install the program".

load more comments (6 replies)
load more comments (1 replies)
[–] AbsoluteChicagoDog@lemm.ee 36 points 10 months ago (7 children)

The comment section here is a perfect example of why people don't use Linux

[–] sailingbythelee@lemmy.world 16 points 10 months ago (4 children)

You got that right. So many contradictory comments for such a simple question.

That said, Linux for home use is a hobby and hobbyists expect a certain level of interest and basic commitment to learning. Also, the Linux community is a bit anti-Windows. So, coming on a Linux forum and complaining that a simple Linux task is too hard, basically because it isn't Windows and you didn't bother to read any documentation, pushes ALL the Linux nerd buttons, LOL.

Imagine going on a boardgame forum to complain that some super popular game is dumb because it isn't like a video game, and too complicated even though you didn't bother to read the game rules.

load more comments (4 replies)
load more comments (6 replies)
[–] bigkahuna1986@lemmy.ml 32 points 10 months ago (3 children)

My favorite part of this thread is everyone just saying copy and paste the commands so it will work. Like we should totally get users into the habit of running random commands off the net as root.

load more comments (3 replies)
[–] ulterno@lemmy.kde.social 31 points 10 months ago* (last edited 10 months ago)

"I have no idea what I’m doing here" <- Happens in the beginning. How about you start by trying to know what exactly you are doing? Let me give you a fasttrack...

  1. The first command you get in the instructions is curl. It is generally used to download stuff from a networked server.

    1.1. To understand the -fsSLo in the command, I strongly advise you to check out the manual of curl using man curl in a terminal.

  2. The second command in the instructions is echo "something" | sudo tee some/file

    2.1 Here you see 3 commands echo , sudo and tee. 2.1.1 Again, you can use man command-name to check the manual pages for these commands 2.2 There is a | symbol over here. It is called the "pipe symbol", which is what you can use to search for it. It is usually difficult to search for the symbol itself and I haven't found a man page for it, but open man bash and look for "Pipelines" and you'll know what it is about. Use Link, Link and Link to help yourself understand this.

  3. The commands in "Install the package" use the apt program. This is a Package Manager. Its job is to read package information that package developers have made and try to not let the system become unusable.

    • e.g. If you have a program called Xorg from 5 years ago, and a program called mesa from 5 years ago and Xorg depends upon mesa to work. Here, if you replace your mesa with a new, recent mesa yourself, there is a good chance Xorg will not work. The Package Manager prevents that from happening.
  4. The gist of what the instructions are making you do is, telling the Package Manager that there is another place from where you want it to look for packages.

To understand man pages better, check out this link.

Don't think too badly of people dissing you in the comments. They are tired and fed up of help vampires. Hopefully, you can try not to become one.

  • Try and build your own process of understanding the commands you see on the internet before entering them into the terminal.
  • The comments telling you to just follow the instructions, are coming from the perspective that you don't have the patience and determination to understand them yourself, which, a lot of people don't. I will leave it upto you to determine which one you decide to be. It is, however, a bad idea to follow instructions on any website, just because it "seems legit". You can't really say you "trust" the site until you have the ability to find out for yourself whether you want to trust it.

Check this out

[–] Aggravationstation@lemmy.world 27 points 10 months ago (4 children)

I don't want to sound arrogant but is reading a few paragraphs then copying and pasting 3 different commands into a terminal really that difficult?

It will make life easier in the long run as having a repo added will update the software with sudo apt upgrade in the future.

[–] Critical_Insight@feddit.uk 17 points 10 months ago* (last edited 10 months ago) (5 children)

It's not difficult. I've installed several apps that way already. I just don't like blindly following instructions while having zero understanding of what I'm actually doing here. Also, in this case the instructions are unhelpful because nowhere it tells me to install curl first and because of me not having it the first command just comes back with an error.

[–] Shihali@sh.itjust.works 12 points 10 months ago

cURL is a very commonly used program to download individual files from the command line and worth installing to have it around in the future.

sudo apt update
sudo apt install curl

The first command tells your package manager to update its list so you ask for the latest version. You can skip it if you've already updated today. The second command tells your package manager to install cURL.

This will happen every now and then, especially when building a package from source. You won't have some common utility that the documentation writer assumed you had, and you will need to find what package provides it and install the package.

[–] avidamoeba@lemmy.ca 11 points 10 months ago* (last edited 10 months ago)

The way to solve that problem is to read the commands and look up what they do. The installation method they describe is pretty standard and inoffensive. And provides automatic updates. The commands used aren't complicated and they're some of the system fundamentals for Debian/Ubuntu systems so it's a good idea being familiar with them.

load more comments (3 replies)
[–] princessnorah@lemmy.blahaj.zone 13 points 10 months ago* (last edited 10 months ago) (1 children)

And if you read a few paragraphs more, there’s a Download and install the app section too, rather than add their repos. Which is what the OP wanted anyway…

Edit: Here’s the link for the package download: https://mullvad.net/en/download/vpn/linux

load more comments (1 replies)
load more comments (2 replies)
[–] GenderNeutralBro@lemmy.sdf.org 26 points 10 months ago (15 children)

That page lists multiple installation methods, for multiple distros. There simplest one for you is just two steps.

  1. Download .deb installer

  2. Run apt install ~/Downloads/MullvadVPN-*_amd64.deb

It's not that complicated. That's just confusingly written. And caters to a wide range of users.

load more comments (15 replies)
[–] limeaide@lemmy.ml 20 points 10 months ago (2 children)

The same MFs on here that rush to tell someone that Linux is easy and intuitive are the same ones that can't keep a small talk conversation for more than 5 mins, a social activity that humans have been doing for thousands of years.

My words might be a little broad, harsh, and even hurtful, but just a reminder that not all of us are good at learning the same things.

We didn't all come out of the womb knowing how to socialize or use Linux, but if we look back far enough, we can all relate to the struggles it takes to learn something new, and how much it sucks when someone treats you like you're stupid just because things sometimes don't click

load more comments (2 replies)
[–] danielfgom@lemmy.world 20 points 10 months ago (5 children)

This is not the only way to install apps but as a Linux user there will be times when you will need to use the terminal. Might as well know that from now.

The instructions they gave are really simple and straightforward. If you struggle with that, you may want to learn a bit about the terminal.

But since you're on Ubuntu there is a much easier way: go to Mullvad downloads page and download the deb file. Double click it and the Ubuntu App Store should open and install it. If not, open the App Store and search for gdebi and install it. Now right click the deb you downloaded, and click "open with..." and choose gdebi from the list.

It should check dependencies and give you an "install" button. Click that and wait for it to finish. Then simply launch Mullvad as normal.

In general on Linux you install apps by looking in the distro repo: either by searching the App Store or by using the terminal.

To do it from the terminal type:

  1. 'sudo apt update'. Enter your password.

  2. After it's updated type 'apt search [name of app] and press enter. It will give you a list of apps with that name. Eg apt search lollypop (a music player). Then if you see it listed, you know it's in the repo.

  3. To install it type 'sudo apt install lollypop' and press enter. It will tell you how large it is and if you want to install it. Type "y" and press enter. It will finish it in a few seconds.

Done. Launch the app as normal.

There is also something called Flatpak's which you can get from flathub.com You will also find instructions there on how to install flatpak on your system but typing a few commands.

Welcome to Linux. You'll either embrace and love it or abandon it.

load more comments (5 replies)
[–] iusearchbtw@lemmy.sdf.org 18 points 10 months ago (31 children)

The instructions on that page make it so that every time you run a system update, mullvad automatically updates as well. If you're happy doing the updating yourself, you can download the deb file from here: https://github.com/mullvad/mullvadvpn-app/releases

load more comments (31 replies)
[–] bizdelnick@lemmy.ml 17 points 10 months ago (2 children)

Yes, it is. You can achieve the same usung GUI of course, but this would be more difficult to describe because there are multiple GUIs and they change with new distro versions.

This is more convenient than "downloading and intalling" a file because you don't have to track updates manually, the package manager will do this for you. You have to read something about what package manager is and how does it work. It is the main concept of all linux distros except LFS.

load more comments (2 replies)
[–] 0xtero@beehaw.org 16 points 10 months ago* (last edited 10 months ago)

As others have already pointed out, a lot of Linux software is installed from repositories in a standard way, and once you do that, it updates automatically.

However, as you've already discovered, there's more than one way to install Linux software. Repositories are still the most common way, but installing single .deb's (Debian based distributions) or .rpms (RedHat packaging format) is still there and there are more like Snap, Flatpak and Appimage. You can also often just download the source and compile it yourself. It's a very diverse ecosystem, not like the controlled worlds of WIndows and Mac.

In this case you can download the .deb file, and pretty sure you can even install it through the file manager, just like in Windows (I don't use Ubuntu, but I think it will just start GUI installation if you double-click on a .deb file).

But lot of things in Linux are still done through the terminal, like changing configurations and, yes, installing things.

Getting used to it takes a while, especially if you're not used to modern Windows administration through PowerShell.

The important part is trying to figure out what each of the commands do and that the output actually means. Software that supports Linux normally has very clear instructions (like in this case), but it does require willingness to change habits, technical curiosity and some trial and error (patience). It's not quite as polished experience as the commercial OS's. There's still a lot of rough edges for the user.

Good luck on your Linux journey!

[–] jet@hackertalks.com 11 points 10 months ago (1 children)

You can just install wireguard from your distros built in repository. Then use the mullvad wireguard conf downloader.

One time setup, and your wireguard gets updated by your distro update. No need to add a new repository.

load more comments (1 replies)
[–] redcalcium@lemmy.institute 11 points 10 months ago

Chance that your Ubuntu version already supports OpenVPN and wireguard (check your settings -> network). If so, just download wireguard/OpenVPN config files from mullvad: https://mullvad.net/account/openvpn-config?platform=linux

[–] SmoochyPit@beehaw.org 11 points 10 months ago (1 children)

Asking why something is the way it is makes you more of a “Linux user” than many.

You make a valid criticism; there’s definitely a learning curve to installing software if you choose to do it that way (since it’s not similar to other OSs), and it’s not automatically explained to new users by using the OS.

Here’s the understanding of it I’ve come to, if you’re interested:

Like others have said, the .deb file would be the equivalent of an .exe file on Windows. Like many .exe files, unless they include an auto-updater, they won’t automatically update.

A key difference I would like to point out is that Linux package managers often update and manage parts of the OS in addition to extra software. Windows and macOS both update their OS separately.

“Ubuntu Software Center” is similar to the “Microsoft Store” on Windows and the “App Store” on macOS. Like those, it’s user friendly and provides automatic updates, but it also doesn’t have every app. You can ensure those apps are safe because the company behind the OS verifies them.

“apt-get” is the default package manager for Ubuntu. That is the tool doing the heavy lifting underneath, and what those commands Mullvad gave are for.

Mullvad could have provided a script to download and run that executes those commands for you, but then you wouldn’t know what it’s doing, especially with it needing admin permission. With how security-oriented Mullvad’s brand is, I think that’s one potential reason they explain the steps and have the user do it instead.

[–] bizdelnick@lemmy.ml 14 points 10 months ago

the .deb file would be the equivalent of an .exe file on Windows

Not .exe. If you want to find an equivalent, .msi is the closest.

[–] thanksforallthefish@literature.cafe 11 points 10 months ago (2 children)

While lvxferre's instructions are the ideal, there's a simpler option

Download the mullvad.deb file.

Doubleclick on it from your file manager and it should automatically instsll

Every time you start mullvad it will check if the version is current and prompt you (with a link to click on) to upgrade if it's not.

Note that works on mint, should work on ubuntu unless they've disabled dpkg

load more comments (2 replies)
[–] techognito@lemmy.world 10 points 10 months ago* (last edited 10 months ago) (5 children)

If you go to: https://mullvad.net/en/download/vpn/linux

And click the "download .deb" button (It says underneath "Works on Ubuntu 20.04+, Debian 11+ (64bit only)". As long as your Ubuntu is up-to-date, this will work fine)

you get a file ("MullvadVPN-2023.6_amd64.deb") you can run just like on Windows (similar to MullvadVPN-2023.6.exe)

opening the file should open a GUI for installing the file

Keep in mind, to update Mullvad VPN, you would need to download a newer .deb file (after an update is released). It shows the latest version above the download buttons, below the "Mullvad VPN for Linux text" This is the same as how it is on Windows

Edit: This is not intended as good advice, just a simple way to install Mullvad VPN. The smartest solution would be to add the repo.

2nd Edit: While this is how Mullvad provides their software, it is never ideal to install random .deb packages or add third party repos without being sure that the ones who provided the package/repo is trustworthy.

load more comments (5 replies)
load more comments
view more: next ›