Hi everyone, I’m new to Linux, coming from a Windows background, and I’ve recently started exploring different packaging systems like snaps, flatpaks, and appimages. I’ve watched a video where @jay, you explained snap packages, and I’ve been experimenting with them.
I’m not here to debate snap vs deb packages or to argue about the minor performance hit or increased space usage of snaps. I’ve been trying to use mostly snap packages for the last few days, but it’s become increasingly frustrating trying to get some of them to work properly.
For example, I installed VSCode, JetBrains Rider, and Docker as snaps. I ran into a lot of issues getting Rider to work with Docker. Installing Docker as a .deb package was much more straightforward, and it worked seamlessly with Rider and VSCode right from the start.
I also installed the .NET SDK 8 from snap. However, the latest .NET SDK 9 was missing, and even with SDK 8, I ran into permission issues when trying to install a workload (e.g., dotnet workload install maui
), because /snap/dotnet/sdk
was read-only. In contrast, installing .NET via .deb (to /usr/lib/dotnet
) worked perfectly, with no issues and I was able to install all the workloads.
After these experiences, I’ve decided that for SDKs or anything that needs to be closely integrated with the system (like Docker, .NET SDK, Android SDK, Node.js, etc.), I’ll stick with .deb packages.
For other applications like Firefox, Rider, VSCode, Android Studio, Spotify, Discord, etc., I’m happy to use snap packages.
So, I’d like to get others’ opinions on this approach. Does it make sense to separate SDKs/frameworks/libraries from general applications in this way? Or would you recommend a different strategy based on your experience?
I’d really appreciate any feedback!