Using deb files on non-debian systems

While using Solus I found some apps that were not in the repos like Obisidian and Tabby. I stumbled upon this post on the Solus forums that talked about using binutils to run Edge from the official .deb package.

From this post I discovered the same process worked for any .deb package I could find (as long as your dependencies are satisfied).

  1. Install the binutils package and download the target .deb package.

  2. Run ar xv against your .deb file

    > ar xv ./edge.deb                    
    x - debian-binary
    x - control.tar.xz
    x - data.tar.xz
    x - _gpgorigin
    
We only need data.tar.xz everything else can be deleted

  1. Extract the data.tar.xz
    > tar -xvf ./data.tar.xz
    ./
    ./etc/
    ./etc/cron.daily/
    ./opt/
    ./opt/microsoft/
    ./opt/microsoft/msedge-beta/
    ./opt/microsoft/msedge-beta/MEIPreload/
    ...
    
You can delete the data tar file now too

  1. You are left with a file structure that will look familiar
    > ls 
    etc  opt  usr
    

For Edge the executable is ./opt/microsoft/msedge-beta/msedge, but other packages will vary. In most cases you can execute the binary and be "done" at this point. Place the root of this relative path anywhere you want, I use ~/bin.

For bonus points take the pre-made .desktop file out of ./user/share/applications/ and put it in ~/.local/share/applications (correct the executable path in this file). You may need to take an icon file from ./user/share/icons/* and place them in the corresponding ~/.local/share/icons directory.