Difference between revisions of "Snapcraft"
m |
m |
||
Line 1: | Line 1: | ||
SNAP | 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. | + | 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. Once installed, you have yet another daemon, aka background process running full time sharing resources with everything else you are trying to do on your computer. |
− | + | Using snap requires to run it as root which seems to negative any security advantage. 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. | 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. |
Revision as of 20:00, 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. Once installed, you have yet another daemon, aka background process running full time sharing resources with everything else you are trying to do on your computer.
Using snap requires to run it as root which seems to negative any security advantage. 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.
Contents
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.