159
submitted 10 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
[-] lvxferre@lemmy.ml 206 points 10 months ago* (last edited 10 months ago)

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

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 62 points 10 months ago

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

[-] drctrl@lemmy.world 7 points 10 months ago

My fresh Debian install didn't have that too and I thought it came with the installation

[-] ikidd@lemmy.world 18 points 10 months ago

Debian doesn't even come with sudo, git or curl by default. It's kind of minimal on purpose.

[-] apprehensively_human@lemmy.ca 7 points 10 months ago

It always throws me off on a fresh install when I can't sudo

[-] Matriks404@lemmy.world 2 points 10 months ago

I didn't know that any distribution comes with git preinstalled.

[-] 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)

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

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)

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.

[-] astraeus@programming.dev 3 points 10 months ago

Yeah, once you work in Linux for so long seeing someone ask about curl missing is really easy to take for granted that we all started there, we’ve all been fresh on Linux. A lot of people take pride in their experience, but they shouldn’t lord it over those who are learning to advance themselves. It’s completely counter to why Linux even exists.

[-] TrickDacy@lemmy.world 9 points 10 months ago

Wow, interesting. You may be able to install curl to fix that like this:

sudo apt-get update
sudo apt-get install curl

Can't hurt to try

[-] pmk@lemmy.sdf.org 9 points 10 months ago

curl is a good tool to have in general, you can install it with sudo apt install curl

[-] intensely_human@lemm.ee 6 points 10 months ago

sudo apt install curl

[-] Oha@lemmy.ohaa.xyz 1 points 10 months ago

sudo apt install curl

[-] Ludrol@szmer.info 1 points 10 months ago
sudo apt install curl
[-] 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.

[-] user224@lemmy.sdf.org 9 points 10 months ago

Hmm... ProtonVPN team solved this in better way. They put the repo configuration stuff into DEB file, so it's just a matter of double clicking it and clicking install on Debian-based and Ubuntu-based (I know Ubuntu is Debian-based) distros and then installing the ProtonVPN client through either GUI or CLI package manager, whichever you wish to use. More newbie-friendly.

Unfortunately, I also just learned they dropped support for Arch Linux :(

We’d love to support the new app for arch Linux but honestly we’re understaffed and don’t have the bandwidth to be supporting the same distros that we did before with the previous client (4 packages before vs 10 packages now). If anyone from the community is willing to make AUR packages for themselves and publish/maintain them we’re totally fine with that, as long as people keep in mind that it would be an unofficial version because we currently don’t support arch Linux with the new v4 app.

Also if anyone’s interested: https://boards.eu.greenhouse.io/proton/jobs/4140067101

[-] 0xtero@beehaw.org 9 points 10 months ago

Hmm… ProtonVPN team solved this in better way. They put the repo configuration stuff into DEB file, so it’s just a matter of double clicking it and clicking install

I was wondering how they'd solve signature checking and key installation - and looking at their page they seem to recommend skipping checking package signatures which, to be honest, isn't a super good practice - especially if you're installing privacy software.

Please don’t try to check the GPG signature of this release package (dpkg-sig –verify). Our internal release process is split into several part and the release package is signed with a GPG key, and the repo is signed with another GPG key. So the keys don’t match.

I get it's more userfriendly - and they provide checksums, so not a huge deal, especially since these are not official Debian packages, but the package signing has been around since 2000, so it's pretty well established procedure at this point.

[-] XTL@sopuli.xyz 8 points 10 months ago

Any instructions that say sudo curl should be thrown out immediately.

[-] bjorney@lemmy.ca 4 points 10 months ago

Is curl so untrusted that you would prefer to use 3 commands (one which still needs root permissions) instead?

[-] XTL@sopuli.xyz 2 points 10 months ago* (last edited 10 months ago)

The point is that an HTTPS request does not need root permissions. Other steps might, and that's indeed high risk.

[-] bjorney@lemmy.ca 2 points 10 months ago

The curl that ships with apt is ubiquitous enough that I trust doing sudo curl xxx yyy more than enough if it means avoiding typing curl xxx /tmp/yyy && sudo mv /tmp/yyy yyy

[-] jet@hackertalks.com 2 points 10 months ago

Agreed it's not best practice. But when somebody is saying the individual step-by-step is too complicated, you want to give them the simplest command possible. Even if it is more risky. It's a trade off of accessibility versus complexity

[-] umbrella@lemmy.ml 3 points 10 months ago* (last edited 10 months ago)

to be fair all of that should be a flatpak you click once to install

[-] lvxferre@lemmy.ml 6 points 10 months ago

Frankly in this case even a simple bash script would do the trick. Have it check your distro, version, and architecture; if you got curl and stuff like this; then ask you if you want the stable or beta version of the software. Then based on this info it adds Mullvad to your repositories and automatically install it.

[-] umbrella@lemmy.ml 3 points 10 months ago

nowadays they always come across as lazy to me, when a bunch of options are available to make installing software on linux painless.

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

I like them, even for software installation. Partially because they're lazy - it takes almost no effort to write a bash script that will solve a problem like this.

That said a flatpak (like you proposed) would look far more polished, indeed.

[-] umbrella@lemmy.ml 2 points 10 months ago* (last edited 10 months ago)

oh i meant devs who provide packages but don't bother with install scripts.

bash scripts are fine when they exist.

[-] lvxferre@lemmy.ml 2 points 10 months ago

Ah, got it. My bad. Yeah, not providing anything is even lazier, and unlike "lazy" bash scripts it leaves the user clueless.

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

Linux

48334 readers
1347 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