Ubuntu Snap/de: Difference between revisions

From FreeCAD Documentation
(Created page with "== Einrichtung ==")
(Updating to match new version of source page)
(20 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{TOCright}}

== Einführung ==
== Einführung ==


<div class="mw-translate-fuzzy">
An [[Ubuntu_Snap|Ubuntu Snap]] package, or just [[Ubuntu_Snap|Snap]] is a distribution format similar to [[AppImage|AppImage]] in that it is intended to be a "universal installable package" to deploy software in Linux systems. Snaps were introduced by Ubuntu but they are intended to run in all Linux distributions as long as the Snap daemon, or {{incode|snapd}}, is available in the target system.
Ein [[Ubuntu_Snap/de|Ubuntu Snap]] Paket oder einfach nur [[Ubuntu_Snap/de|Snap]] ist ein Distributionsformat, das dem [[AppImage/de|AppImage]] insofern ähnelt, als es als "universell installierbares Paket" für die Bereitstellung von Software in Linux Systemen gedacht ist. Snaps wurden von Ubuntu eingeführt, aber sie sollen in allen Linux Distributionen laufen, solange der Snap Daemon, oder {{incode|snapd}}, im Zielsystem verfügbar ist.
</div>


<div class="mw-translate-fuzzy">
A Snap package has two main characteristics:
Ein Snap Paket hat zwei Hauptmerkmale:
* Programs are sandboxed so they do not interfere with the rest of your operating system.
* Programme sind in einem Sandkasten untergebracht, so dass sie den Rest Ihres Betriebssystems nicht stören.
* Programs are updated automatically in the background in order to get the newest version of the application.
* Programme werden automatisch im Hintergrund aktualisiert, um die neueste Version der Anwendung zu erhalten.
</div>


Weitere Möglichkeiten zur Installation der Software siehe [[Installing_on_Linux/de|Installation unter Linux]].
For other ways of installing the software, see [[Installing|Installing]].


== Einrichtung ==
== Einrichtung ==


<div class="mw-translate-fuzzy">
As of v0.19 the use of Snaps is experimental. The current Snaps are generated and hosted by volunteers.
Ab v0.19 ist die Verwendung von Snaps experimentell. Die aktuellen Snaps werden von Freiwilligen generiert und bereitgestellt.
</div>


<div class="mw-translate-fuzzy">
In all systems where Snaps are to be installed, the Snap daemon must be installed first. The package is normally called {{incode|snapd}}.
In allen Systemen, in denen Snaps installiert werden sollen, muss zuerst der Snap Daemon installiert werden. Das Paket heißt normalerweise {{incode|snapd}}.
</div>

=== Debian/Ubuntu ===

Für Debian/Ubuntu und ähnliche Systeme, die den APT Verwalter verwenden, wird der Daemon wie folgt installiert:


For Debian/Ubuntu and similar systems which use the APT manager the daemon is installed as follows:
{{Code|lang=bash|code=
{{Code|lang=bash|code=
sudo apt install snapd
sudo apt install snapd
}}
}}


Um die stabile Version des Snap zu installieren, verwende
To install the stable version of the Snap use:

{{Code|lang=bash|code=
{{Code|lang=bash|code=
sudo snap install freecad
sudo snap install freecad
}}
}}

Um die Entwicklungsversion des Snap zu installieren, verwende:

{{Code|lang=bash|code=
sudo snap install --edge freecad
}}

=== Manjaro ===

To install the stable version of the Snap use:

{{Code|lang=bash|code=
snap install freecad
}}


To install the development version of the Snap use:
To install the development version of the Snap use:

{{Code|lang=bash|code=
{{Code|lang=bash|code=
sudo snap install --edge freecad-ppd
snap install --edge freecad
}}
}}


== Links ==
== Notes ==

==== What FC version am I running ====

To figure out which development version is installed type the following in the Command-line interface:

{{Code|lang=bash|code=
snap info freecad
}}

==== Changing between different Snaps ====

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 '[https://snapcraft.io/docs/channels channels or tracks]'). For example:

Testing the Topological Naming ('toponaming') branch (created at the start of the v0.21/v1.0 release cycle):

{{code|lang=bash|code=
snap refresh freecad --channel=latest/edge/toponaming
}}

Using the {{incode|refresh}} command will switch and update the snap channel you're switching to:

{{code|lang=bash|code=
snap refresh freecad --channel=latest/edge/toponaming
}}

Toggling back to the nightly 'edge' channel:

{{code|lang=bash|code=
snap refresh freecad --channel=latest/edge
}}

== Advanced ==

The following commands are geared towards users that are familiar with {{incode|git}} and have a locally cloned repository of the upstream FreeCAD repository.

{{Code|lang=bash|code=
git clone https://github.com/FreeCAD/FreeCAD
cd FreeCAD/
}}

To find out the latest upstream revision number (also known as 'HEAD'):

{{Code|lang=bash|code=
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):

{{Code|lang=bash|code=
snap info freecad <nowiki>|</nowiki>\
grep -e '^\s\+latest/edge' <nowiki>|</nowiki>\
awk -F ' ' '{ print $2 }' <nowiki>|</nowiki>\
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:

{{Code|lang=bash|code=
snap info freecad <nowiki>|</nowiki>\
grep -e '^\s\+latest/edge' <nowiki>|</nowiki>\
awk -F ' ' '{ print $2 }' <nowiki>|</nowiki>\
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).

== Verweise ==

<div class="mw-translate-fuzzy">
Weitere Informationen über die aktuellen Bemühungen, mit Snaps umzugehen.
* [https://forum.freecadweb.org/viewtopic.php?f=4&t=46044 0.19 Snap Vorschau benötigt "Tester"], ältere Snap von {{Emphasis|vejmarie}}
* [https://forum.freecadweb.org/viewtopic.php?f=42&t=46853 Diskussion: Zustand des Snap (Snap Pakete)], neuere Version des Snap von {{Emphasis|ppd}}
</div>

=== Repositories ===

* https://github.com/FreeCAD/FreeCAD-snap
* https://snapcraft.io/freecad

=== Maintainer(s) ===

* ppd ([https://forum.freecadweb.org/memberlist.php?mode=viewprofile&u=24042 forum], [https://github.com/ppd github])
* luzpaz ([https://forum.freecadweb.org/memberlist.php?mode=viewprofile&u=12229 forum], [https://github.com/luzpaz github])

== Related ==

* [[AppImage|AppImage]] - another self-contained 'binary' like format to run FreeCAD
* [[Flatpak|Flatpak]] packages


More information about current efforts to deal with Snaps.
* [https://forum.freecadweb.org/viewtopic.php?f=4&t=46044 0.19 Snap Preview needs "testers"], older Snap by {{Emphasis|vejmarie}}
* [https://forum.freecadweb.org/viewtopic.php?f=42&t=46853 Discussion: State of the snap (Snap Packaging)], newer version of the Snap by {{Emphasis|ppd}}


[[Category:Packaging{{#translation:}}]]
[[Category:Developer Documentation{{#translation:}}]]
[[Category:Testing{{#translation:}}]]
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Revision as of 16:27, 3 July 2022

Einführung

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 in Linux Systemen gedacht ist. Snaps wurden von Ubuntu eingeführt, aber sie sollen in allen Linux Distributionen laufen, solange der Snap Daemon, oder snapd, im Zielsystem verfügbar ist.

Ein Snap Paket hat zwei Hauptmerkmale:

  • Programme sind in einem Sandkasten untergebracht, so dass sie den Rest Ihres Betriebssystems nicht stören.
  • Programme werden automatisch im Hintergrund aktualisiert, um die neueste Version der Anwendung zu erhalten.

Weitere Möglichkeiten zur Installation der Software siehe Installation unter Linux.

Einrichtung

Ab v0.19 ist die Verwendung von Snaps experimentell. Die aktuellen Snaps werden von Freiwilligen generiert und bereitgestellt.

In allen Systemen, in denen Snaps installiert werden sollen, muss zuerst der Snap Daemon installiert werden. Das Paket heißt normalerweise snapd.

Debian/Ubuntu

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

Manjaro

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

Notes

What FC version am I running

To figure out which development version is installed type the following in the Command-line interface:

snap info freecad

Changing between different Snaps

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

Advanced

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).

Verweise

Weitere Informationen über die aktuellen Bemühungen, mit Snaps umzugehen.

Repositories

Maintainer(s)

Related

  • AppImage - another self-contained 'binary' like format to run FreeCAD
  • Flatpak packages