Ein Ubuntu Snap-Paket oder einfach nur Snap ist ein Distributionsformat, das dem AppImage insofern ähnelt, als es als "universell installierbares Paket" für die Bereitstellung von Software auf Linux Systemen gedacht ist. Snaps wurden von Ubuntu eingeführt, aber sie sollen auf allen Linux-Distributionen laufen, solange der Snap-Daemon, oder snapd
, auf dem Zielsystem verfügbar ist.
Ein Snap Paket hat zwei Hauptmerkmale:
Weitere Möglichkeiten zur Installation der Software siehe Installation unter Linux.
Die Verwendung von Snaps ist experimentell. Die aktuellen Snaps werden von Freiwilligen generiert und bereitgestellt.
Auf allen Systemen, in denen Snaps installiert werden sollen, muss zuerst der Snap-Daemon installiert werden. Das Paket heißt normalerweise snapd
.
Für Debian/Ubuntu und ähnliche Systeme, die den APT Verwalter verwenden, wird der Daemon wie folgt installiert:
sudo apt install snapd
Um die stabile Version des Snap zu installieren, verwende
sudo snap install freecad
Um die Entwicklungsversion des Snap zu installieren, verwende:
sudo snap install --edge freecad
To install the stable version of the Snap use:
snap install freecad
To install the development version of the Snap use:
snap install --edge freecad
To figure out which development version is installed type the following in the Command-line interface:
snap info freecad
Starting from the tail end of the v0.20 release cycle, the FreeCAD snap maintainers added the ability to test experimental FreeCAD builds. Snaps allow for this by easily toggling between different snaps (terminology is 'channels or tracks'). For example:
Testing the Topological Naming ('toponaming') branch (created at the start of the v0.21/v1.0 release cycle):
snap refresh freecad --channel=latest/edge/toponaming
Using the refresh
command will switch and update the snap channel you're switching to:
snap refresh freecad --channel=latest/edge/toponaming
Toggling back to the nightly 'edge' channel:
snap refresh freecad --channel=latest/edge
The following commands are geared towards users that are familiar with git
and have a locally cloned repository of the upstream FreeCAD repository.
git clone https://github.com/FreeCAD/FreeCAD
cd FreeCAD/
To find out the latest upstream revision number (also known as 'HEAD'):
git pull upstream master # first make sure we have the most up-to-date commits
git rev-list --count HEAD # 'HEAD' refers to the current commit you are viewing (tip of the master branch)
To translate the current snap development version in to a revision number (make sure you're within your cloned FreeCAD repository as mentioned above):
snap info freecad |\
grep -e '^\s\+latest/edge' |\
awk -F ' ' '{ print $2 }' |\
xargs -I{} git rev-list --count {}
Note: the above bash script 1 liner assumes user has 'edge' (nightly) installed
The difference between HEAD and the snap edge revision numbers indicates the amount of revisions trailing behind upstream the snap development (edge) is.
Taking it a step further, if you want a short summary of the commits between the current snap edge and HEAD:
snap info freecad |\
grep -e '^\s\+latest/edge' |\
awk -F ' ' '{ print $2 }' |\
xargs -I{} git log --oneline --ancestry-path {}..HEAD
Note: The output will indicate what commits are not in the current 'edge' (but will be on the next nightly update).
Weitere Informationen über die aktuellen Bemühungen, mit Snaps umzugehen: