Difference between revisions of "Snapcraft"

From Free Knowledge Base- The DUCK Project: information for everyone
Jump to: navigation, search
m
m
Line 1: Line 1:
 
SNAP
 
SNAP
  
Snapcraft is a special jailed development environment.  Snapcraft or simply snap is a self-contained way of packaging software that enables independent software installation. Everything that is needed to run an application is part of the snap package, so there are no external dependencies outside the snap package and no dependency with the application repository. The tool for using snaps is called snapd (the Snapcraft daemon), which must be installed first.
+
Snapcraft is touted to be a special jailed development environment.  Snapcraft or simply snap is a self-contained way of packaging software that enables independent software installation. Everything that is needed to run an application is part of the snap package, so there are no external dependencies outside the snap package and no dependency with the application repository. The tool for using snaps is called snapd (the Snapcraft daemon), which must be installed first.
  
 +
However, using snap requires to run it as root.  The self contained nature of snap results in wasted disk space as libraries are redundantly added to many snaps, identical to each other rather than being shared.  Snaps are by and large flaky and many times seem to be broken.
  
SNAP IS BAD
+
Snap is not completely open source as a lot of people may think, the server-side is completely proprietary also is the audit part.  Snaps have built-telemetry, this is how they know how many and what distributions are using snap.
 
+
Snap is not completely open source as a lot of people may think, the server-side is completely proprietary also is the audit part.  Snaps have built-telemetry, this is how they know how many and what distros are using snap.
+
  
 
The Linux Mint team doesn't care much for snaps, but it's still possible to install them.
 
The Linux Mint team doesn't care much for snaps, but it's still possible to install them.
 
* https://blog.linuxmint.com/?p=3906
 
* https://blog.linuxmint.com/?p=3906
  
 +
The snap back end (snap store) is still proprietary and only controlled by Canonical/Ubuntu. Canonical has also been forcing snaps instead of regular apt packages on Ubuntu.  Snaps are slow to install, slow to start, take too much RAM, too much disk space and they auto-update themselves without asking. 
 +
 +
Ultimately it is best to AVOID using snapcraft.  If there are alternatives to a snap package for a software such as a debian package or source you are better off avoiding the snap route. 
  
 
== Install ==
 
== Install ==

Revision as of 20:58, 17 October 2022

SNAP

Snapcraft is touted to be a special jailed development environment. Snapcraft or simply snap is a self-contained way of packaging software that enables independent software installation. Everything that is needed to run an application is part of the snap package, so there are no external dependencies outside the snap package and no dependency with the application repository. The tool for using snaps is called snapd (the Snapcraft daemon), which must be installed first.

However, using snap requires to run it as root. The self contained nature of snap results in wasted disk space as libraries are redundantly added to many snaps, identical to each other rather than being shared. Snaps are by and large flaky and many times seem to be broken.

Snap is not completely open source as a lot of people may think, the server-side is completely proprietary also is the audit part. Snaps have built-telemetry, this is how they know how many and what distributions are using snap.

The Linux Mint team doesn't care much for snaps, but it's still possible to install them.

The snap back end (snap store) is still proprietary and only controlled by Canonical/Ubuntu. Canonical has also been forcing snaps instead of regular apt packages on Ubuntu. Snaps are slow to install, slow to start, take too much RAM, too much disk space and they auto-update themselves without asking.

Ultimately it is best to AVOID using snapcraft. If there are alternatives to a snap package for a software such as a debian package or source you are better off avoiding the snap route.

Install

 sudo apt install snapd

As a side effect of using --devmode the snap will not automatically update. In order to update to a newer version you can run:

$ snap refresh --beta --devmode <<name of software>>


Example SNAP software

Is it installed or what about it?

snap info <<softwarename>>


vlc

Check this out...

anbox

anbox - Android emulator. Anbox puts the Android operating system into a container, abstracts hardware access and integrates core system services into a GNU/Linux system.

I tried to install it one way, and on Mint 18 it failed, so I tired another way... see below...

nicolep@solo ~/tmp $ snap install --classic anbox-installer && anbox-installer
anbox-installer 1 from morphis installed
The anbox-installer is deprecated. Please find updated installation
instructions here https://github.com/anbox/anbox/blob/master/docs/install.md
For any further questions please ask on the #anbox IRC channel on the
FreeNode network or in the Anbox telegram group (https://t.me/anbox).
nicolep@solo ~/tmp $ snap install --devmode --beta anbox
anbox (beta) 4-e1ecd04 from morphis installed

I don't know, maybe that helps you. Try it both ways.

You need some kernel stuff

sudo add-apt-repository ppa:morphis/anbox-support
sudo apt install anbox-modules-dkms
sudo modprobe ashmem_linux
sudo modprobe binder_linux
sudo apt-get install android-tools-adb

Oh I guess snap isn't so great after all, I still need to manually add kernel modules!!!!

Also, you need to reboot now that you mucked about with your kernel.