Can someone help me install mullvad vpn on Solus linux? Since they only have .deb and .rpm packages, I compiled the app myself on Solus. After tediously installing what seemed like hundreds of dependencies I was finally able to compile the source code only to find out that I had just compiled a .deb and a .rpm package.... Great! Anyway, I know (or at-least I think) that all package managers do is extract the files from the package and copy them to the right place in the file-system. The compilation also resulted in a folder called, "linux-unpacked", which seems to have all the necessary files to run the application. Can someone help me copy these files to the, "Solus-Specific", place so I can use the application? Any help is greatly appreciated!
Installing .deb packages on Solus Linux
Here's the file-tree of the linux-unpacked directory if it's necessary to help me
chrome_100_percent.pak
chrome_200_percent.pak
chrome_crashpad_handler
chrome-sandbox
icudtl.dat
libEGL.so
libffmpeg.so
libGLESv2.so
libvk_swiftshader.so
libvulkan.so.1
LICENSE.electron.txt
LICENSES.chromium.html
locales/
mullvad-gui
mullvad-vpn
resources/
resources.pak
snapshot_blob.bin
swiftshader/
v8_context_snapshot.bin
vk_swiftshader_icd.json
- Edited
There is a mullvad
package in the repository. Is this not what you're looking for?
Staudey Yes, that's what I was looking for. Thanks for pointing this out!
Just in case you suddenly need to unpack the deb
package.
Attention! Don't do that if you're not sure what you're doing!
Create a temporary directory and move your package there, since there will be "garbage" when unpacking:
mkdir temp
mv yourPackage.deb temp/
cd temp/
Then unpack the moved package with this command:
ar -xv yourPackage.deb
After unpacking, you will have three files:
x - debian-binary
x - control.tar.xz
x - data.tar.xz
Perhaps instead of x - data.tar.xz
you will get x - data.tar.gz
.
Create a data
directory and unpack your data tar-archive there:
mkdir data
tar -C data -Jxf data.tar.xz
Now inside the data directory there will be directories usr
, bin
, lib
, etc.
Next, you spread the entire structure along similar paths of your distribution.
alexanderzhirov That was informative although I'm curious, other than the inconvenience why should I hesitate to do this method? It seems pretty robust.
foxbishop Because some packages have dependencies that may not be present in your distribution and manual installation of such a package may lead to incorrect operation of your distribution.
- Edited
foxbishop I'm curious, other than the inconvenience why should I hesitate to do this method? It seems pretty robust.
As a general rule, using a package in the repository is the preferred method to install an app, for several reasons:
(1) the repository app was converted to .eopkg by a Solus team maintainer who knows what he/she/they are doing, so packaging errors, such as missed, incorrect or incompatible dependencies, are less likely in a repository package than in a roll-your-own,
(2) an eopkg in the repository is tested on an ongoing basis, so the package is less likely than a roll-your-own to screw up the installed distribution as the app and Solus change over time, and
(3) a roll-your-own .deb to .eopkg has to be self-maintained in a private repository (rather than maintained by the Solus team maintainer) on an ongoing basis, which can be a real pain if the package updates frequently (as in, say, a browser, which is the one app I package privately).
That is not to discourage you from ignoring the repository and rolling-your-own packages and maintaining a private repository. The instructions for doing so can be found in the Help Center. You'll learn a lot over time straightening things out, maintaining the package, and keeping the package in sync with changes in the Solus OS. It isn't rocket science. My view, though, is that rolling-your-own is best used only when a package is not in the repository or available as a Flatpak or Snap.