<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Systemd-portabled-beschreibung</id>
	<title>Systemd-portabled-beschreibung - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Systemd-portabled-beschreibung"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Systemd-portabled-beschreibung&amp;action=history"/>
	<updated>2026-06-29T13:59:04Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Systemd-portabled-beschreibung&amp;diff=39232&amp;oldid=prev</id>
		<title>Thomas.will: Die Seite wurde neu angelegt: „=Exemplarische Vorgehensweise Portable Service= *systemd v239 enthält eine große Anzahl neuer Funktionen. *Einer davon ist der erstklassige Support für Port…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Systemd-portabled-beschreibung&amp;diff=39232&amp;oldid=prev"/>
		<updated>2023-01-09T10:09:11Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „=Exemplarische Vorgehensweise Portable Service= *systemd v239 enthält eine große Anzahl neuer Funktionen. *Einer davon ist der erstklassige Support für Port…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Exemplarische Vorgehensweise Portable Service=&lt;br /&gt;
*systemd v239 enthält eine große Anzahl neuer Funktionen.&lt;br /&gt;
*Einer davon ist der erstklassige Support für Portable Services. &lt;br /&gt;
=Was sind „Portable Services“?=&lt;br /&gt;
*Das „Portable Service“-Konzept lässt sich von klassischen chroot()-Umgebungen sowie dem Container-Management inspirieren&lt;br /&gt;
*Es bringt zudemeine Reihe ihrer Funktionen in das regulärere Systemdienst-Management ein.&lt;br /&gt;
*Das Konzept &amp;quot;Container&amp;quot; bietet hauptsächlich zwei Hauptmerkmale:&lt;br /&gt;
=Ressourcenbündelung=&lt;br /&gt;
*Ein Container bringt im Allgemeinen seinen eigenen Dateisystembaum mit &lt;br /&gt;
*Diese werden gebündelt alle gemeinsam genutzten Bibliotheken und andere Ressourcen, die er möglicherweise benötigt, zusammen mit den ausführbaren Hauptdienstdateien.&lt;br /&gt;
=Isolation und Sandboxing=&lt;br /&gt;
*Ein Container arbeitet in einer Namespace-Umgebung, die relativ losgelöst vom Host ist. &lt;br /&gt;
*Abgesehen davon, dass es in einem eigenen Dateisystem-Namensraum lebt, hat es normalerweise auch eine eigene Benutzerdatenbank, einen eigenen Prozessbaum und so weiter. &lt;br /&gt;
*Der Zugriff vom Container auf den Host wird durch verschiedene Sicherheitstechnologien eingeschränkt.&lt;br /&gt;
=Chroot=&lt;br /&gt;
*Von diesen beiden Konzepten ist das erste auch das, worum es bei traditionellen UNIX-chroot()-Umgebungen geht.&lt;br /&gt;
*Sowohl Ressourcenbündelung als auch Isolierung/Sandboxing sind Konzepte, die systemd seit längerem in unterschiedlichem Maße implementiert.&lt;br /&gt;
*Insbesondere RootDirectory= und RootImage= gibt es schon seit langer Zeit, ebenso wie die verschiedenen Sandboxing-Funktionen, die systemd bereitstellt.&lt;br /&gt;
*Das Konzept der Portable Service baut darauf auf und kombiniert diese Funktionen auf eine neue, integrierte Weise, um sie zugänglicher und benutzerfreundlicher zu machen.&lt;br /&gt;
=Was genau ist ein &amp;quot;Portable Service&amp;quot;?=&lt;br /&gt;
*Ähnlich wie ein Container-Image kann ein portabler Dienst auf der Festplatte nur ein Verzeichnisbaum sein,&lt;br /&gt;
*Diese ausführbare Dienstdateien und alle ihre Abhängigkeiten in einer Hierarchie enthält, die der normalen Linux-Verzeichnishierarchie ähnelt.&lt;br /&gt;
*Ein portabler Dienst kann auch ein Raw-Disk-Image sein, das ein Dateisystem enthält, das einen solchen Baum enthält (das über ein Loopback-Blockgerät gemountet werden kann),&lt;br /&gt;
*Oder mehrere Dateisysteme (in diesem Fall müssen sie der Spezifikation für erkennbare Partitionen folgen und in einer GPT-Partitionstabelle befinden).&lt;br /&gt;
*Unabhängig davon, ob der portable Dienst auf der Festplatte ein einfacher Verzeichnisbaum oder ein Raw-Disk-Image ist, nennen wir dieses Konzept das portable Service-Image.&lt;br /&gt;
*Solche Images können mit jedem Tool generiert werden, das normalerweise zum Installieren von Betriebssystemen in einem bestimmten Verzeichnis verwendet wird,&lt;br /&gt;
*beispielsweise dnf --installroot= oder debootstrap.&lt;br /&gt;
*An diese Bäume werden nur sehr wenige Anforderungen gestellt, mit Ausnahme der folgenden beiden:&lt;br /&gt;
*Der Baum sollte systemd-Unit-Dateien für relevante Dienste enthalten.&lt;br /&gt;
*Der Baum sollte /usr/lib/os-release (oder /etc/os-release) OS-Versionsinformationen enthalten.&lt;br /&gt;
*Natürlich, qualifizieren sich OS-Bäume, die von einer der heutigen großen Distributionen generiert wurden, im Allgemeinen für diese beiden Anforderungen ohne weitere Modifikationen,&lt;br /&gt;
*Da so ziemlich alle von ihnen /usr/lib/os-release übernommen haben und dazu neigen, ihre Hauptdienste bereitzustellen mit systemd-Unit-Dateien.&lt;br /&gt;
*Ein so generiertes portables Service-Image kann von einem Host „angehängt“ oder „getrennt“ werden:&lt;br /&gt;
&lt;br /&gt;
*Das „Anhängen“ eines Bildes an einen Host erfolgt über den neuen Befehl „portablectl attach“.&lt;br /&gt;
*Dieser Befehl zerlegt das Image, liest die OS-Release-Informationen und sucht darin nach Unit-Dateien.&lt;br /&gt;
*Es kopiert dann relevante Unit-Dateien aus den Images und in /etc/systemd/system/.&lt;br /&gt;
*Danach werden alle kopierten Service-Unit-Dateien auf zwei Arten erweitert:&lt;br /&gt;
*Ein Drop-In fügt eine RootDirectory=- oder RootImage=-Zeile hinzu, sodass die Unit-Dateien, obwohl sie jetzt auf dem Host verfügbar sind, beim Start die referenzierten Binärdateien von ausführen Bild. Es enthält auch symbolische Links in einem zweiten Drop-In, das als &amp;quot;Profil&amp;quot; bezeichnet wird und zusätzliche Sicherheitseinstellungen enthalten soll, um die angehängten Dienste durchzusetzen, um das richtige Maß an Sandboxing sicherzustellen.&lt;br /&gt;
&lt;br /&gt;
*Das „Trennen“ eines Bildes vom Host erfolgt durch portables Trennen.&lt;br /&gt;
*Es kehrt die obigen Schritte um:&lt;br /&gt;
*Die herauskopierten Unit-Dateien werden wieder entfernt, ebenso wie die beiden Drop-in-Dateien, die dafür generiert werden.&lt;br /&gt;
&lt;br /&gt;
*Während ein portabler Dienst angehängt wird, werden seine relevanten Unit-Dateien wie alle anderen auf dem Host verfügbar gemacht:&lt;br /&gt;
*Sie erscheinen in systemctl list-unit-files,&lt;br /&gt;
*Sie können sie aktivieren und deaktivieren,&lt;br /&gt;
*Sie können sie starten und stoppen. &lt;br /&gt;
*Sie können sie mit systemctl edit erweitern.&lt;br /&gt;
*Sie können sie introspizieren.&lt;br /&gt;
*Sie können die Ressourcenverwaltung auf sie wie auf jeden anderen Dienst anwenden, und Sie können ihre Protokolle wie jeden anderen Dienst verarbeiten und so weiter.&lt;br /&gt;
*Das liegt daran, dass es sich wirklich um native systemd-Dienste handelt, außer dass sie, wenn Sie so wollen, einen „Twist“ haben: Sie haben standardmäßig eine strengere Sicherheit und speichern ihre Ressourcen in einem Stammverzeichnis oder Image.&lt;br /&gt;
*Und das ist bereits die Essenz dessen, was Portable Services sind.&lt;br /&gt;
&lt;br /&gt;
Ein paar interessante Punkte:&lt;br /&gt;
&lt;br /&gt;
Auch wenn der Schwerpunkt auf dem Versand von Service-Unit-Dateien in portablen Service-Images liegt, können Sie tatsächlich Timer-Units, Socket-Units, targ&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
*https://www.freedesktop.org/software/systemd/man/portablectl.html&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>