<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://vosp.freesn.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=V</id>
	<title>Vosp.freesn.de - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://vosp.freesn.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=V"/>
	<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php/Spezial:Beitr%C3%A4ge/V"/>
	<updated>2026-06-30T03:16:19Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Mail_server&amp;diff=6071</id>
		<title>Mail server</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Mail_server&amp;diff=6071"/>
		<updated>2025-04-05T19:33:10Z</updated>

		<summary type="html">&lt;p&gt;V: /* postfix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== postfix ==&lt;br /&gt;
&lt;br /&gt;
* test mail mit mysql&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
postmap  -q xxx@xxx.de mysql:/etc/postfix/maps/mysql-virtual-mailbox-maps.cf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* zeige queue&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
mailq&lt;br /&gt;
mailq | less&lt;br /&gt;
postqueue -p&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* zeige statistik zu aktiven Mails im queue&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
qshape active&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* zeige statistik zu verzögerte Mails im queue&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
qshape deferred &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Alle Emails in der Postfix Mailqueue löschen&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
 postsuper -d ALL&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Blacklists Check ==&lt;br /&gt;
&lt;br /&gt;
* https://mxtoolbox.com/blacklists.aspx&lt;br /&gt;
* https://www.heise.de/netze/tools/spam-listen/&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* Postfix: Mail-Queue bearbeiten: http://www.huschi.net/4_277_de-postfix-mail-queue-bearbeiten.html&lt;br /&gt;
* Postfix: Wichtige Befehle in der Kurzübersicht:  http://netz10.de/2011/06/02/postfix-befehle/&lt;br /&gt;
* Postfix Mail-Queue aufräumen: https://hilfe-server.de/e-mail/postfix-mail-queue-aufraeumen/&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Apcupsd&amp;diff=5963</id>
		<title>Apcupsd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Apcupsd&amp;diff=5963"/>
		<updated>2022-05-03T13:58:15Z</updated>

		<summary type="html">&lt;p&gt;V: /* /etc/apcupsd/apcupsd.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Grundbefehle ==&lt;br /&gt;
&lt;br /&gt;
=== Installieren ===&lt;br /&gt;
==== Basis ====&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
apt-get install apcupsd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== Webzugang (Optional) ====&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
apt-get install apcupsd-cgi apache2&lt;br /&gt;
a2enmod cgi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Aufzurufen unter:&lt;br /&gt;
http://192.168.0.1/cgi-bin/apcupsd/multimon.cgi&lt;br /&gt;
&lt;br /&gt;
===Starten ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
# systemctl restart apcupsd.service&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
MAINHOST# apcaccess status&lt;br /&gt;
...&lt;br /&gt;
CABLE    : USB Cable&lt;br /&gt;
DRIVER   : USB UPS Driver&lt;br /&gt;
UPSMODE  : Stand Alone&lt;br /&gt;
MODEL    : Smart-UPS_1000&lt;br /&gt;
STATUS   : ONLINE&lt;br /&gt;
BCHARGE  : 100.0 Percent&lt;br /&gt;
TIMELEFT : 27.0 Minutes&lt;br /&gt;
MBATTCHG : 5 Percent&lt;br /&gt;
MINTIMEL : 3 Minutes&lt;br /&gt;
MAXTIME  : 0 Seconds&lt;br /&gt;
ALARMDEL : No alarm&lt;br /&gt;
BATTV    : 26.4 Volts&lt;br /&gt;
...&lt;br /&gt;
SECONDHOST# apcaccess status&lt;br /&gt;
...&lt;br /&gt;
CABLE    : Ethernet Link&lt;br /&gt;
DRIVER   : NETWORK UPS Driver&lt;br /&gt;
UPSMODE  : Stand Alone&lt;br /&gt;
MASTER   : 192.168.0.1:3551&lt;br /&gt;
MODEL    : Smart-UPS_1000&lt;br /&gt;
STATUS   : ONLINE SLAVE&lt;br /&gt;
BCHARGE  : 100.0 Percent&lt;br /&gt;
TIMELEFT : 23.3 Minutes&lt;br /&gt;
MBATTCHG : 5 Percent&lt;br /&gt;
MINTIMEL : 3 Minutes&lt;br /&gt;
MAXTIME  : 0 Seconds&lt;br /&gt;
BATTV    : 26.4 Volts&lt;br /&gt;
NUMXFERS : 0&lt;br /&gt;
TONBATT  : 0 Seconds&lt;br /&gt;
CUMONBATT: 0 Seconds&lt;br /&gt;
XOFFBATT : N/A&lt;br /&gt;
NOMBATTV : 24.0 Volts&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Host 192.168.0.1 (über USB an USV) ==&lt;br /&gt;
&lt;br /&gt;
=== /etc/apcupsd/apcupsd.conf ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
UPSNAME USVMainHost&lt;br /&gt;
UPSCABLE usb&lt;br /&gt;
UPSTYPE usb&lt;br /&gt;
DEVICE&lt;br /&gt;
POLLTIME 60&lt;br /&gt;
LOCKFILE /var/lock&lt;br /&gt;
SCRIPTDIR /etc/apcupsd&lt;br /&gt;
PWRFAILDIR /etc/apcupsd&lt;br /&gt;
NOLOGINDIR /etc&lt;br /&gt;
ONBATTERYDELAY 30&lt;br /&gt;
BATTERYLEVEL 5&lt;br /&gt;
MINUTES 3&lt;br /&gt;
TIMEOUT 0&lt;br /&gt;
ANNOY 300&lt;br /&gt;
ANNOYDELAY 60&lt;br /&gt;
NOLOGON disable&lt;br /&gt;
KILLDELAY 0&lt;br /&gt;
NETSERVER on&lt;br /&gt;
NISIP 0.0.0.0 #allow remote connections&lt;br /&gt;
NISPORT 3551&lt;br /&gt;
EVENTSFILE /var/log/apcupsd.events&lt;br /&gt;
EVENTSFILEMAX 10&lt;br /&gt;
UPSCLASS standalone&lt;br /&gt;
UPSMODE disable&lt;br /&gt;
STATTIME 0&lt;br /&gt;
STATFILE /var/log/apcupsd.status&lt;br /&gt;
LOGSTATS off&lt;br /&gt;
DATATIME 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /etc/apcupsd/hosts.conf ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
MONITOR 127.0.0.1 &amp;quot;Local Host&amp;quot;&lt;br /&gt;
MONITOR 192.168.0.2 &amp;quot;Second HOST&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /etc/default/apcupsd ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
ISCONFIGURED=yes&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Second HOST 192.168.0.2 (Über Ethernet mit main verbunden ==&lt;br /&gt;
&lt;br /&gt;
=== /etc/apcupsd/apcupsd.conf ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
UPSNAME USVSecondHost&lt;br /&gt;
UPSCABLE ether&lt;br /&gt;
UPSTYPE net&lt;br /&gt;
DEVICE 192.168.0.1:3551&lt;br /&gt;
POLLTIME 10&lt;br /&gt;
LOCKFILE /var/lock&lt;br /&gt;
SCRIPTDIR /etc/apcupsd&lt;br /&gt;
PWRFAILDIR /etc/apcupsd&lt;br /&gt;
NOLOGINDIR /etc&lt;br /&gt;
ONBATTERYDELAY 30&lt;br /&gt;
BATTERYLEVEL 5&lt;br /&gt;
MINUTES 3&lt;br /&gt;
TIMEOUT 0&lt;br /&gt;
ANNOY 300&lt;br /&gt;
ANNOYDELAY 60&lt;br /&gt;
NOLOGON disable&lt;br /&gt;
KILLDELAY 0&lt;br /&gt;
NETSERVER on&lt;br /&gt;
NISIP 0.0.0.0&lt;br /&gt;
NISPORT 3551&lt;br /&gt;
EVENTSFILE /var/log/apcupsd.events&lt;br /&gt;
EVENTSFILEMAX 10&lt;br /&gt;
UPSCLASS standalone&lt;br /&gt;
UPSMODE disable&lt;br /&gt;
STATTIME 0&lt;br /&gt;
STATFILE /var/log/apcupsd.status&lt;br /&gt;
LOGSTATS off&lt;br /&gt;
DATATIME 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Windows&amp;diff=5962</id>
		<title>Windows</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Windows&amp;diff=5962"/>
		<updated>2022-05-02T14:14:21Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[windows]] [[#Windows alternative Software]] | [[windows cleaning]] | [[windows server]] | [[MS PowerShell]]&lt;br /&gt;
&lt;br /&gt;
= Microsoft Windows Welt = &lt;br /&gt;
&lt;br /&gt;
== Microsoft Software ==&lt;br /&gt;
=== Windows Download ===&lt;br /&gt;
* [https://www.microsoft.com/de-de/software-download/windows10ISO Windows 10-Datenträgerabbild (ISO-Datei) herunterladen]&lt;br /&gt;
* [https://www.microsoft.com/de-de/software-download/windows10]&lt;br /&gt;
&lt;br /&gt;
=== Outlook ===&lt;br /&gt;
&lt;br /&gt;
z.B. Outlook 2016&lt;br /&gt;
&lt;br /&gt;
 Wichtig: Die Einstellungen unter Systemsteuerung sind andere als direkt über Outlook, auch wenn es gleich aussieht&lt;br /&gt;
&lt;br /&gt;
* Systemsteuerung =&amp;gt; Große/Kleine Symbole Alle Systemsteuerungselemente =&amp;gt; E-Mail (32 Bit) =&amp;gt; &lt;br /&gt;
** E-Mail-Konten&lt;br /&gt;
** Datendateien&lt;br /&gt;
** Profile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [https://praxistipps.chip.de/outlook-blindkopie-bcc-standardmaessig-an-mich-senden_19195 Outlook: Blindkopie (BCC) standardmäßig an mich senden]&lt;br /&gt;
&lt;br /&gt;
=== Microsoft Office ===&lt;br /&gt;
https://www.pcwelt.de/a/microsoft-word-kostenlos-erhalten,3450833&lt;br /&gt;
&lt;br /&gt;
== Windows Ordner ==&lt;br /&gt;
&lt;br /&gt;
 %systemdrive% - Installationsmedium, meistens c:\&lt;br /&gt;
&lt;br /&gt;
 %windir% - Windows Installations Verzeichnis, meistens c:\Windows&lt;br /&gt;
&lt;br /&gt;
 %appdata% - lokale benuzter einstellungen (analog zu ~/.*)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== startordner ===&lt;br /&gt;
&lt;br /&gt;
viele Orte um was auto zu starten&lt;br /&gt;
&lt;br /&gt;
 Windows + R&lt;br /&gt;
   shell:startup&lt;br /&gt;
   shell:common startup&lt;br /&gt;
&lt;br /&gt;
 %appdata%\Microsoft\Windows\Start Menu\Programs\Startup&lt;br /&gt;
&lt;br /&gt;
 msconfig =&amp;gt; Autostart&lt;br /&gt;
&lt;br /&gt;
 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp&lt;br /&gt;
&lt;br /&gt;
 Task-Manager =&amp;gt; Autostart&lt;br /&gt;
&lt;br /&gt;
== windows befehle ==&lt;br /&gt;
&lt;br /&gt;
=== Programme ===&lt;br /&gt;
&lt;br /&gt;
==== cmd ====&lt;br /&gt;
&lt;br /&gt;
==== appwiz.cpl - Programme und Features ====&lt;br /&gt;
&lt;br /&gt;
* Systemsteuerung\Alle Systemsteuerungselemente\Programme und Features&lt;br /&gt;
* Programm deinstallieren und ändern&lt;br /&gt;
** Installiert am, Größe und Version&lt;br /&gt;
&lt;br /&gt;
====  netplwiz - Programm für Benutzerverwaltung ====&lt;br /&gt;
&lt;br /&gt;
===== Benutzer müssen Benutzernamen und Kennwort eingeben =====&lt;br /&gt;
&lt;br /&gt;
* Der Benutzer brauch nicht das Passwort angeben, nach dem der Rechner hoch gefahren ist&lt;br /&gt;
** netplwiz&lt;br /&gt;
*** Benutzer läßt sich auswählen, wenn kurz Checkbox ausgewählt wird&lt;br /&gt;
*** Achtung, falls Haken nicht vorhanden (ab win 10 2004) dann erst &lt;br /&gt;
**** regedit&lt;br /&gt;
***** HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device&lt;br /&gt;
****** DevicePasswordLessBuildVersion&lt;br /&gt;
&amp;lt;source&amp;gt;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device\DevicePasswordLessBuildVersion=0   &lt;br /&gt;
// von 2 auf 0 setzen&amp;lt;/source&amp;gt;&lt;br /&gt;
[[Datei:VospNetplwiz.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* https://hausner-elektronik.de/haekchen-bei-benutzer-muessen-benutzernamen-und-kennwort-eingeben-ist-nicht-vorhanden&lt;br /&gt;
&lt;br /&gt;
=== Windows + x ===&lt;br /&gt;
&lt;br /&gt;
total viele nützliche admin sachen&lt;br /&gt;
&lt;br /&gt;
==== Ereignisanzeige ====&lt;br /&gt;
&lt;br /&gt;
===== booten und runterfahren probleme =====&lt;br /&gt;
&lt;br /&gt;
* Anwendungs- und Dienstprotokolle/Microsoft/Windows/Diagnostics-Performance/Betriebsbereit &lt;br /&gt;
** Ereignis-IDs&lt;br /&gt;
** 100er Start&lt;br /&gt;
** 200er Beenden&lt;br /&gt;
** 100er/200er Verzögerungen beim Starten bzw. enden (20* analog zu 10*)&lt;br /&gt;
*** 100 windows wurde erfolgreich gestartet (egal)&lt;br /&gt;
*** 101 eine Anwendung hat Start verzögert&lt;br /&gt;
*** 102 ein Treiber&lt;br /&gt;
*** 103 ein Dienst zB Defender&lt;br /&gt;
*** 106 eine Hintergrundoptimierung durch windows&lt;br /&gt;
*** 107/108 Verzögerungen durch Gruppenrichtlinien&lt;br /&gt;
*** 109 Hardware initialisierung&lt;br /&gt;
&lt;br /&gt;
=== Windowstaste + R ===&lt;br /&gt;
&lt;br /&gt;
==== Computerverwaltung: compmgmt.msc  ====&lt;br /&gt;
&lt;br /&gt;
* compmgmt.msc&lt;br /&gt;
&lt;br /&gt;
===== Verwaltung für Lokale Benutzer und Gruppen.:  lusrmgr.msc =====&lt;br /&gt;
&lt;br /&gt;
* lusrmgr.msc&lt;br /&gt;
&lt;br /&gt;
==== msconfig ====&lt;br /&gt;
Windowstaste + R&lt;br /&gt;
 msconfig&lt;br /&gt;
&lt;br /&gt;
==== temp ====&lt;br /&gt;
&lt;br /&gt;
Windowstaste + R&lt;br /&gt;
 temp &lt;br /&gt;
&lt;br /&gt;
https://www.pcwelt.de/a/windows-10-stuerzt-ab-oder-friert-ein-so-beheben-sie-das-problem,3451973&lt;br /&gt;
&lt;br /&gt;
==== Ressourcenmonitor statt Task-Manager ====&lt;br /&gt;
&lt;br /&gt;
Windowstaste + R&lt;br /&gt;
 resmon &lt;br /&gt;
&lt;br /&gt;
==== services.msc - weitere Dienstprogramme die am anfang gestartet werden und das system zu müllen ====&lt;br /&gt;
&lt;br /&gt;
Windowstaste + R&lt;br /&gt;
 services.msc&lt;br /&gt;
&lt;br /&gt;
==== Benutzerkonten - Netzwerkpasswörter - .... ====&lt;br /&gt;
&lt;br /&gt;
Windowstaste + R&lt;br /&gt;
 control userpasswords2&lt;br /&gt;
 =&amp;gt; Erweitert =&amp;gt; Kennwörter verwalten =&amp;gt; Windows-Anmeldeinformationen&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* https://itler.net/windows-gespeicherte-netzwerkpasswoerter-loeschen/&lt;br /&gt;
&lt;br /&gt;
=== firewall ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
# regeln anzeigen&lt;br /&gt;
Get-NetFirewallRule -Enabled True | Select DisplayName, Profile, Action&lt;br /&gt;
&lt;br /&gt;
# regel hinzufügen&lt;br /&gt;
netsh advfirewall firewall add rule name=“Block Cortana Outbound Traffic“ dir=out action=block program=“%windir%\systemapps\Microsoft.Windows.Cortana_cw5n1h2txyewy\SearchUI.exe“enable=yes profile=any&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== allgemeine Befehle ===&lt;br /&gt;
&lt;br /&gt;
https://www.thomas-krenn.com/de/wiki/Cmd-Befehle_unter_Windows&lt;br /&gt;
&lt;br /&gt;
=== Dateien kopieren - robocopy ===&lt;br /&gt;
&lt;br /&gt;
* https://docs.microsoft.com/de-de/windows-server/administration/windows-commands/robocopy&lt;br /&gt;
* https://michael.mckinnon.id.au/2011/06/27/how-to-do-windows-backups-with-robocopy-tips/&lt;br /&gt;
* https://www.andysblog.de/windows-mit-robocopy-nur-eine-datei-kopieren-wenn-sie-geaendert-wurde&lt;br /&gt;
* https://adamtheautomator.com/robocopy-the-ultimate&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
robocopy /Z /E /R:0 /W:0 &amp;lt;source-path&amp;gt; &amp;lt;dest-path&amp;gt; /XD &amp;quot;Temp&amp;quot; &amp;quot;Temporary Internet Files&amp;quot; /XF pagefile.sys hiberfil.sys&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
robocopy /Z /E /R:0 /W:0 /np /V /NDL /NFL /FP /XO /LOG+:.\logfile.log	\\192.168.0.1\dir\dir1 		dir\dir1     		/XD &amp;quot;Temp&amp;quot; &amp;quot;Temporary Internet Files&amp;quot; /XF pagefile.sys hiberfil.sys &lt;br /&gt;
if %errorlevel% gtr 1 (&lt;br /&gt;
	echo Fehler beim Kopieren einer Datei &amp;gt; \errorfile.txt&lt;br /&gt;
	echo %date% - %time% - %errorlevel% &amp;gt;&amp;gt; \errorfile.txt&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:: /Z 		Wenn der Kopiervorgang unterbrochen wird, koennen Sie mit dieser Option an der Stelle weitermachen, an der abgebrochen wurde. Es koennen aber nicht alle Dateien kopiert werden.&lt;br /&gt;
:: /E		Kopiert Unterverzeichnisse (auch leere Verzeichnisse).&lt;br /&gt;
:: /R:n		Definiert die maximalen Fehler, die beim Kopieren uebergangen werden (standardmaessig 1 Mio.).&lt;br /&gt;
:: /W:n		Definiert die Sekunden, die gewartet wird, wenn ein Kopiervorgang nicht erfolgreich war, um es erneut zu versuchen.&lt;br /&gt;
:: /XD dir 	Kopiert diese Verzeichnisse nicht. Auf diese Weise können Sie Unterverzeichnisse beim Spiegeln überspringen lassen, indem Sie deren Pfad im Befehl angeben.&lt;br /&gt;
:: /XF file	Kopiert diese Dateien nicht. Sie können mehrere hintereinander schreiben. Diese Option setzen Sie am Ende des Befehls. Sie können auch mit * als Platzhalter arbeiten.&lt;br /&gt;
:: /Log +:	Schreibt die Status Ausgabe in die Protokolldatei (fuegt die Ausgabe an die vorhandene Protokolldatei an).&lt;br /&gt;
:: /NFL		Loggt keinen Kopiervorgang ausser Fehler. (irgendwie funzt das nicht ganz wie erwartet, keine fehlerliste)&lt;br /&gt;
:: /NDL		Gibt an, dass Verzeichnisnamen nicht protokolliert werden sollen. (irgendwie funzt das nicht ganz wie erwartet, keine fehlerliste)&lt;br /&gt;
:: /np		Gibt an, dass der Fortschritt des Kopiervorgangs (die bisher kopierte Anzahl von Dateien oder Verzeichnissen) nicht angezeigt wird.&lt;br /&gt;
:: /V 		Verbose output&lt;br /&gt;
:: /xo		Damit die Datei nur kopiert wird, wenn Sie sich geaendert hat haengt man einfach noch ein /xo an:&lt;br /&gt;
:: /FP		Replaces simple file names with full file pathnames in the output.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateien in sein Eigentum überführen - (linux: chown) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;gt;&lt;br /&gt;
&lt;br /&gt;
takeown /f ‹Verzeichnisname› /r /d y&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ad­minis­tra­toren-Gruppe alle Rechte geben (linux: chgrp root; chmod g+rwx; )===&lt;br /&gt;
&amp;lt;source lang=&amp;gt;&lt;br /&gt;
icacls ‹Verzeichnisname› /grant Administratoren:F /t&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Verzeichnis löschen (linux: rm -r) ===&lt;br /&gt;
&amp;lt;source lang=&amp;gt;&lt;br /&gt;
rd /s /q ‹Verzeichnisname›&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== als anderer Benutzer ausführen ===&lt;br /&gt;
&lt;br /&gt;
regedit als administrator ausführen&lt;br /&gt;
* Kurzform&lt;br /&gt;
 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer\ShowRunAsDifferentUserInStart = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* wahrscheinlicher&lt;br /&gt;
** Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows&lt;br /&gt;
** dann neuen Schlüssel angelegen &lt;br /&gt;
** Explorer&lt;br /&gt;
** dann ShowRunAsDifferentUserInStart als Dword 32-Bit neu anzulegen und gleich 1 setzen&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
* Quellen&lt;br /&gt;
** https://www.windows-faq.de/2017/12/21/als-anderer-benutzer-ausfuehren-dem-windows-10-startmenue-hinzufuegen/&lt;br /&gt;
&lt;br /&gt;
== Windows Updates ==&lt;br /&gt;
&lt;br /&gt;
=== spezielles Update-Paket deinstallieren und verhindern ===&lt;br /&gt;
&lt;br /&gt;
 WUShowHide &lt;br /&gt;
&lt;br /&gt;
* Windows Start &amp;gt; Updateverlauf anzeigen &amp;gt; Updates deinstallieren &lt;br /&gt;
** Paket mit rechter Maustaste auswählen und deinstallieren&lt;br /&gt;
* neustarten&lt;br /&gt;
* Download the [http://download.microsoft.com/download/f/2/2/f22d5fdb-59cd-4275-8c95-1be17bf70b21/wushowhide.diagcab troubleshooter] from the Microsoft Download Center&lt;br /&gt;
** ausführen und weiter&lt;br /&gt;
** Hide updates&lt;br /&gt;
** spezielles update Paket auswählen, weiter und schließen&lt;br /&gt;
* eigentlich sollte das paket nun nicht mehr installiert werden&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Quellen&lt;br /&gt;
* https://www.tecchannel.de/a/installation-bestimmter-windows-10-updates-verhindern,3277657&lt;br /&gt;
** https://support.microsoft.com/en-us/help/3073930/how-to-temporarily-prevent-a-driver-update-from-reinstalling-in-window&lt;br /&gt;
&lt;br /&gt;
==== mit der powershell ====&lt;br /&gt;
&lt;br /&gt;
Windows Taste + x : Windows Powershell (Als Administrator)&lt;br /&gt;
&amp;lt;source lang=powershell&amp;gt;&lt;br /&gt;
WUSA /UNINSTALL /KB:4560960&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
oder &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=powershell&amp;gt;&lt;br /&gt;
dism /online /get-packages&lt;br /&gt;
# den betreffenen Paketnamen aus wählen&lt;br /&gt;
dism /online /remove-package /packagename:Package_for_RollupFix~31bf3856ad364e35~amd64~~18362.900.1.8&lt;br /&gt;
# und neustarten&lt;br /&gt;
shutdown /r /t 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* https://www.deskmodder.de/wiki/index.php?title=Windows_10_Updates_deinstallieren#Updates_.C3.BCber_die_Eingabeaufforderung_deinstallieren&lt;br /&gt;
&lt;br /&gt;
== Windows Probleme ==&lt;br /&gt;
 C:\Users\Mitarbeiter\AppData\Roaming\Microsoft\Windows\Recent&lt;br /&gt;
&lt;br /&gt;
=== Drucker druckt Outlook E-Mails immer auf dem falschen Papier aus (Fach 1), auch nach Änderung auf Fach 3 wird die Einstellung nicht übernommen. ===&lt;br /&gt;
&lt;br /&gt;
Datei löschen:&lt;br /&gt;
C:\Users\Mitarbeiter\AppData\Roaming\Microsoft\Outlook\OutlPrnt&lt;br /&gt;
&lt;br /&gt;
=== Drucker OKI 730n funktioniert nach Windows Update KB4560960 ===&lt;br /&gt;
&lt;br /&gt;
* Update [https://support.microsoft.com/de-de/help/4560960/windows-10-update-kb4560960 KB4560960] hat folgende Highlights&lt;br /&gt;
 Updates zur Optimierung der Sicherheit bei Verwendung von externen Geräten (z. B. Gamecontroller, Drucker und Webcams) und Eingabegeräten wie Maus, Tastatur oder Tablettstift.&lt;br /&gt;
&lt;br /&gt;
* vorläufige Problemlösung wäre [[Windows#spezielles_Update-Paket_deinstallieren_und_verhindern]] bis Windows selber aktiv wird&lt;br /&gt;
* jetzt gibt es ein gegenupdate https://support.microsoft.com/de-de/help/4567523/windows-10-update-kb4567523&lt;br /&gt;
** [https://www.catalog.update.microsoft.com/Search.aspx?q=KB4567523 KB4567523] installieren &lt;br /&gt;
*** scheint im Gegensatz zur Seite, aber wie der Name nur sagt, nur mit min win 10 2004 zu installieren sein (auf jeden fall nicht mit 1903)&lt;br /&gt;
&lt;br /&gt;
* Windows dazu https://docs.microsoft.com/en-us/windows/release-information/status-windows-10-2004#436msgdesc&lt;br /&gt;
** [https://support.microsoft.com/help/4557957 KB4557957] scheint ansonsten auch problematisch zu sein&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Quellen:&lt;br /&gt;
* https://www.channelpartner.de/a/drucker-probleme-nach-juni-update,3337891&lt;br /&gt;
&lt;br /&gt;
=== Windows 10 Probleme checken ===&lt;br /&gt;
&lt;br /&gt;
im Suchfeld (im Zweifel unter Start)&lt;br /&gt;
 Zuverlässigkeitsüberwachung&lt;br /&gt;
eintippen und ohhhh&lt;br /&gt;
&lt;br /&gt;
=== Explorer startet nicht mehr  ===&lt;br /&gt;
* weil history fehlerhaft ist :( &lt;br /&gt;
&lt;br /&gt;
Systemsteuerung &amp;gt; Explorer Optionen &amp;gt; Datenschutz &amp;gt; Datei Explorer Verlauf löschen&lt;br /&gt;
&lt;br /&gt;
oder per Hand folgende unterdateien löschen&lt;br /&gt;
 %appdata%\Microsoft\Windows\Recent&lt;br /&gt;
 %appdata%\Microsoft\Windows\Recent\AutomaticDestinations&lt;br /&gt;
 %appdata%\Microsoft\Windows\Recent\CustomDestinations &lt;br /&gt;
 bzw.&lt;br /&gt;
 C:\Users\***\AppData\Roaming\Microsoft\Windows\Recent&lt;br /&gt;
 C:\Users\***\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations&lt;br /&gt;
 C:\Users\***\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations&lt;br /&gt;
&lt;br /&gt;
oder &lt;br /&gt;
* *Lösung:* &lt;br /&gt;
** &amp;quot;WIN&amp;quot; + &amp;quot;R&amp;quot; =&amp;gt; Shell:startup&lt;br /&gt;
** Ansicht   =&amp;gt; Optionen =&amp;gt; Ordner Und Suchoptionen Datei Explorer Verlauf löschen&lt;br /&gt;
&lt;br /&gt;
* Quellen &lt;br /&gt;
** https://k2rx.com/how-clear-file-explorer-history-windows-10&lt;br /&gt;
&lt;br /&gt;
=== Windows: Nicht löschbare Dateien löschen / Trusted Installer sperrt Dateien ===&lt;br /&gt;
&lt;br /&gt;
https://www.windowspro.de/andreas-kroschel/windows-nicht-loeschbare-dateien-loeschen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=dfdf&amp;gt;&lt;br /&gt;
takeown /f ‹Verzeichnisname› /r /d y&lt;br /&gt;
icacls ‹Verzeichnisname› /grant Administratoren:F /t&lt;br /&gt;
rd /s /q ‹Verzeichnisname›&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Registry ==&lt;br /&gt;
[[ Fremde HKEY_CURRENT_USER ]]&lt;br /&gt;
&lt;br /&gt;
== Benutzerverwaltung ==&lt;br /&gt;
&lt;br /&gt;
* Windows + R&lt;br /&gt;
** lusrmgr.msc &lt;br /&gt;
** oder über compmgmt.msc &amp;gt; Computerverwaltung &amp;gt; System &amp;gt; Lokale Benutzer und Gruppen&lt;br /&gt;
&lt;br /&gt;
=== Gastbenutzer_in aktivieren ===&lt;br /&gt;
&lt;br /&gt;
* folgendes hat nur dazu geführt, das gast aktiviert wurde, starten ging nicht :( @20H2&lt;br /&gt;
** cmd / Eingabeaufforderung als Administrator öffnen&lt;br /&gt;
&amp;lt;source lang&amp;gt;&lt;br /&gt;
net user gast /active yes&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
** ist das gleiche wie über lusrmgr.msc benutzer gast aktvieren&lt;br /&gt;
* https://www.giga.de/downloads/windows-10/tipps/windows-10-gastkonto-einrichten-so-gehts/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* zweiter versuch&lt;br /&gt;
** powershell&lt;br /&gt;
&amp;lt;source lang&amp;gt;&lt;br /&gt;
net user Besucher_in  /add /active:yes&lt;br /&gt;
net localgroup Benutzer Besucher_in  /delete&lt;br /&gt;
# net localgroup HomeUsers Besucher_in /delete # Die angegebene lokale Gruppe ist nicht vorhanden.&lt;br /&gt;
net localgroup Gäste Besucher_in /add&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* https://www.deskmodder.de/wiki/index.php/Gast_Konto_aktivieren_deaktivieren_Windows_10&lt;br /&gt;
&lt;br /&gt;
== windows verschlüsseln mit BitLocker ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;bitlocker verwalten&amp;quot; als admin ausführen und &lt;br /&gt;
** &amp;quot;Bitlocker aktivieren&amp;quot;&lt;br /&gt;
** Wiederherstellungsschlüssel in Datei speichern&lt;br /&gt;
* gpedit.msc: Computer Konfiguration/Administrative Vorlagen/Windows-Komponenten/BitLocker-Laufwerkverschlüsselung/Betriebssystemlaufwerke&lt;br /&gt;
** Regel: Zusätzliche Authentifizierung beim Start anfordern&lt;br /&gt;
[[Datei:VospBitlocker01.PNG|400px]]&lt;br /&gt;
** Regel: Erweiterte Pins für Systemstart zulassen&lt;br /&gt;
** Regel: Minimale PIN-Länge für Systemstart konfigurieren&lt;br /&gt;
[[Datei:VospBitlocker02.PNG|400px]]&lt;br /&gt;
* nach dem Neustart, gibt es jetzt ne weitere option in &amp;quot;bitlocker verwalten&amp;quot;&lt;br /&gt;
** ACHTUNG: Bei der PIN beachten, das bei der Eingabe die amerikanische Tastatur ist!!!!&lt;br /&gt;
[[Datei:VospBitlocker03.PNG|400px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Quellen&lt;br /&gt;
** https://www.security-insider.de/was-ist-bitlocker-a-789767/&lt;br /&gt;
** https://www.heise.de/tipps-tricks/BitLocker-auf-Windows-10-Festplatte-richtig-verschluesseln-4325375.html&lt;br /&gt;
** https://www.tecchannel.de/a/zusaetzliche-pin-abfrage-fuer-bitlocker-beim-windows-start-einrichten,3277851&lt;br /&gt;
&lt;br /&gt;
== Windows-Befehlsskript ==&lt;br /&gt;
&lt;br /&gt;
=== Netzlaufwerk einbinden ===&lt;br /&gt;
&amp;lt;source lang&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
&lt;br /&gt;
set machine=192.168.0.2&lt;br /&gt;
set var= 0&lt;br /&gt;
&lt;br /&gt;
:loop&lt;br /&gt;
ping -n 6 %machine% | find &amp;quot;TTL&amp;quot;&lt;br /&gt;
if %errorlevel% == 1 goto :failure&lt;br /&gt;
goto :CONNECT&lt;br /&gt;
&lt;br /&gt;
:connect&lt;br /&gt;
net use z: \\pcname\share /user:winuser &amp;quot;password&amp;quot; /persistent:no&lt;br /&gt;
&lt;br /&gt;
goto :EOF&lt;br /&gt;
&lt;br /&gt;
:failure&lt;br /&gt;
echo Connection to %machine% failed...&lt;br /&gt;
goto :LOOPR&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Windows Extern =&lt;br /&gt;
&lt;br /&gt;
== Windows alternative Software ==&lt;br /&gt;
* Software (die es auch unter linux gibt oder zumindest opensource ist)&lt;br /&gt;
** [https://www.digikam.org/ digikam] - Bilderverwaltung &lt;br /&gt;
** [https://www.gimp.org/ gimp] - Bildverarbeitung&lt;br /&gt;
** [https://www.clementine-player.org/de/ clementine] - Musik&lt;br /&gt;
** [https://de.libreoffice.org/ libreoffice] - Office Paket&lt;br /&gt;
** [https://zim-wiki.org/ zim] - ein desktop wiki / Notizbuch .... &lt;br /&gt;
** [https://jitsi.org/downloads/ jitsi] - jabber, xmmpp, sip &lt;br /&gt;
** [https://www.videolan.org/vlc/ vlc] - Video&lt;br /&gt;
** [https://www.thunderbird.net/de/ thunderbird] - email&lt;br /&gt;
** [https://www.mozilla.org/de/firefox/new/ firefox] - browser&lt;br /&gt;
** [https://gitforwindows.org/ Git for Windows] &lt;br /&gt;
** [https://github.com/debauchee/barrier Barrier] - Maus/Tastatur übergreifend auf mehreren Rechnern nutzen [https://github.com/debauchee/barrier/wiki#binary-downloads Binary Downloads]&lt;br /&gt;
** [https://mediathekview.de/download/ Mediathekview] - deutsches öffentlich rechtliches Fernsehen&lt;br /&gt;
** Messenger&lt;br /&gt;
*** [https://signal.org/download/windows/ signal] &lt;br /&gt;
*** [https://desktop.telegram.org/ telegram] &lt;br /&gt;
&lt;br /&gt;
* Software (ausschließlich Windows)&lt;br /&gt;
** [http://www.flos-freeware.ch/notepad2.html notepad2 ] - ein bißchen besserer editor, als Editor&lt;br /&gt;
** [https://www.teamviewer.com/de/ teamviwer]&lt;br /&gt;
** [https://www.anydesk.com/de/downloads anydesk]&lt;br /&gt;
** [http://capture2text.sourceforge.net/ capture2text] - bild 2 text .... zb. für screenshots&lt;br /&gt;
*** [https://sourceforge.net/projects/capture2text/files/Dictionaries/ OCR language dictionary]&lt;br /&gt;
=== openvpn ===&lt;br /&gt;
&lt;br /&gt;
* Installation: &lt;br /&gt;
** https://openvpn.net/community-downloads/&lt;br /&gt;
*** openvpn-install-*-Win7&lt;br /&gt;
*** openvpn-install-*-Win10&lt;br /&gt;
* Konfiguration&lt;br /&gt;
** ovpn Datei nach C:\Program Files\OpenVPN\config kopieren&lt;br /&gt;
* OpenVPN auto startskript für aufgabenplanung&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang&amp;gt;&lt;br /&gt;
@echo off&lt;br /&gt;
set LOGFILE=openvpn_restart.log&lt;br /&gt;
set LOG=&amp;quot;%TEMP%\%LOGFILE%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if exist &amp;quot;C:\Program Files (x86)\OpenVPN\log&amp;quot; (&lt;br /&gt;
    set LOG=&amp;quot;C:\Program Files (x86)\OpenVPN\log\%LOGFILE%&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
if exist &amp;quot;C:\Program Files\OpenVPN\log&amp;quot; (&lt;br /&gt;
    set LOG=&amp;quot;C:\Program Files\OpenVPN\log\%LOGFILE%&amp;quot;&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
ping -n 1 10.8.0.1 &amp;gt;NUL&lt;br /&gt;
if ERRORLEVEL 1 (&lt;br /&gt;
    echo %DATE% %TIME% Restarting OpenVPNService&lt;br /&gt;
    echo %DATE% %TIME% Restarting OpenVPNService &amp;gt;&amp;gt; %LOG%&lt;br /&gt;
    net stop OpenVPNService &amp;gt;&amp;gt; %LOG% 2&amp;gt;&amp;amp;1&lt;br /&gt;
    net start OpenVPNService &amp;gt;&amp;gt; %LOG% 2&amp;gt;&amp;amp;1&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== pidgin ===&lt;br /&gt;
&lt;br /&gt;
# [http://www.pidgin.im/download/windows/ pidgin runterladen]&lt;br /&gt;
## runtergeladende datei &#039;&#039;pidgin-X.Y.Z.exe&#039;&#039; ausführen, also installieren&lt;br /&gt;
# [https://otr.cypherpunks.ca/index.php otr] verschlüsselung runterladen (direkt link [https://otr.cypherpunks.ca/binaries/windows/pidgin-otr-4.0.0-1.exe pidgin-otr-4.0.0-1.exe] aber lieber noch mal schauen ob nicht ne aktuellere Version existiert )&lt;br /&gt;
## runtergeladende datei &#039;&#039;pidgin-otr-X.Y.Z.exe&#039;&#039; ausführen, also installieren&lt;br /&gt;
# pidgin starten&lt;br /&gt;
## Benutzeraccount: Dateileiste &amp;gt; Konten verwalten &amp;gt; Hinzufügen &lt;br /&gt;
### Protokoll: für Jabber XMPP wählen&lt;br /&gt;
### Benutzer:  userXYz (das was vor dem @ ist)&lt;br /&gt;
### Domäne: jabber.ccc.de (das was nach dem @ ist)&lt;br /&gt;
### Passwort: ein sicheres Passwort&lt;br /&gt;
### falls der Benutzer noch nicht exisitert: ganz am Ende Checkbox aktivieren &amp;quot;Dieses Konto neu auf dem Server anlegen&amp;quot;&lt;br /&gt;
## OTR aktivieren: Dateileiste &amp;gt; Werkzeuge &amp;gt; Erweiterungen/Pluings &lt;br /&gt;
### Off-the-Record Messaging: checkbox aktivieren&lt;br /&gt;
### evt über &amp;quot;Erweiterung einrichten&amp;quot; privaten Schlüssel manuell erstellen&lt;br /&gt;
&lt;br /&gt;
== windows subsystem ==&lt;br /&gt;
=== laufwerk (usb/ssd) mounten ===&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
mount -t drvfs f: /mnt/f&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== subsystem ubuntu installieren ===&lt;br /&gt;
* https://seanthegeek.net/234/graphical-linux-applications-bash-ubuntu-windows/&lt;br /&gt;
** https://docs.microsoft.com/en-us/windows/wsl/install-manual&lt;br /&gt;
&lt;br /&gt;
* als Administrator in der powershell&lt;br /&gt;
&amp;lt;source lang=windows&amp;gt;&lt;br /&gt;
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* neustart&lt;br /&gt;
* als Administrator in der powershell (hat schlußendlich nicht funktioniert&lt;br /&gt;
&amp;lt;source lang=windows&amp;gt;&lt;br /&gt;
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing&lt;br /&gt;
Add-AppxPackage .\Ubuntu.appx&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* also doch über den store :(&lt;br /&gt;
&lt;br /&gt;
=== x server isntallieren ===&lt;br /&gt;
* vcxsrv-64.1.20.5.1.installer.exe auf https://sourceforge.net/projects/vcxsrv/ downloaden&lt;br /&gt;
* Neustart&lt;br /&gt;
* Startmenu =&amp;gt; rechte Maustaste auf XLaunch &amp;gt; Mehr &amp;gt; Dateispeicherplatz öffnen &amp;gt; Link kopieren&lt;br /&gt;
* %appdata%\Microsoft\Windows\Start Menu\Programs\Startup und einfügen&lt;br /&gt;
* ubuntu subsystem starten&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
 echo &amp;quot;export DISPLAY=localhost:0.0&amp;quot; &amp;gt;&amp;gt; ~/.bashrc&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Probleme beim Schreiben auf /mnt/c ===&lt;br /&gt;
/etc/wsl.conf&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# enable&lt;br /&gt;
[automount]&lt;br /&gt;
enabled = true&lt;br /&gt;
root = /mnt/&lt;br /&gt;
options = &amp;quot;metadata,umask=22,fmask=11&amp;quot;&lt;br /&gt;
mountFsTab = false&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
sorgt dafür das die Dateien geschrieben werden können (rsync,sftp....)&lt;br /&gt;
angeblich reicht  in der powershell ein:&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
wsl --shutdown&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
hier musste allerdings der Rechner komplett neu gestartet werden&lt;br /&gt;
&lt;br /&gt;
=== Fehlermeldungen ===&lt;br /&gt;
&lt;br /&gt;
==== Can&#039;t find DISPLAY -- guessing `unix:0&#039; at ... ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
export DISPLAY=:0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= vosp Weiterleitungen / Umzüge =&lt;br /&gt;
&lt;br /&gt;
=== Windows Default Programme deinstallieren ===&lt;br /&gt;
&lt;br /&gt;
[[Windows_cleaning#Windows Default Programme deinstallieren]]&lt;br /&gt;
&lt;br /&gt;
=== Windows-Oberfläche beschleunigen ===&lt;br /&gt;
&lt;br /&gt;
[[Windows cleaning#Windows-Oberfläche beschleunigen]]&lt;br /&gt;
&lt;br /&gt;
=== Cortana deaktivieren ===&lt;br /&gt;
[[Windows cleaning#Cortana deaktivieren]]&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Mozilla&amp;diff=5961</id>
		<title>Mozilla</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Mozilla&amp;diff=5961"/>
		<updated>2022-05-02T06:51:21Z</updated>

		<summary type="html">&lt;p&gt;V: /* Pasowort import per Datei erlauben */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Thunderbird / Icedove =&lt;br /&gt;
&lt;br /&gt;
== Die zwei Signaturstriche weg bekommen ==&lt;br /&gt;
&lt;br /&gt;
* Beim Einfügen einer Signatur setzt Thunderbird setzt automatisch zwei Striche über selbige.&lt;br /&gt;
Wenn dieses Verhalten nicht gewünscht wird, geht mensch in die erweiterte Konfiguration. (about:config)&lt;br /&gt;
&lt;br /&gt;
* Suchbegriff: mail.identity.default.suppress_signature_separator&lt;br /&gt;
** Dort den Wert von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot; setzen. Done.&lt;br /&gt;
&lt;br /&gt;
= Firefox / Iceweasel =&lt;br /&gt;
== Addons ==&lt;br /&gt;
* ghostery&lt;br /&gt;
* downloadhelper&lt;br /&gt;
* addblock plus&lt;br /&gt;
* WIFI Finder&lt;br /&gt;
* Empty Cache Button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== firefox syncronisation ==&lt;br /&gt;
* https://de.wikipedia.org/wiki/Firefox_Sync&lt;br /&gt;
* https://mozilla.github.io/application-services/docs/accounts/project-details.html&lt;br /&gt;
&lt;br /&gt;
https://www.lucidchart.com/publicSegments/view/8760a3b3-77d1-4390-bc9b-e9ab309eca0f/image.png&lt;br /&gt;
&lt;br /&gt;
=== Firefox Accounts Server ===&lt;br /&gt;
* https://mozilla-services.readthedocs.io/en/latest/howtos/run-fxa.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== fxa-auth-server ====&lt;br /&gt;
&lt;br /&gt;
* https://github.com/mozilla/fxa-auth-server/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
git clone git://github.com/mozilla/fxa-auth-server.git&lt;br /&gt;
cd fxa-auth-server&lt;br /&gt;
npm install&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== fxa-content-server ====&lt;br /&gt;
&lt;br /&gt;
* https://github.com/mozilla/fxa-content-server/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
sudo apt-get install build-essential git-core libgmp3-dev graphicsmagick  python-virtualenv python-dev docker-ce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# https://github.com/mozilla/fxa-local-dev#dependencies&lt;br /&gt;
## # https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-on-ubuntu-18-04&lt;br /&gt;
sudo apt-get install -y software-properties-common&lt;br /&gt;
sudo add-apt-repository ppa:webupd8team/java&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
git clone  https://github.com/mozilla/fxa-content-server/&lt;br /&gt;
cd fxa-content-server&lt;br /&gt;
npm install&lt;br /&gt;
npm run start-remote&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== syncserver ===&lt;br /&gt;
&lt;br /&gt;
* https://github.com/mozilla-services/syncserver&lt;br /&gt;
* https://mozilla-services.readthedocs.io/en/latest/howtos/run-sync-1.5.html&lt;br /&gt;
* https://sathya.de/blog/how-tos/setup-your-own-firefox-1-5-sync-server-on-debian-with-apache2-and-mysql/&lt;br /&gt;
&lt;br /&gt;
==== installation ====&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
apt-get install libapache2-mod-wsgi&lt;br /&gt;
&lt;br /&gt;
git clone https://github.com/mozilla-services/syncserver&lt;br /&gt;
cd syncserver/&lt;br /&gt;
make build &lt;br /&gt;
make test&lt;br /&gt;
make serve&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
create database dbname;&lt;br /&gt;
create user &#039;dbuser&#039;@&#039;localhost&#039; identified by &#039;dbpasswd&#039;;&lt;br /&gt;
grant all on dbname.* to &#039;dbuser&#039;@&#039;localhost&#039;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* syncserver/syncserver.ini&lt;br /&gt;
&amp;lt;source lang=config&amp;gt;&lt;br /&gt;
[server:main]&lt;br /&gt;
use = egg:gunicorn&lt;br /&gt;
host = 0.0.0.0&lt;br /&gt;
port = 5000&lt;br /&gt;
workers = 1&lt;br /&gt;
timeout = 30&lt;br /&gt;
&lt;br /&gt;
[syncserver]&lt;br /&gt;
# public_url = http://firefox.domain.tld:5000/&lt;br /&gt;
public_url = http://firefox.domain.tld/&lt;br /&gt;
&lt;br /&gt;
identity_provider = https://accounts.firefox.com/&lt;br /&gt;
&lt;br /&gt;
#sqluri = sqlite:////var/www/domain.tld/syncserver.db&lt;br /&gt;
sqluri = pymysql://dbuser:dbpasswd@localhost:3306/dbname&lt;br /&gt;
&lt;br /&gt;
allow_new_users = true&lt;br /&gt;
force_wsgi_environ = false&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== apache =====&lt;br /&gt;
&lt;br /&gt;
Achtung: wichtig ist das user und group richtig angegeben werden und alle rechte existieren!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=apache&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName  firefox.domain.tld&lt;br /&gt;
        Redirect permanent / https://firefox.domain.tld/&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        SSLEngine On&lt;br /&gt;
        ServerName firefox.domain.tld&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
		DocumentRoot /var/www/firefox.domain.tld/syncserver&lt;br /&gt;
		WSGIProcessGroup sync&lt;br /&gt;
		WSGIDaemonProcess sync user=ubuntu group=ubuntu processes=2 threads=25 python-path=/var/www/firefox.domain.tld/syncserver/local/lib/python2.7/site-packages/&lt;br /&gt;
		WSGIPassAuthorization On&lt;br /&gt;
		WSGIScriptAlias / /var/www/firefox.domain.tld/syncserver/syncserver.wsgi&lt;br /&gt;
        LogLevel info&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/error.firefox.domain.tld.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/access.firefox.domain.tld.log combined&lt;br /&gt;
      &amp;lt;Directory /var/www/firefox.domain.tld/&amp;gt;&lt;br /&gt;
                Require all granted&lt;br /&gt;
                Order allow,deny&lt;br /&gt;
                Allow from all&lt;br /&gt;
                Options -MultiViews&lt;br /&gt;
      &amp;lt;/Directory&amp;gt;&lt;br /&gt;
      ServerSignature Off&lt;br /&gt;
      SSLCertificateKeyFile /etc/ssl/private/ssl.key&lt;br /&gt;
      SSLCertificateFile /etc/ssl/private/ssl.crt&lt;br /&gt;
      SSLCertificateChainFile /etc/ssl/private/ssl.cer&lt;br /&gt;
      SetEnv nokeepalive ssl-unclean-shutdown&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fxa-oauth-server  ===&lt;br /&gt;
* identity_provider&lt;br /&gt;
* https://github.com/mozilla/fxa-oauth-server&lt;br /&gt;
&lt;br /&gt;
==== minimal installation ====&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
git clone https://github.com/mozilla/fxa-oauth-server&lt;br /&gt;
cd fxa-oauth-server/&lt;br /&gt;
npm install&lt;br /&gt;
npm start&lt;br /&gt;
# ..... &lt;br /&gt;
# fxa-oauth-server.bin.server.INFO: listening http://127.0.0.1:9010&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Fehler ====&lt;br /&gt;
===== npm WARN lifecycle fxa-oauth-server@1.120.0~postinstall: cannot run in wd fxa-oauth-server@1.120.0 node scripts/gen_keys (wd=fxa-oauth-server) =====&lt;br /&gt;
&lt;br /&gt;
 npm vllt mal nicht als root ausführen&lt;br /&gt;
&lt;br /&gt;
===== npm fixing helpers =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
npm audit fix&lt;br /&gt;
npm audit fix --force&lt;br /&gt;
npm audit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== (node:16131) UnhandledPromiseRejectionWarning: Error: listen EADDRINUSE 127.0.0.1:9001 =====&lt;br /&gt;
&lt;br /&gt;
Fehler wie diese bedeuten oft das der port schon benutzt wird, deshalb mal checken&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
netstat -tulpen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Firefox per Dateien konfigurieren ==&lt;br /&gt;
=== general.cfg ===&lt;br /&gt;
* Die Datei wird in das Installationsverzeichnis erstellt/kopiert&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
// Set network proxy and lock proxy settings&lt;br /&gt;
lockPref(&amp;quot;network.proxy.type&amp;quot;,5);     // lock pref, disallow changes&lt;br /&gt;
lockPref(&amp;quot;security.enterprise_roots.enabled&amp;quot;, true); // now firefox makes use of the windows certstore&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== local-settings.js ===&lt;br /&gt;
* Die Datei wird in das &amp;lt;Installationsverzeichnis&amp;gt;\defaults\pref\ erstellt/kopiert&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
// Mandatory, because firefox does not read this line.&lt;br /&gt;
pref(&amp;quot;general.config.obscure_value&amp;quot;, 0);&lt;br /&gt;
pref(&amp;quot;general.config.filename&amp;quot;, &amp;quot;general.cfg&amp;quot;); // sets the name of the config fle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Firefox per GPO konfigurieren ==&lt;br /&gt;
* Als erster Startpunkt&lt;br /&gt;
** https://www.windowspro.de/wolfgang-sommergut/firefox-zentral-verwalten-ueber-gpos-policiesjson&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konfig ==&lt;br /&gt;
=== about:config ===&lt;br /&gt;
==== Passwort import per Datei erlauben====&lt;br /&gt;
&amp;lt;source&amp;gt;signon.management.page.fileImport.enabled true&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Mozilla&amp;diff=5960</id>
		<title>Mozilla</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Mozilla&amp;diff=5960"/>
		<updated>2022-05-02T06:50:56Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Thunderbird / Icedove =&lt;br /&gt;
&lt;br /&gt;
== Die zwei Signaturstriche weg bekommen ==&lt;br /&gt;
&lt;br /&gt;
* Beim Einfügen einer Signatur setzt Thunderbird setzt automatisch zwei Striche über selbige.&lt;br /&gt;
Wenn dieses Verhalten nicht gewünscht wird, geht mensch in die erweiterte Konfiguration. (about:config)&lt;br /&gt;
&lt;br /&gt;
* Suchbegriff: mail.identity.default.suppress_signature_separator&lt;br /&gt;
** Dort den Wert von &amp;quot;false&amp;quot; auf &amp;quot;true&amp;quot; setzen. Done.&lt;br /&gt;
&lt;br /&gt;
= Firefox / Iceweasel =&lt;br /&gt;
== Addons ==&lt;br /&gt;
* ghostery&lt;br /&gt;
* downloadhelper&lt;br /&gt;
* addblock plus&lt;br /&gt;
* WIFI Finder&lt;br /&gt;
* Empty Cache Button&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== firefox syncronisation ==&lt;br /&gt;
* https://de.wikipedia.org/wiki/Firefox_Sync&lt;br /&gt;
* https://mozilla.github.io/application-services/docs/accounts/project-details.html&lt;br /&gt;
&lt;br /&gt;
https://www.lucidchart.com/publicSegments/view/8760a3b3-77d1-4390-bc9b-e9ab309eca0f/image.png&lt;br /&gt;
&lt;br /&gt;
=== Firefox Accounts Server ===&lt;br /&gt;
* https://mozilla-services.readthedocs.io/en/latest/howtos/run-fxa.html&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== fxa-auth-server ====&lt;br /&gt;
&lt;br /&gt;
* https://github.com/mozilla/fxa-auth-server/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
git clone git://github.com/mozilla/fxa-auth-server.git&lt;br /&gt;
cd fxa-auth-server&lt;br /&gt;
npm install&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== fxa-content-server ====&lt;br /&gt;
&lt;br /&gt;
* https://github.com/mozilla/fxa-content-server/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
sudo apt-get install build-essential git-core libgmp3-dev graphicsmagick  python-virtualenv python-dev docker-ce&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# https://github.com/mozilla/fxa-local-dev#dependencies&lt;br /&gt;
## # https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-on-ubuntu-18-04&lt;br /&gt;
sudo apt-get install -y software-properties-common&lt;br /&gt;
sudo add-apt-repository ppa:webupd8team/java&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install oracle-java8-installer&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
git clone  https://github.com/mozilla/fxa-content-server/&lt;br /&gt;
cd fxa-content-server&lt;br /&gt;
npm install&lt;br /&gt;
npm run start-remote&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== syncserver ===&lt;br /&gt;
&lt;br /&gt;
* https://github.com/mozilla-services/syncserver&lt;br /&gt;
* https://mozilla-services.readthedocs.io/en/latest/howtos/run-sync-1.5.html&lt;br /&gt;
* https://sathya.de/blog/how-tos/setup-your-own-firefox-1-5-sync-server-on-debian-with-apache2-and-mysql/&lt;br /&gt;
&lt;br /&gt;
==== installation ====&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
apt-get install libapache2-mod-wsgi&lt;br /&gt;
&lt;br /&gt;
git clone https://github.com/mozilla-services/syncserver&lt;br /&gt;
cd syncserver/&lt;br /&gt;
make build &lt;br /&gt;
make test&lt;br /&gt;
make serve&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Konfiguration ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
create database dbname;&lt;br /&gt;
create user &#039;dbuser&#039;@&#039;localhost&#039; identified by &#039;dbpasswd&#039;;&lt;br /&gt;
grant all on dbname.* to &#039;dbuser&#039;@&#039;localhost&#039;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* syncserver/syncserver.ini&lt;br /&gt;
&amp;lt;source lang=config&amp;gt;&lt;br /&gt;
[server:main]&lt;br /&gt;
use = egg:gunicorn&lt;br /&gt;
host = 0.0.0.0&lt;br /&gt;
port = 5000&lt;br /&gt;
workers = 1&lt;br /&gt;
timeout = 30&lt;br /&gt;
&lt;br /&gt;
[syncserver]&lt;br /&gt;
# public_url = http://firefox.domain.tld:5000/&lt;br /&gt;
public_url = http://firefox.domain.tld/&lt;br /&gt;
&lt;br /&gt;
identity_provider = https://accounts.firefox.com/&lt;br /&gt;
&lt;br /&gt;
#sqluri = sqlite:////var/www/domain.tld/syncserver.db&lt;br /&gt;
sqluri = pymysql://dbuser:dbpasswd@localhost:3306/dbname&lt;br /&gt;
&lt;br /&gt;
allow_new_users = true&lt;br /&gt;
force_wsgi_environ = false&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== apache =====&lt;br /&gt;
&lt;br /&gt;
Achtung: wichtig ist das user und group richtig angegeben werden und alle rechte existieren!!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=apache&amp;gt;&lt;br /&gt;
&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;
        ServerName  firefox.domain.tld&lt;br /&gt;
        Redirect permanent / https://firefox.domain.tld/&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
        SSLEngine On&lt;br /&gt;
        ServerName firefox.domain.tld&lt;br /&gt;
        ServerAdmin webmaster@localhost&lt;br /&gt;
		DocumentRoot /var/www/firefox.domain.tld/syncserver&lt;br /&gt;
		WSGIProcessGroup sync&lt;br /&gt;
		WSGIDaemonProcess sync user=ubuntu group=ubuntu processes=2 threads=25 python-path=/var/www/firefox.domain.tld/syncserver/local/lib/python2.7/site-packages/&lt;br /&gt;
		WSGIPassAuthorization On&lt;br /&gt;
		WSGIScriptAlias / /var/www/firefox.domain.tld/syncserver/syncserver.wsgi&lt;br /&gt;
        LogLevel info&lt;br /&gt;
        ErrorLog ${APACHE_LOG_DIR}/error.firefox.domain.tld.log&lt;br /&gt;
        CustomLog ${APACHE_LOG_DIR}/access.firefox.domain.tld.log combined&lt;br /&gt;
      &amp;lt;Directory /var/www/firefox.domain.tld/&amp;gt;&lt;br /&gt;
                Require all granted&lt;br /&gt;
                Order allow,deny&lt;br /&gt;
                Allow from all&lt;br /&gt;
                Options -MultiViews&lt;br /&gt;
      &amp;lt;/Directory&amp;gt;&lt;br /&gt;
      ServerSignature Off&lt;br /&gt;
      SSLCertificateKeyFile /etc/ssl/private/ssl.key&lt;br /&gt;
      SSLCertificateFile /etc/ssl/private/ssl.crt&lt;br /&gt;
      SSLCertificateChainFile /etc/ssl/private/ssl.cer&lt;br /&gt;
      SetEnv nokeepalive ssl-unclean-shutdown&lt;br /&gt;
&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== fxa-oauth-server  ===&lt;br /&gt;
* identity_provider&lt;br /&gt;
* https://github.com/mozilla/fxa-oauth-server&lt;br /&gt;
&lt;br /&gt;
==== minimal installation ====&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
git clone https://github.com/mozilla/fxa-oauth-server&lt;br /&gt;
cd fxa-oauth-server/&lt;br /&gt;
npm install&lt;br /&gt;
npm start&lt;br /&gt;
# ..... &lt;br /&gt;
# fxa-oauth-server.bin.server.INFO: listening http://127.0.0.1:9010&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Fehler ====&lt;br /&gt;
===== npm WARN lifecycle fxa-oauth-server@1.120.0~postinstall: cannot run in wd fxa-oauth-server@1.120.0 node scripts/gen_keys (wd=fxa-oauth-server) =====&lt;br /&gt;
&lt;br /&gt;
 npm vllt mal nicht als root ausführen&lt;br /&gt;
&lt;br /&gt;
===== npm fixing helpers =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
npm audit fix&lt;br /&gt;
npm audit fix --force&lt;br /&gt;
npm audit&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== (node:16131) UnhandledPromiseRejectionWarning: Error: listen EADDRINUSE 127.0.0.1:9001 =====&lt;br /&gt;
&lt;br /&gt;
Fehler wie diese bedeuten oft das der port schon benutzt wird, deshalb mal checken&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
netstat -tulpen&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Firefox per Dateien konfigurieren ==&lt;br /&gt;
=== general.cfg ===&lt;br /&gt;
* Die Datei wird in das Installationsverzeichnis erstellt/kopiert&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
// Set network proxy and lock proxy settings&lt;br /&gt;
lockPref(&amp;quot;network.proxy.type&amp;quot;,5);     // lock pref, disallow changes&lt;br /&gt;
lockPref(&amp;quot;security.enterprise_roots.enabled&amp;quot;, true); // now firefox makes use of the windows certstore&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== local-settings.js ===&lt;br /&gt;
* Die Datei wird in das &amp;lt;Installationsverzeichnis&amp;gt;\defaults\pref\ erstellt/kopiert&lt;br /&gt;
&amp;lt;source&amp;gt;&lt;br /&gt;
// Mandatory, because firefox does not read this line.&lt;br /&gt;
pref(&amp;quot;general.config.obscure_value&amp;quot;, 0);&lt;br /&gt;
pref(&amp;quot;general.config.filename&amp;quot;, &amp;quot;general.cfg&amp;quot;); // sets the name of the config fle&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Firefox per GPO konfigurieren ==&lt;br /&gt;
* Als erster Startpunkt&lt;br /&gt;
** https://www.windowspro.de/wolfgang-sommergut/firefox-zentral-verwalten-ueber-gpos-policiesjson&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Konfig ==&lt;br /&gt;
=== about:config ===&lt;br /&gt;
==== Pasowort import per Datei erlauben====&lt;br /&gt;
&amp;lt;source&amp;gt;signon.management.page.fileImport.enabled true&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Apcupsd&amp;diff=5938</id>
		<title>Apcupsd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Apcupsd&amp;diff=5938"/>
		<updated>2022-02-01T15:24:33Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Grundbefehle ==&lt;br /&gt;
&lt;br /&gt;
=== Installieren ===&lt;br /&gt;
==== Basis ====&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
apt-get install apcupsd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== Webzugang (Optional) ====&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
apt-get install apcupsd-cgi apache2&lt;br /&gt;
a2enmod cgi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Aufzurufen unter:&lt;br /&gt;
http://192.168.0.1/cgi-bin/apcupsd/multimon.cgi&lt;br /&gt;
&lt;br /&gt;
===Starten ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
# systemctl restart apcupsd.service&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
MAINHOST# apcaccess status&lt;br /&gt;
...&lt;br /&gt;
CABLE    : USB Cable&lt;br /&gt;
DRIVER   : USB UPS Driver&lt;br /&gt;
UPSMODE  : Stand Alone&lt;br /&gt;
MODEL    : Smart-UPS_1000&lt;br /&gt;
STATUS   : ONLINE&lt;br /&gt;
BCHARGE  : 100.0 Percent&lt;br /&gt;
TIMELEFT : 27.0 Minutes&lt;br /&gt;
MBATTCHG : 5 Percent&lt;br /&gt;
MINTIMEL : 3 Minutes&lt;br /&gt;
MAXTIME  : 0 Seconds&lt;br /&gt;
ALARMDEL : No alarm&lt;br /&gt;
BATTV    : 26.4 Volts&lt;br /&gt;
...&lt;br /&gt;
SECONDHOST# apcaccess status&lt;br /&gt;
...&lt;br /&gt;
CABLE    : Ethernet Link&lt;br /&gt;
DRIVER   : NETWORK UPS Driver&lt;br /&gt;
UPSMODE  : Stand Alone&lt;br /&gt;
MASTER   : 192.168.0.1:3551&lt;br /&gt;
MODEL    : Smart-UPS_1000&lt;br /&gt;
STATUS   : ONLINE SLAVE&lt;br /&gt;
BCHARGE  : 100.0 Percent&lt;br /&gt;
TIMELEFT : 23.3 Minutes&lt;br /&gt;
MBATTCHG : 5 Percent&lt;br /&gt;
MINTIMEL : 3 Minutes&lt;br /&gt;
MAXTIME  : 0 Seconds&lt;br /&gt;
BATTV    : 26.4 Volts&lt;br /&gt;
NUMXFERS : 0&lt;br /&gt;
TONBATT  : 0 Seconds&lt;br /&gt;
CUMONBATT: 0 Seconds&lt;br /&gt;
XOFFBATT : N/A&lt;br /&gt;
NOMBATTV : 24.0 Volts&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Host 192.168.0.1 (über USB an USV) ==&lt;br /&gt;
&lt;br /&gt;
=== /etc/apcupsd/apcupsd.conf ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
UPSNAME USVMainHost&lt;br /&gt;
UPSCABLE usb&lt;br /&gt;
UPSTYPE usb&lt;br /&gt;
DEVICE&lt;br /&gt;
POLLTIME 60&lt;br /&gt;
LOCKFILE /var/lock&lt;br /&gt;
SCRIPTDIR /etc/apcupsd&lt;br /&gt;
PWRFAILDIR /etc/apcupsd&lt;br /&gt;
NOLOGINDIR /etc&lt;br /&gt;
ONBATTERYDELAY 30&lt;br /&gt;
BATTERYLEVEL 5&lt;br /&gt;
MINUTES 3&lt;br /&gt;
TIMEOUT 0&lt;br /&gt;
ANNOY 300&lt;br /&gt;
ANNOYDELAY 60&lt;br /&gt;
NOLOGON disable&lt;br /&gt;
KILLDELAY 0&lt;br /&gt;
NETSERVER on&lt;br /&gt;
NISIP 127.0.0.1&lt;br /&gt;
NISPORT 3551&lt;br /&gt;
EVENTSFILE /var/log/apcupsd.events&lt;br /&gt;
EVENTSFILEMAX 10&lt;br /&gt;
UPSCLASS standalone&lt;br /&gt;
UPSMODE disable&lt;br /&gt;
STATTIME 0&lt;br /&gt;
STATFILE /var/log/apcupsd.status&lt;br /&gt;
LOGSTATS off&lt;br /&gt;
DATATIME 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /etc/apcupsd/hosts.conf ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
MONITOR 127.0.0.1 &amp;quot;Local Host&amp;quot;&lt;br /&gt;
MONITOR 192.168.0.2 &amp;quot;Second HOST&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /etc/default/apcupsd ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
ISCONFIGURED=yes&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Second HOST 192.168.0.2 (Über Ethernet mit main verbunden ==&lt;br /&gt;
&lt;br /&gt;
=== /etc/apcupsd/apcupsd.conf ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
UPSNAME USVSecondHost&lt;br /&gt;
UPSCABLE ether&lt;br /&gt;
UPSTYPE net&lt;br /&gt;
DEVICE 192.168.0.1:3551&lt;br /&gt;
POLLTIME 10&lt;br /&gt;
LOCKFILE /var/lock&lt;br /&gt;
SCRIPTDIR /etc/apcupsd&lt;br /&gt;
PWRFAILDIR /etc/apcupsd&lt;br /&gt;
NOLOGINDIR /etc&lt;br /&gt;
ONBATTERYDELAY 30&lt;br /&gt;
BATTERYLEVEL 5&lt;br /&gt;
MINUTES 3&lt;br /&gt;
TIMEOUT 0&lt;br /&gt;
ANNOY 300&lt;br /&gt;
ANNOYDELAY 60&lt;br /&gt;
NOLOGON disable&lt;br /&gt;
KILLDELAY 0&lt;br /&gt;
NETSERVER on&lt;br /&gt;
NISIP 0.0.0.0&lt;br /&gt;
NISPORT 3551&lt;br /&gt;
EVENTSFILE /var/log/apcupsd.events&lt;br /&gt;
EVENTSFILEMAX 10&lt;br /&gt;
UPSCLASS standalone&lt;br /&gt;
UPSMODE disable&lt;br /&gt;
STATTIME 0&lt;br /&gt;
STATFILE /var/log/apcupsd.status&lt;br /&gt;
LOGSTATS off&lt;br /&gt;
DATATIME 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Apcupsd&amp;diff=5937</id>
		<title>Apcupsd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Apcupsd&amp;diff=5937"/>
		<updated>2022-02-01T15:23:45Z</updated>

		<summary type="html">&lt;p&gt;V: Die Seite wurde neu angelegt: „  == Grundbefehle ==  === Installieren === ==== Basis ==== &amp;lt;source lang=shell&amp;gt; apt-get install apcupsd &amp;lt;/source&amp;gt; ==== Webzugang (Optional) ==== &amp;lt;source lang=sh…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
== Grundbefehle ==&lt;br /&gt;
&lt;br /&gt;
=== Installieren ===&lt;br /&gt;
==== Basis ====&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
apt-get install apcupsd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== Webzugang (Optional) ====&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
apt-get install apcupsd-cgi apache2&lt;br /&gt;
a2enmod cgi&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Aufzurufen unter:&lt;br /&gt;
http://192.168.0.1/cgi-bin/apcupsd/multimon.cgi&lt;br /&gt;
&lt;br /&gt;
===Starten ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
# systemctl restart apcupsd.service&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Status===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
MAINHOST# apcaccess status&lt;br /&gt;
...&lt;br /&gt;
CABLE    : USB Cable&lt;br /&gt;
DRIVER   : USB UPS Driver&lt;br /&gt;
UPSMODE  : Stand Alone&lt;br /&gt;
MODEL    : Smart-UPS_1000&lt;br /&gt;
STATUS   : ONLINE&lt;br /&gt;
BCHARGE  : 100.0 Percent&lt;br /&gt;
TIMELEFT : 27.0 Minutes&lt;br /&gt;
MBATTCHG : 5 Percent&lt;br /&gt;
MINTIMEL : 3 Minutes&lt;br /&gt;
MAXTIME  : 0 Seconds&lt;br /&gt;
ALARMDEL : No alarm&lt;br /&gt;
BATTV    : 26.4 Volts&lt;br /&gt;
...&lt;br /&gt;
SECONDHOST# apcaccess status&lt;br /&gt;
...&lt;br /&gt;
CABLE    : Ethernet Link&lt;br /&gt;
DRIVER   : NETWORK UPS Driver&lt;br /&gt;
UPSMODE  : Stand Alone&lt;br /&gt;
MASTER   : 192.168.0.1:3551&lt;br /&gt;
MODEL    : Smart-UPS_1000&lt;br /&gt;
STATUS   : ONLINE SLAVE&lt;br /&gt;
BCHARGE  : 100.0 Percent&lt;br /&gt;
TIMELEFT : 23.3 Minutes&lt;br /&gt;
MBATTCHG : 5 Percent&lt;br /&gt;
MINTIMEL : 3 Minutes&lt;br /&gt;
MAXTIME  : 0 Seconds&lt;br /&gt;
BATTV    : 26.4 Volts&lt;br /&gt;
NUMXFERS : 0&lt;br /&gt;
TONBATT  : 0 Seconds&lt;br /&gt;
CUMONBATT: 0 Seconds&lt;br /&gt;
XOFFBATT : N/A&lt;br /&gt;
NOMBATTV : 24.0 Volts&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Main Host 192.168.0.1 (über USB an USV) ==&lt;br /&gt;
&lt;br /&gt;
=== /etc/apcupsd/apcupsd.conf ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
UPSNAME USVMainHost&lt;br /&gt;
UPSCABLE usb&lt;br /&gt;
UPSTYPE usb&lt;br /&gt;
DEVICE&lt;br /&gt;
POLLTIME 60&lt;br /&gt;
LOCKFILE /var/lock&lt;br /&gt;
SCRIPTDIR /etc/apcupsd&lt;br /&gt;
PWRFAILDIR /etc/apcupsd&lt;br /&gt;
NOLOGINDIR /etc&lt;br /&gt;
ONBATTERYDELAY 30&lt;br /&gt;
BATTERYLEVEL 5&lt;br /&gt;
MINUTES 3&lt;br /&gt;
TIMEOUT 0&lt;br /&gt;
ANNOY 300&lt;br /&gt;
ANNOYDELAY 60&lt;br /&gt;
NOLOGON disable&lt;br /&gt;
KILLDELAY 0&lt;br /&gt;
NETSERVER on&lt;br /&gt;
NISIP 127.0.0.1&lt;br /&gt;
NISPORT 3551&lt;br /&gt;
EVENTSFILE /var/log/apcupsd.events&lt;br /&gt;
EVENTSFILEMAX 10&lt;br /&gt;
UPSCLASS standalone&lt;br /&gt;
UPSMODE disable&lt;br /&gt;
STATTIME 0&lt;br /&gt;
STATFILE /var/log/apcupsd.status&lt;br /&gt;
LOGSTATS off&lt;br /&gt;
DATATIME 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /etc/apcupsd/hosts.conf ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
MONITOR 127.0.0.1 &amp;quot;Local Host&amp;quot;&lt;br /&gt;
MONITOR 192.168.0.2 &amp;quot;Second HOST&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== /etc/default/apcupsd ===&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
ISCONFIGURED=yes&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Second HOST 192.168.0.2 (Über Ethernet mit main verbunden ==&lt;br /&gt;
/etc/apcupsd/apcupsd.conf&lt;br /&gt;
&amp;lt;source lang=shell&amp;gt;&lt;br /&gt;
UPSNAME USVSecondHost&lt;br /&gt;
UPSCABLE ether&lt;br /&gt;
UPSTYPE net&lt;br /&gt;
DEVICE 192.168.0.1:3551&lt;br /&gt;
POLLTIME 10&lt;br /&gt;
LOCKFILE /var/lock&lt;br /&gt;
SCRIPTDIR /etc/apcupsd&lt;br /&gt;
PWRFAILDIR /etc/apcupsd&lt;br /&gt;
NOLOGINDIR /etc&lt;br /&gt;
ONBATTERYDELAY 30&lt;br /&gt;
BATTERYLEVEL 5&lt;br /&gt;
MINUTES 3&lt;br /&gt;
TIMEOUT 0&lt;br /&gt;
ANNOY 300&lt;br /&gt;
ANNOYDELAY 60&lt;br /&gt;
NOLOGON disable&lt;br /&gt;
KILLDELAY 0&lt;br /&gt;
NETSERVER on&lt;br /&gt;
NISIP 0.0.0.0&lt;br /&gt;
NISPORT 3551&lt;br /&gt;
EVENTSFILE /var/log/apcupsd.events&lt;br /&gt;
EVENTSFILEMAX 10&lt;br /&gt;
UPSCLASS standalone&lt;br /&gt;
UPSMODE disable&lt;br /&gt;
STATTIME 0&lt;br /&gt;
STATFILE /var/log/apcupsd.status&lt;br /&gt;
LOGSTATS off&lt;br /&gt;
DATATIME 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Hauptseite&amp;diff=5936</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Hauptseite&amp;diff=5936"/>
		<updated>2022-02-01T14:37:03Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; &#039;&#039;&#039;Achtung&#039;&#039;&#039;: dieses wiki ([[Spezial:Alle_Seiten|{{NUMBEROFPAGES}} Seiten]]||Updates:{{NUMBEROFEDITS}}) wird von der [http://netz.coop netz.coop eG] betrieben und ist ausschliesslich als Notizzettel gedacht und erhebt keinen Anspruch auf Vollständigkeit!! (Hilfe: [http://meta.wikimedia.org/wiki/Help:Contents Benutzerhandbuch] || [https://www.mediawiki.org/wiki/Extension:SyntaxHighlight_GeSHi/de SyntaxHighlight_GeSHi])&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; border=1&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! desktop software&lt;br /&gt;
|-&lt;br /&gt;
| [[inkscape]]&lt;br /&gt;
|-&lt;br /&gt;
| [[jitsi]]&lt;br /&gt;
|-&lt;br /&gt;
| [[netbeans]]&lt;br /&gt;
|-&lt;br /&gt;
| [[firefox]]&lt;br /&gt;
|-&lt;br /&gt;
| [[X]]&lt;br /&gt;
|-&lt;br /&gt;
| [[awesome-WM]]&lt;br /&gt;
|-&lt;br /&gt;
| [[RemoteDesktopLinux]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Vario 8]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Sprachen / Bibliotheken&lt;br /&gt;
|-&lt;br /&gt;
| [[css]]&lt;br /&gt;
|-&lt;br /&gt;
| [[python]]&lt;br /&gt;
|-&lt;br /&gt;
| [[pdf Bibliotheken]]&lt;br /&gt;
|-&lt;br /&gt;
| [[itext]] - pdf lib&lt;br /&gt;
|-&lt;br /&gt;
| [[cairo]] - 2D-Grafikbibliothek&lt;br /&gt;
|-&lt;br /&gt;
| [[R]] statistik&lt;br /&gt;
|-&lt;br /&gt;
| [[javascript]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! weitere Systeme&lt;br /&gt;
|-&lt;br /&gt;
| [[lampp]]&lt;br /&gt;
|-&lt;br /&gt;
| [[LineageOS]]&lt;br /&gt;
|-&lt;br /&gt;
| Router: [[Openwrt]] | [[LEDE]] | [[Libre Mesh]] | [[qMp]] | [[RUT9XX]]&lt;br /&gt;
|-&lt;br /&gt;
| [[siduction]]&lt;br /&gt;
|-&lt;br /&gt;
| [[windows]] | [[windows cleaning]] | [[windows server]] | [[MS PowerShell]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Raspberry Pi]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Macbookpro8.2]] | [[ios]] | [[ios dev]]&lt;br /&gt;
|-&lt;br /&gt;
| [[osx]] Softwareliste =&amp;gt; Lizenz&lt;br /&gt;
|-&lt;br /&gt;
| [[Android]] [[android dev]] [[lineage]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Ubuntu_2016_04]] &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Meta Artikel&lt;br /&gt;
|-&lt;br /&gt;
| [[Web Entwicklung]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Webdesign]]&lt;br /&gt;
|-&lt;br /&gt;
| [[dompdf]]&lt;br /&gt;
|-&lt;br /&gt;
| [[htaccess]]&lt;br /&gt;
|-&lt;br /&gt;
| [[CalDAV]]&lt;br /&gt;
|-&lt;br /&gt;
| [[erp]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Voip]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Projektmanagement]]&lt;br /&gt;
|-&lt;br /&gt;
| [[e-bike]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! linux software&lt;br /&gt;
|-&lt;br /&gt;
| [[wireshark]]&lt;br /&gt;
|-&lt;br /&gt;
| [[systemd]]&lt;br /&gt;
|-&lt;br /&gt;
| [[dpkg]]&lt;br /&gt;
|-&lt;br /&gt;
| [[debootstrap]]&lt;br /&gt;
|-&lt;br /&gt;
| [[kde]]&lt;br /&gt;
|-&lt;br /&gt;
| [[network-manager]]&lt;br /&gt;
|-&lt;br /&gt;
| [[initramfs]] &lt;br /&gt;
|-&lt;br /&gt;
| [[Passwortverwaltung]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Soft-RAID]]&lt;br /&gt;
|-&lt;br /&gt;
| [[crypsetup]]&lt;br /&gt;
|-&lt;br /&gt;
| [[smbclient]]&lt;br /&gt;
|-&lt;br /&gt;
| [[router]]&lt;br /&gt;
|-&lt;br /&gt;
| [[lvm]]&lt;br /&gt;
|-&lt;br /&gt;
| [[KVM]]&lt;br /&gt;
|-&lt;br /&gt;
| [[VirtualBox]]&lt;br /&gt;
|-&lt;br /&gt;
| [[gnutls]]&lt;br /&gt;
|-&lt;br /&gt;
| [[up]] - dyndns mit Linux-Bordmitteln&lt;br /&gt;
|-&lt;br /&gt;
| [[Cloused Source NVIDIA Treiber]]&lt;br /&gt;
|-&lt;br /&gt;
| [[openvpn]]&lt;br /&gt;
|-&lt;br /&gt;
| [[glusterFS]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Linux Installationen]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Linux Tools]]&lt;br /&gt;
|-&lt;br /&gt;
| [[shell/bash befehle]]&lt;br /&gt;
|-&lt;br /&gt;
| [[udev]]&lt;br /&gt;
|-&lt;br /&gt;
| [[FTP_Up_Down_load]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Kwallet unter anderen Desktop umgebungen]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Ardour5 &amp;amp; Recording]]&lt;br /&gt;
|-&lt;br /&gt;
|[[youtube]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Linux allgemein]]&lt;br /&gt;
|-&lt;br /&gt;
|[[vim]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Drucken]]&lt;br /&gt;
|-&lt;br /&gt;
|[[Helferlein]]&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! server software&lt;br /&gt;
|-&lt;br /&gt;
| [[mail server]]&lt;br /&gt;
|-&lt;br /&gt;
| [[linux sicherheit]]&lt;br /&gt;
|-&lt;br /&gt;
| [[svn]]&lt;br /&gt;
|-&lt;br /&gt;
| [[apache]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Mariadb]]&lt;br /&gt;
|-&lt;br /&gt;
| [[openssl]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Zabbix]] Monitoring&lt;br /&gt;
|-&lt;br /&gt;
| [[git]] [[gitlab]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ssh]]&lt;br /&gt;
|-&lt;br /&gt;
| [[ISPConfig]]&lt;br /&gt;
|-&lt;br /&gt;
| [[mailman]]&lt;br /&gt;
|-&lt;br /&gt;
| [[seafile]]&lt;br /&gt;
|-&lt;br /&gt;
| [[isc-dhcp-server]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Hostnodes]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Plesk]]&lt;br /&gt;
|-&lt;br /&gt;
| [[OPSI]]&lt;br /&gt;
|-&lt;br /&gt;
| [[lxc]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Skolelinux]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Samba 4]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Sympa]]&lt;br /&gt;
|-&lt;br /&gt;
| [[tftp]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Debian Container ZeitZone]]&lt;br /&gt;
|- &lt;br /&gt;
| [[ssmtp]] - Mails aus Web anwendungen verschicken&lt;br /&gt;
|-&lt;br /&gt;
| [[MS PowerShell]]&lt;br /&gt;
|-&lt;br /&gt;
| [[apcupsd]] - USV Linux &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! web software&lt;br /&gt;
|-&lt;br /&gt;
| [[projectmanagement vergleich]]&lt;br /&gt;
|-&lt;br /&gt;
| [[egroupware]]&lt;br /&gt;
|-&lt;br /&gt;
| [[tine20]] [[open exchange]]&lt;br /&gt;
|-&lt;br /&gt;
| [[magento]] [[magento core]] [[magento Entwicklung]]  [[magento2]]&lt;br /&gt;
|-&lt;br /&gt;
| [[TYPO3 LTS 9]] | [[TYPO3 LTS 8]] | [[TYPO3.CMS 7.6 Schnipsel]] | [[Typo3]] | [[Typo3 Entwicklereinstellungen]] | [[Typo3 Endbenutzer Hilfe]]&lt;br /&gt;
|-&lt;br /&gt;
| [[wordpress]]&lt;br /&gt;
|-&lt;br /&gt;
| [[unit_testing]] &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[sass|Sass CSS  Präprozessor]]&lt;br /&gt;
|-&lt;br /&gt;
| [[imageeditor]]&lt;br /&gt;
|-&lt;br /&gt;
| [[web 2.0]] ajax und so nen gedöns&lt;br /&gt;
|-&lt;br /&gt;
| [[dokuwiki]] &lt;br /&gt;
|-&lt;br /&gt;
| [[freesn]]&lt;br /&gt;
|-&lt;br /&gt;
| [[jquery Animationen]] | [[google maps]]&lt;br /&gt;
|-&lt;br /&gt;
| [[php]]&lt;br /&gt;
|-&lt;br /&gt;
| [[etherpad lite]] | [[cryptpad]]&lt;br /&gt;
|-&lt;br /&gt;
| [[firebird]]&lt;br /&gt;
|-&lt;br /&gt;
| [[lets encrypt]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Linux Meta&lt;br /&gt;
|-&lt;br /&gt;
| [[linux]]&lt;br /&gt;
|-&lt;br /&gt;
| [[linux helper]]&lt;br /&gt;
|-&lt;br /&gt;
| [[tonstudio]] [[jackd]] [[JUCE]]&lt;br /&gt;
|-&lt;br /&gt;
| [[benutzte software]]&lt;br /&gt;
|-&lt;br /&gt;
| [[HDMI Soundkarte deaktivieren]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Hardware&lt;br /&gt;
|-&lt;br /&gt;
| [[Programmiermaschinen]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Leichte Rechner]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Sonstiges&lt;br /&gt;
|-&lt;br /&gt;
| [[Kodierung]]&lt;br /&gt;
|-&lt;br /&gt;
| [[Win 3.11_MS DOS]]&lt;br /&gt;
|-&lt;br /&gt;
| [[FastReport_6]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! webinterfaces&lt;br /&gt;
|-&lt;br /&gt;
| [[immoscout24]]&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
|&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Code Policy&lt;br /&gt;
|-&lt;br /&gt;
| [[CSS Policy]]&lt;br /&gt;
|-&lt;br /&gt;
| ...&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Allgemein&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** [[Selbstständigket]]&lt;br /&gt;
** [[Buchhaltung]]&lt;br /&gt;
** [[Steuern]]&lt;br /&gt;
** [[synergy]]&lt;br /&gt;
** [[tide]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Linux SBS (externe Links)&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
** [http://www.zentyal.org/ Zentyal]&lt;br /&gt;
** [http://www.univention.de/ Univention]&lt;br /&gt;
* &#039;&#039;&#039;Starthilfen&#039;&#039;&#039;&lt;br /&gt;
** [[MediaWiki Formatierung]]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Manual:Configuration_settings Liste der Konfigurationsvariablen]&lt;br /&gt;
** [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki-FAQ]&lt;br /&gt;
** [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailingliste neuer MediaWiki-Versionen]&lt;br /&gt;
* &#039;&#039;&#039;Lehre&#039;&#039;&#039;&lt;br /&gt;
** [[Sicherheitskurs]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* mobile stick pit&lt;br /&gt;
**  http://www.thinkwiki.org/wiki/Qualcomm_Gobi_2000&lt;br /&gt;
** http://wiki.steneteg.org/index.php?title=Qualcomm_3g_modem_in_Linux&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5872</id>
		<title>Lxd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5872"/>
		<updated>2021-03-11T16:29:41Z</updated>

		<summary type="html">&lt;p&gt;V: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
echo 1 &amp;gt; /proc/sys/net/ipv4/ip_forward&lt;br /&gt;
/etc/sysctl.conf:&lt;br /&gt;
net.ipv4.ip_forward = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/netplan/01-netcfg.yaml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  renderer: networkd&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s31f6:&lt;br /&gt;
      addresses:&lt;br /&gt;
        - X.X.X.X/32 # IP vom SERVER&lt;br /&gt;
        - 0x00:0x0:0x:0000::0/64&lt;br /&gt;
      routes:&lt;br /&gt;
        - on-link: true&lt;br /&gt;
          to: 0.0.0.0/0&lt;br /&gt;
          via: XX.XXX.XX.XX&lt;br /&gt;
      gateway6: fe80::1&lt;br /&gt;
      nameservers:&lt;br /&gt;
        addresses:&lt;br /&gt;
          - 213.133.XX.XX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
  bridges:&lt;br /&gt;
    vmbr0:&lt;br /&gt;
      addresses: [ X.X.X.X/28 ] #IP von der Bridge &lt;br /&gt;
      parameters:&lt;br /&gt;
        stp: false&lt;br /&gt;
        forward-delay: 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netplan apply &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt install lxd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
adduser nc&lt;br /&gt;
adduser lxd&lt;br /&gt;
adduser nc lxd&lt;br /&gt;
&lt;br /&gt;
lxd init&lt;br /&gt;
# /media/data/serverconf/lxd.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config: {}&lt;br /&gt;
networks: []&lt;br /&gt;
storage_pools:&lt;br /&gt;
- config:&lt;br /&gt;
    source: /dev/md2&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  name: default&lt;br /&gt;
  driver: zfs&lt;br /&gt;
profiles:&lt;br /&gt;
- config: {}&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  devices:&lt;br /&gt;
    eth0:&lt;br /&gt;
      name: eth0&lt;br /&gt;
      nictype: bridged&lt;br /&gt;
      parent: vmbr0&lt;br /&gt;
      type: nic&lt;br /&gt;
    root:&lt;br /&gt;
      path: /&lt;br /&gt;
      pool: default&lt;br /&gt;
      type: disk&lt;br /&gt;
  name: default&lt;br /&gt;
cluster: null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Befehle =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc list&lt;br /&gt;
lxc profile list&lt;br /&gt;
lxc network list&lt;br /&gt;
lxc storage list&lt;br /&gt;
lxc image list images:&lt;br /&gt;
lxc image list images: |egrep focal| egrep amd64&lt;br /&gt;
lxc image list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* container spezifisches&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
* login&lt;br /&gt;
lxc exec containername -- su --login root&lt;br /&gt;
* mount&lt;br /&gt;
zfs mount default/containers/containername&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Begrenzungen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc config set ancontainer  limits.cpu 0,3&lt;br /&gt;
lxc config set ancontainer limits.memory 1GB&lt;br /&gt;
&lt;br /&gt;
# Überprüfen&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
free -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Container installieren =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc launch ubuntu:20.04 ubuntu2020&lt;br /&gt;
lxc list&lt;br /&gt;
lxc exec ubuntu2020 -- su --login root&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/netplan/50-cloud-init.yaml mit nach folgendem ersetzen&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  ethernets:&lt;br /&gt;
    eth0:&lt;br /&gt;
      addresses:&lt;br /&gt;
        - 192.168.0.247/32&lt;br /&gt;
      routes:&lt;br /&gt;
        - to: 0.0.0.0/0&lt;br /&gt;
          via: 192.168.0.1&lt;br /&gt;
          on-link: true&lt;br /&gt;
      dhcp4: no&lt;br /&gt;
      dhcp-identifier: mac&lt;br /&gt;
      nameservers:&lt;br /&gt;
        addresses: [8.8.8.8]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
exit&lt;br /&gt;
lxc stop ubuntu2020&lt;br /&gt;
lxc list&lt;br /&gt;
lxc start ubuntu2020&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration lxc Container zu lxd Container =&lt;br /&gt;
== Migrations Skript ==&lt;br /&gt;
&lt;br /&gt;
* mit lsb_release -a kann mensch im original container noch mal schauen, was für ein betriebsystem überhaupt installiert ist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if ! [ -d &amp;quot;/var/lib/lxc/$1&amp;quot; ] ; then&lt;br /&gt;
        echo /var/lib/lxc/$1 existiert nicht!&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 echo lxc image list images:&lt;br /&gt;
 echo es wird ubuntu:20.04 genomme&lt;br /&gt;
        besys=&#039;ubuntu:20.04&#039;&lt;br /&gt;
else&lt;br /&gt;
        besys=$2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo $0 $1 $besys&lt;br /&gt;
&lt;br /&gt;
CONTAINER_NAME=$1&lt;br /&gt;
STORAGE_POOL=default&lt;br /&gt;
STORAGEPATH=/var/snap/lxd/common/lxd/storage-pools/${STORAGE_POOL}/containers/&lt;br /&gt;
&lt;br /&gt;
lxc-stop -n ${CONTAINER_NAME}&lt;br /&gt;
lxc init $besys ${CONTAINER_NAME} -c security.privileged=true -c boot.autostart=true&lt;br /&gt;
#lxc stop ${CONTAINER_NAME}&lt;br /&gt;
#lxc config set ${CONTAINER_NAME} boot.autostart true&lt;br /&gt;
###&lt;br /&gt;
# zfs list&lt;br /&gt;
## Benutze NAME z.B default/containers/ncsync&lt;br /&gt;
zfs mount default/containers/${CONTAINER_NAME}&lt;br /&gt;
#verschiebt den orginalen rootfs&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs{,.org}&lt;br /&gt;
rsync -ah --stats --progress  --numeric-ids /var/lib/lxc/${CONTAINER_NAME}/rootfs ${STORAGEPATH}${CONTAINER_NAME}/&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs/dev{,.org}&lt;br /&gt;
rsync -ah --stats --progress  ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org/dev ${STORAGEPATH}${CONTAINER_NAME}/rootfs/&lt;br /&gt;
rm -r ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org&lt;br /&gt;
umount ${STORAGEPATH}${CONTAINER_NAME}&lt;br /&gt;
#sed -i &#039;s|lxc.start.auto = .*|lxc.start.auto = 0|g&#039; /var/lib/lxc/${CONTAINER_NAME}/config&lt;br /&gt;
lxc config set ${CONTAINER_NAME} volatile.eth0.hwaddr $(grep lxc.net.0.hwaddr /var/lib/lxc/${CONTAINER_NAME}/config | cut -d&amp;quot;=&amp;quot; -f2)&lt;br /&gt;
lxc config show ${CONTAINER_NAME}&lt;br /&gt;
#lxc-ls -n ${CONTAINER_NAME} -f&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged true&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Weitergehende Möglichkeiten==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM storage_pools&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM profiles_devices_config&amp;quot;&lt;br /&gt;
# Zum Beispiel könnten Storages so umbenannt werden (evtl keine gute Idee!!!! )&lt;br /&gt;
lxd sql global &amp;quot;UPDATE storage_pools SET name=&#039;newname&#039; WHERE name=&#039;oldname&#039;;&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;UPDATE profiles_devices_config SET value=&#039;newname&#039; WHERE value=&#039;oldname&#039; AND key=&#039;pool&#039;;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Datenbank Tabellen und Inhalte &lt;br /&gt;
lxd sql &amp;lt;local|global&amp;gt; [.dump|.schema]&lt;br /&gt;
&lt;br /&gt;
lxd sql global  &amp;quot;.dump&amp;quot; &amp;gt;lxcinfo.txt&lt;br /&gt;
lxd sql global  &amp;quot;.schema&amp;quot; &amp;gt;lxcschema.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://lxd.readthedocs.io/en/latest/database/&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
* irgendwie mit symlinks&lt;br /&gt;
&lt;br /&gt;
* http://www.panticz.de/migrate-lxc-container-to-lxd-with-zfs-storage&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
* verwendete links&lt;br /&gt;
** https://www.cyberciti.biz/faq/install-lxd-on-ubuntu-20-04-lts-using-apt/&lt;br /&gt;
** https://www.jamescoyle.net/how-to/2532-setting-cpu-resource-limits-with-lxc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* weitere&lt;br /&gt;
** https://linuxcontainers.org/lxd/getting-started-cli/#launch-an-instance&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5799</id>
		<title>Lxd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5799"/>
		<updated>2020-11-20T21:37:25Z</updated>

		<summary type="html">&lt;p&gt;V: /* Weitergehende Möglichkeiten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
/etc/netplan/01-netcfg.yaml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  renderer: networkd&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s31f6:&lt;br /&gt;
      addresses:&lt;br /&gt;
        - X.X.X.X/32 # IP vom SERVER&lt;br /&gt;
        - 0x00:0x0:0x:0000::0/64&lt;br /&gt;
      routes:&lt;br /&gt;
        - on-link: true&lt;br /&gt;
          to: 0.0.0.0/0&lt;br /&gt;
          via: XX.XXX.XX.XX&lt;br /&gt;
      gateway6: fe80::1&lt;br /&gt;
      nameservers:&lt;br /&gt;
        addresses:&lt;br /&gt;
          - 213.133.XX.XX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
  bridges:&lt;br /&gt;
    vmbr0:&lt;br /&gt;
      addresses: [ X.X.X.X/28 ] #IP von der Bridge &lt;br /&gt;
      parameters:&lt;br /&gt;
        stp: false&lt;br /&gt;
        forward-delay: 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netplan apply &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt install lxd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
adduser nc&lt;br /&gt;
adduser lxd&lt;br /&gt;
adduser nc lxd&lt;br /&gt;
&lt;br /&gt;
lxd init&lt;br /&gt;
# /media/data/serverconf/lxd.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config: {}&lt;br /&gt;
networks: []&lt;br /&gt;
storage_pools:&lt;br /&gt;
- config:&lt;br /&gt;
    source: /dev/md2&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  name: default&lt;br /&gt;
  driver: zfs&lt;br /&gt;
profiles:&lt;br /&gt;
- config: {}&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  devices:&lt;br /&gt;
    eth0:&lt;br /&gt;
      name: eth0&lt;br /&gt;
      nictype: bridged&lt;br /&gt;
      parent: vmbr0&lt;br /&gt;
      type: nic&lt;br /&gt;
    root:&lt;br /&gt;
      path: /&lt;br /&gt;
      pool: default&lt;br /&gt;
      type: disk&lt;br /&gt;
  name: default&lt;br /&gt;
cluster: null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Befehle =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc list&lt;br /&gt;
lxc profile list&lt;br /&gt;
lxc network list&lt;br /&gt;
lxc storage list&lt;br /&gt;
lxc image list images:&lt;br /&gt;
lxc image list images: |egrep focal| egrep amd64&lt;br /&gt;
lxc image list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Begrenzungen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc config set ancontainer  limits.cpu 0,3&lt;br /&gt;
lxc config set ancontainer limits.memory 1GB&lt;br /&gt;
&lt;br /&gt;
# Überprüfen&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
free -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration lxc Container zu lxd Container =&lt;br /&gt;
== Migrations Skript ==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if ! [ -d &amp;quot;/var/lib/lxc/$1&amp;quot; ] ; then&lt;br /&gt;
        echo /var/lib/lxc/$1 existiert nicht!&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 echo lxc image list images:&lt;br /&gt;
 echo es wird ubuntu:20.04 genomme&lt;br /&gt;
        besys=&#039;ubuntu:20.04&#039;&lt;br /&gt;
else&lt;br /&gt;
        besys=$2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo $0 $1 $besys&lt;br /&gt;
&lt;br /&gt;
CONTAINER_NAME=$1&lt;br /&gt;
STORAGE_POOL=default&lt;br /&gt;
STORAGEPATH=/var/snap/lxd/common/lxd/storage-pools/${STORAGE_POOL}/containers/&lt;br /&gt;
&lt;br /&gt;
lxc-stop -n ${CONTAINER_NAME}&lt;br /&gt;
lxc init $besys ${CONTAINER_NAME} -c security.privileged=true -c boot.autostart=true&lt;br /&gt;
#lxc stop ${CONTAINER_NAME}&lt;br /&gt;
#lxc config set ${CONTAINER_NAME} boot.autostart true&lt;br /&gt;
###&lt;br /&gt;
# zfs list&lt;br /&gt;
## Benutze NAME z.B default/containers/ncsync&lt;br /&gt;
zfs mount default/containers/${CONTAINER_NAME}&lt;br /&gt;
verschiebt den orginalen rootfs&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs{,.org}&lt;br /&gt;
rsync -ah --stats --progress  --numeric-ids /var/lib/lxc/${CONTAINER_NAME}/rootfs ${STORAGEPATH}${CONTAINER_NAME}/&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs/dev{,.org}&lt;br /&gt;
rsync -ah --stats --progress  ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org/dev ${STORAGEPATH}${CONTAINER_NAME}/rootfs/&lt;br /&gt;
rm -r ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org&lt;br /&gt;
umount ${STORAGEPATH}${CONTAINER_NAME}&lt;br /&gt;
#sed -i &#039;s|lxc.start.auto = .*|lxc.start.auto = 0|g&#039; /var/lib/lxc/${CONTAINER_NAME}/config&lt;br /&gt;
lxc config set ${CONTAINER_NAME} volatile.eth0.hwaddr $(grep lxc.net.0.hwaddr /var/lib/lxc/${CONTAINER_NAME}/config | cut -d&amp;quot;=&amp;quot; -f2)&lt;br /&gt;
lxc config show ${CONTAINER_NAME}&lt;br /&gt;
#lxc-ls -n ${CONTAINER_NAME} -f&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged true&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weitergehende Möglichkeiten==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM storage_pools&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM profiles_devices_config&amp;quot;&lt;br /&gt;
# Zum Beispiel könnten Storages so umbenannt werden (evtl keine gute Idee!!!! )&lt;br /&gt;
lxd sql global &amp;quot;UPDATE storage_pools SET name=&#039;newname&#039; WHERE name=&#039;oldname&#039;;&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;UPDATE profiles_devices_config SET value=&#039;newname&#039; WHERE value=&#039;oldname&#039; AND key=&#039;pool&#039;;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Datenbank Tabellen und Inhalte &lt;br /&gt;
lxd sql &amp;lt;local|global&amp;gt; [.dump|.schema]&lt;br /&gt;
&lt;br /&gt;
lxd sql global  &amp;quot;.dump&amp;quot; &amp;gt;lxcinfo.txt&lt;br /&gt;
lxd sql global  &amp;quot;.schema&amp;quot; &amp;gt;lxcschema.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
https://lxd.readthedocs.io/en/latest/database/&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
* irgendwie mit symlinks&lt;br /&gt;
&lt;br /&gt;
* http://www.panticz.de/migrate-lxc-container-to-lxd-with-zfs-storage&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
* verwendete links&lt;br /&gt;
** https://www.cyberciti.biz/faq/install-lxd-on-ubuntu-20-04-lts-using-apt/&lt;br /&gt;
** https://www.jamescoyle.net/how-to/2532-setting-cpu-resource-limits-with-lxc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* weitere&lt;br /&gt;
** https://linuxcontainers.org/lxd/getting-started-cli/#launch-an-instance&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5798</id>
		<title>Lxd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5798"/>
		<updated>2020-11-20T21:36:41Z</updated>

		<summary type="html">&lt;p&gt;V: /* Weitergehende Möglichkeiten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
/etc/netplan/01-netcfg.yaml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  renderer: networkd&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s31f6:&lt;br /&gt;
      addresses:&lt;br /&gt;
        - X.X.X.X/32 # IP vom SERVER&lt;br /&gt;
        - 0x00:0x0:0x:0000::0/64&lt;br /&gt;
      routes:&lt;br /&gt;
        - on-link: true&lt;br /&gt;
          to: 0.0.0.0/0&lt;br /&gt;
          via: XX.XXX.XX.XX&lt;br /&gt;
      gateway6: fe80::1&lt;br /&gt;
      nameservers:&lt;br /&gt;
        addresses:&lt;br /&gt;
          - 213.133.XX.XX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
  bridges:&lt;br /&gt;
    vmbr0:&lt;br /&gt;
      addresses: [ X.X.X.X/28 ] #IP von der Bridge &lt;br /&gt;
      parameters:&lt;br /&gt;
        stp: false&lt;br /&gt;
        forward-delay: 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netplan apply &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt install lxd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
adduser nc&lt;br /&gt;
adduser lxd&lt;br /&gt;
adduser nc lxd&lt;br /&gt;
&lt;br /&gt;
lxd init&lt;br /&gt;
# /media/data/serverconf/lxd.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config: {}&lt;br /&gt;
networks: []&lt;br /&gt;
storage_pools:&lt;br /&gt;
- config:&lt;br /&gt;
    source: /dev/md2&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  name: default&lt;br /&gt;
  driver: zfs&lt;br /&gt;
profiles:&lt;br /&gt;
- config: {}&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  devices:&lt;br /&gt;
    eth0:&lt;br /&gt;
      name: eth0&lt;br /&gt;
      nictype: bridged&lt;br /&gt;
      parent: vmbr0&lt;br /&gt;
      type: nic&lt;br /&gt;
    root:&lt;br /&gt;
      path: /&lt;br /&gt;
      pool: default&lt;br /&gt;
      type: disk&lt;br /&gt;
  name: default&lt;br /&gt;
cluster: null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Befehle =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc list&lt;br /&gt;
lxc profile list&lt;br /&gt;
lxc network list&lt;br /&gt;
lxc storage list&lt;br /&gt;
lxc image list images:&lt;br /&gt;
lxc image list images: |egrep focal| egrep amd64&lt;br /&gt;
lxc image list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Begrenzungen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc config set ancontainer  limits.cpu 0,3&lt;br /&gt;
lxc config set ancontainer limits.memory 1GB&lt;br /&gt;
&lt;br /&gt;
# Überprüfen&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
free -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration lxc Container zu lxd Container =&lt;br /&gt;
== Migrations Skript ==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if ! [ -d &amp;quot;/var/lib/lxc/$1&amp;quot; ] ; then&lt;br /&gt;
        echo /var/lib/lxc/$1 existiert nicht!&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 echo lxc image list images:&lt;br /&gt;
 echo es wird ubuntu:20.04 genomme&lt;br /&gt;
        besys=&#039;ubuntu:20.04&#039;&lt;br /&gt;
else&lt;br /&gt;
        besys=$2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo $0 $1 $besys&lt;br /&gt;
&lt;br /&gt;
CONTAINER_NAME=$1&lt;br /&gt;
STORAGE_POOL=default&lt;br /&gt;
STORAGEPATH=/var/snap/lxd/common/lxd/storage-pools/${STORAGE_POOL}/containers/&lt;br /&gt;
&lt;br /&gt;
lxc-stop -n ${CONTAINER_NAME}&lt;br /&gt;
lxc init $besys ${CONTAINER_NAME} -c security.privileged=true -c boot.autostart=true&lt;br /&gt;
#lxc stop ${CONTAINER_NAME}&lt;br /&gt;
#lxc config set ${CONTAINER_NAME} boot.autostart true&lt;br /&gt;
###&lt;br /&gt;
# zfs list&lt;br /&gt;
## Benutze NAME z.B default/containers/ncsync&lt;br /&gt;
zfs mount default/containers/${CONTAINER_NAME}&lt;br /&gt;
verschiebt den orginalen rootfs&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs{,.org}&lt;br /&gt;
rsync -ah --stats --progress  --numeric-ids /var/lib/lxc/${CONTAINER_NAME}/rootfs ${STORAGEPATH}${CONTAINER_NAME}/&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs/dev{,.org}&lt;br /&gt;
rsync -ah --stats --progress  ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org/dev ${STORAGEPATH}${CONTAINER_NAME}/rootfs/&lt;br /&gt;
rm -r ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org&lt;br /&gt;
umount ${STORAGEPATH}${CONTAINER_NAME}&lt;br /&gt;
#sed -i &#039;s|lxc.start.auto = .*|lxc.start.auto = 0|g&#039; /var/lib/lxc/${CONTAINER_NAME}/config&lt;br /&gt;
lxc config set ${CONTAINER_NAME} volatile.eth0.hwaddr $(grep lxc.net.0.hwaddr /var/lib/lxc/${CONTAINER_NAME}/config | cut -d&amp;quot;=&amp;quot; -f2)&lt;br /&gt;
lxc config show ${CONTAINER_NAME}&lt;br /&gt;
#lxc-ls -n ${CONTAINER_NAME} -f&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged true&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weitergehende Möglichkeiten==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM storage_pools&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM profiles_devices_config&amp;quot;&lt;br /&gt;
# Zum Beispiel könnten Storages so umbenannt werden (evtl keine gute Idee!!!! )&lt;br /&gt;
lxd sql global &amp;quot;UPDATE storage_pools SET name=&#039;newname&#039; WHERE name=&#039;oldname&#039;;&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;UPDATE profiles_devices_config SET value=&#039;newname&#039; WHERE value=&#039;oldname&#039; AND key=&#039;pool&#039;;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Datenbank Tabellen und Inhalte &lt;br /&gt;
lxd sql &amp;lt;local|global&amp;gt; [.dump|.schema]&lt;br /&gt;
&lt;br /&gt;
lxd sql global  &amp;quot;.dump&amp;quot; &amp;gt;lxcinfo.txt&lt;br /&gt;
lxd sql global  &amp;quot;.schema&amp;quot; &amp;gt;lxcschema.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
* irgendwie mit symlinks&lt;br /&gt;
&lt;br /&gt;
* http://www.panticz.de/migrate-lxc-container-to-lxd-with-zfs-storage&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
* verwendete links&lt;br /&gt;
** https://www.cyberciti.biz/faq/install-lxd-on-ubuntu-20-04-lts-using-apt/&lt;br /&gt;
** https://www.jamescoyle.net/how-to/2532-setting-cpu-resource-limits-with-lxc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* weitere&lt;br /&gt;
** https://linuxcontainers.org/lxd/getting-started-cli/#launch-an-instance&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5797</id>
		<title>Lxd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5797"/>
		<updated>2020-11-20T21:36:06Z</updated>

		<summary type="html">&lt;p&gt;V: /* Weitergehende Möglichkeiten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
/etc/netplan/01-netcfg.yaml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  renderer: networkd&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s31f6:&lt;br /&gt;
      addresses:&lt;br /&gt;
        - X.X.X.X/32 # IP vom SERVER&lt;br /&gt;
        - 0x00:0x0:0x:0000::0/64&lt;br /&gt;
      routes:&lt;br /&gt;
        - on-link: true&lt;br /&gt;
          to: 0.0.0.0/0&lt;br /&gt;
          via: XX.XXX.XX.XX&lt;br /&gt;
      gateway6: fe80::1&lt;br /&gt;
      nameservers:&lt;br /&gt;
        addresses:&lt;br /&gt;
          - 213.133.XX.XX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
  bridges:&lt;br /&gt;
    vmbr0:&lt;br /&gt;
      addresses: [ X.X.X.X/28 ] #IP von der Bridge &lt;br /&gt;
      parameters:&lt;br /&gt;
        stp: false&lt;br /&gt;
        forward-delay: 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netplan apply &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt install lxd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
adduser nc&lt;br /&gt;
adduser lxd&lt;br /&gt;
adduser nc lxd&lt;br /&gt;
&lt;br /&gt;
lxd init&lt;br /&gt;
# /media/data/serverconf/lxd.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config: {}&lt;br /&gt;
networks: []&lt;br /&gt;
storage_pools:&lt;br /&gt;
- config:&lt;br /&gt;
    source: /dev/md2&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  name: default&lt;br /&gt;
  driver: zfs&lt;br /&gt;
profiles:&lt;br /&gt;
- config: {}&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  devices:&lt;br /&gt;
    eth0:&lt;br /&gt;
      name: eth0&lt;br /&gt;
      nictype: bridged&lt;br /&gt;
      parent: vmbr0&lt;br /&gt;
      type: nic&lt;br /&gt;
    root:&lt;br /&gt;
      path: /&lt;br /&gt;
      pool: default&lt;br /&gt;
      type: disk&lt;br /&gt;
  name: default&lt;br /&gt;
cluster: null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Befehle =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc list&lt;br /&gt;
lxc profile list&lt;br /&gt;
lxc network list&lt;br /&gt;
lxc storage list&lt;br /&gt;
lxc image list images:&lt;br /&gt;
lxc image list images: |egrep focal| egrep amd64&lt;br /&gt;
lxc image list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Begrenzungen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc config set ancontainer  limits.cpu 0,3&lt;br /&gt;
lxc config set ancontainer limits.memory 1GB&lt;br /&gt;
&lt;br /&gt;
# Überprüfen&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
free -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration lxc Container zu lxd Container =&lt;br /&gt;
== Migrations Skript ==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if ! [ -d &amp;quot;/var/lib/lxc/$1&amp;quot; ] ; then&lt;br /&gt;
        echo /var/lib/lxc/$1 existiert nicht!&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 echo lxc image list images:&lt;br /&gt;
 echo es wird ubuntu:20.04 genomme&lt;br /&gt;
        besys=&#039;ubuntu:20.04&#039;&lt;br /&gt;
else&lt;br /&gt;
        besys=$2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo $0 $1 $besys&lt;br /&gt;
&lt;br /&gt;
CONTAINER_NAME=$1&lt;br /&gt;
STORAGE_POOL=default&lt;br /&gt;
STORAGEPATH=/var/snap/lxd/common/lxd/storage-pools/${STORAGE_POOL}/containers/&lt;br /&gt;
&lt;br /&gt;
lxc-stop -n ${CONTAINER_NAME}&lt;br /&gt;
lxc init $besys ${CONTAINER_NAME} -c security.privileged=true -c boot.autostart=true&lt;br /&gt;
#lxc stop ${CONTAINER_NAME}&lt;br /&gt;
#lxc config set ${CONTAINER_NAME} boot.autostart true&lt;br /&gt;
###&lt;br /&gt;
# zfs list&lt;br /&gt;
## Benutze NAME z.B default/containers/ncsync&lt;br /&gt;
zfs mount default/containers/${CONTAINER_NAME}&lt;br /&gt;
verschiebt den orginalen rootfs&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs{,.org}&lt;br /&gt;
rsync -ah --stats --progress  --numeric-ids /var/lib/lxc/${CONTAINER_NAME}/rootfs ${STORAGEPATH}${CONTAINER_NAME}/&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs/dev{,.org}&lt;br /&gt;
rsync -ah --stats --progress  ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org/dev ${STORAGEPATH}${CONTAINER_NAME}/rootfs/&lt;br /&gt;
rm -r ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org&lt;br /&gt;
umount ${STORAGEPATH}${CONTAINER_NAME}&lt;br /&gt;
#sed -i &#039;s|lxc.start.auto = .*|lxc.start.auto = 0|g&#039; /var/lib/lxc/${CONTAINER_NAME}/config&lt;br /&gt;
lxc config set ${CONTAINER_NAME} volatile.eth0.hwaddr $(grep lxc.net.0.hwaddr /var/lib/lxc/${CONTAINER_NAME}/config | cut -d&amp;quot;=&amp;quot; -f2)&lt;br /&gt;
lxc config show ${CONTAINER_NAME}&lt;br /&gt;
#lxc-ls -n ${CONTAINER_NAME} -f&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged true&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weitergehende Möglichkeiten==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM storage_pools&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM profiles_devices_config&amp;quot;&lt;br /&gt;
# Zum Beispiel könnten Storages so umbenannt werden (evtl keine gute Idee!!!! )&lt;br /&gt;
lxd sql global &amp;quot;UPDATE storage_pools SET name=&#039;newname&#039; WHERE name=&#039;oldname&#039;;&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;UPDATE profiles_devices_config SET value=&#039;newname&#039; WHERE value=&#039;oldname&#039; AND key=&#039;pool&#039;;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
lxd sql &amp;lt;local|global&amp;gt; [.dump|.schema]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
lxd sql global  &amp;quot;.dump&amp;quot; &amp;gt;lxcinfo.txt&lt;br /&gt;
lxd sql global  &amp;quot;.schema&amp;quot; &amp;gt;lxcschema.txt&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
* irgendwie mit symlinks&lt;br /&gt;
&lt;br /&gt;
* http://www.panticz.de/migrate-lxc-container-to-lxd-with-zfs-storage&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
* verwendete links&lt;br /&gt;
** https://www.cyberciti.biz/faq/install-lxd-on-ubuntu-20-04-lts-using-apt/&lt;br /&gt;
** https://www.jamescoyle.net/how-to/2532-setting-cpu-resource-limits-with-lxc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* weitere&lt;br /&gt;
** https://linuxcontainers.org/lxd/getting-started-cli/#launch-an-instance&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5796</id>
		<title>Lxd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5796"/>
		<updated>2020-11-20T21:16:16Z</updated>

		<summary type="html">&lt;p&gt;V: /* Begrenzungen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
/etc/netplan/01-netcfg.yaml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  renderer: networkd&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s31f6:&lt;br /&gt;
      addresses:&lt;br /&gt;
        - X.X.X.X/32 # IP vom SERVER&lt;br /&gt;
        - 0x00:0x0:0x:0000::0/64&lt;br /&gt;
      routes:&lt;br /&gt;
        - on-link: true&lt;br /&gt;
          to: 0.0.0.0/0&lt;br /&gt;
          via: XX.XXX.XX.XX&lt;br /&gt;
      gateway6: fe80::1&lt;br /&gt;
      nameservers:&lt;br /&gt;
        addresses:&lt;br /&gt;
          - 213.133.XX.XX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
  bridges:&lt;br /&gt;
    vmbr0:&lt;br /&gt;
      addresses: [ X.X.X.X/28 ] #IP von der Bridge &lt;br /&gt;
      parameters:&lt;br /&gt;
        stp: false&lt;br /&gt;
        forward-delay: 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netplan apply &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt install lxd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
adduser nc&lt;br /&gt;
adduser lxd&lt;br /&gt;
adduser nc lxd&lt;br /&gt;
&lt;br /&gt;
lxd init&lt;br /&gt;
# /media/data/serverconf/lxd.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config: {}&lt;br /&gt;
networks: []&lt;br /&gt;
storage_pools:&lt;br /&gt;
- config:&lt;br /&gt;
    source: /dev/md2&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  name: default&lt;br /&gt;
  driver: zfs&lt;br /&gt;
profiles:&lt;br /&gt;
- config: {}&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  devices:&lt;br /&gt;
    eth0:&lt;br /&gt;
      name: eth0&lt;br /&gt;
      nictype: bridged&lt;br /&gt;
      parent: vmbr0&lt;br /&gt;
      type: nic&lt;br /&gt;
    root:&lt;br /&gt;
      path: /&lt;br /&gt;
      pool: default&lt;br /&gt;
      type: disk&lt;br /&gt;
  name: default&lt;br /&gt;
cluster: null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Befehle =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc list&lt;br /&gt;
lxc profile list&lt;br /&gt;
lxc network list&lt;br /&gt;
lxc storage list&lt;br /&gt;
lxc image list images:&lt;br /&gt;
lxc image list images: |egrep focal| egrep amd64&lt;br /&gt;
lxc image list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Begrenzungen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc config set ancontainer  limits.cpu 0,3&lt;br /&gt;
lxc config set ancontainer limits.memory 1GB&lt;br /&gt;
&lt;br /&gt;
# Überprüfen&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
free -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration lxc Container zu lxd Container =&lt;br /&gt;
== Migrations Skript ==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if ! [ -d &amp;quot;/var/lib/lxc/$1&amp;quot; ] ; then&lt;br /&gt;
        echo /var/lib/lxc/$1 existiert nicht!&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 echo lxc image list images:&lt;br /&gt;
 echo es wird ubuntu:20.04 genomme&lt;br /&gt;
        besys=&#039;ubuntu:20.04&#039;&lt;br /&gt;
else&lt;br /&gt;
        besys=$2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo $0 $1 $besys&lt;br /&gt;
&lt;br /&gt;
CONTAINER_NAME=$1&lt;br /&gt;
STORAGE_POOL=default&lt;br /&gt;
STORAGEPATH=/var/snap/lxd/common/lxd/storage-pools/${STORAGE_POOL}/containers/&lt;br /&gt;
&lt;br /&gt;
lxc-stop -n ${CONTAINER_NAME}&lt;br /&gt;
lxc init $besys ${CONTAINER_NAME} -c security.privileged=true -c boot.autostart=true&lt;br /&gt;
#lxc stop ${CONTAINER_NAME}&lt;br /&gt;
#lxc config set ${CONTAINER_NAME} boot.autostart true&lt;br /&gt;
###&lt;br /&gt;
# zfs list&lt;br /&gt;
## Benutze NAME z.B default/containers/ncsync&lt;br /&gt;
zfs mount default/containers/${CONTAINER_NAME}&lt;br /&gt;
verschiebt den orginalen rootfs&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs{,.org}&lt;br /&gt;
rsync -ah --stats --progress  --numeric-ids /var/lib/lxc/${CONTAINER_NAME}/rootfs ${STORAGEPATH}${CONTAINER_NAME}/&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs/dev{,.org}&lt;br /&gt;
rsync -ah --stats --progress  ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org/dev ${STORAGEPATH}${CONTAINER_NAME}/rootfs/&lt;br /&gt;
rm -r ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org&lt;br /&gt;
umount ${STORAGEPATH}${CONTAINER_NAME}&lt;br /&gt;
#sed -i &#039;s|lxc.start.auto = .*|lxc.start.auto = 0|g&#039; /var/lib/lxc/${CONTAINER_NAME}/config&lt;br /&gt;
lxc config set ${CONTAINER_NAME} volatile.eth0.hwaddr $(grep lxc.net.0.hwaddr /var/lib/lxc/${CONTAINER_NAME}/config | cut -d&amp;quot;=&amp;quot; -f2)&lt;br /&gt;
lxc config show ${CONTAINER_NAME}&lt;br /&gt;
#lxc-ls -n ${CONTAINER_NAME} -f&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged true&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weitergehende Möglichkeiten==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM storage_pools&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM profiles_devices_config&amp;quot;&lt;br /&gt;
# Zum Beispiel könnten Storages so umbenannt werden (evtl keine gute Idee!!!! )&lt;br /&gt;
lxd sql global &amp;quot;UPDATE storage_pools SET name=&#039;newname&#039; WHERE name=&#039;oldname&#039;;&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;UPDATE profiles_devices_config SET value=&#039;newname&#039; WHERE value=&#039;oldname&#039; AND key=&#039;pool&#039;;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
* irgendwie mit symlinks&lt;br /&gt;
&lt;br /&gt;
* http://www.panticz.de/migrate-lxc-container-to-lxd-with-zfs-storage&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
* verwendete links&lt;br /&gt;
** https://www.cyberciti.biz/faq/install-lxd-on-ubuntu-20-04-lts-using-apt/&lt;br /&gt;
** https://www.jamescoyle.net/how-to/2532-setting-cpu-resource-limits-with-lxc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* weitere&lt;br /&gt;
** https://linuxcontainers.org/lxd/getting-started-cli/#launch-an-instance&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5795</id>
		<title>Lxd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5795"/>
		<updated>2020-11-20T18:16:37Z</updated>

		<summary type="html">&lt;p&gt;V: /* Weitergehende Möglichkeiten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
/etc/netplan/01-netcfg.yaml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  renderer: networkd&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s31f6:&lt;br /&gt;
      addresses:&lt;br /&gt;
        - X.X.X.X/32 # IP vom SERVER&lt;br /&gt;
        - 0x00:0x0:0x:0000::0/64&lt;br /&gt;
      routes:&lt;br /&gt;
        - on-link: true&lt;br /&gt;
          to: 0.0.0.0/0&lt;br /&gt;
          via: XX.XXX.XX.XX&lt;br /&gt;
      gateway6: fe80::1&lt;br /&gt;
      nameservers:&lt;br /&gt;
        addresses:&lt;br /&gt;
          - 213.133.XX.XX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
  bridges:&lt;br /&gt;
    vmbr0:&lt;br /&gt;
      addresses: [ X.X.X.X/28 ] #IP von der Bridge &lt;br /&gt;
      parameters:&lt;br /&gt;
        stp: false&lt;br /&gt;
        forward-delay: 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netplan apply &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt install lxd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
adduser nc&lt;br /&gt;
adduser lxd&lt;br /&gt;
adduser nc lxd&lt;br /&gt;
&lt;br /&gt;
lxd init&lt;br /&gt;
# /media/data/serverconf/lxd.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config: {}&lt;br /&gt;
networks: []&lt;br /&gt;
storage_pools:&lt;br /&gt;
- config:&lt;br /&gt;
    source: /dev/md2&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  name: default&lt;br /&gt;
  driver: zfs&lt;br /&gt;
profiles:&lt;br /&gt;
- config: {}&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  devices:&lt;br /&gt;
    eth0:&lt;br /&gt;
      name: eth0&lt;br /&gt;
      nictype: bridged&lt;br /&gt;
      parent: vmbr0&lt;br /&gt;
      type: nic&lt;br /&gt;
    root:&lt;br /&gt;
      path: /&lt;br /&gt;
      pool: default&lt;br /&gt;
      type: disk&lt;br /&gt;
  name: default&lt;br /&gt;
cluster: null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Befehle =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc list&lt;br /&gt;
lxc profile list&lt;br /&gt;
lxc network list&lt;br /&gt;
lxc storage list&lt;br /&gt;
lxc image list images:&lt;br /&gt;
lxc image list images: |egrep focal| egrep amd64&lt;br /&gt;
lxc image list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Begrenzungen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
limits.cpu 0,3&lt;br /&gt;
lxc config set ancencrypt limits.memory 1GB&lt;br /&gt;
&lt;br /&gt;
# Überprüfen&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
free -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration lxc Container zu lxd Container =&lt;br /&gt;
== Migrations Skript ==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if ! [ -d &amp;quot;/var/lib/lxc/$1&amp;quot; ] ; then&lt;br /&gt;
        echo /var/lib/lxc/$1 existiert nicht!&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 echo lxc image list images:&lt;br /&gt;
 echo es wird ubuntu:20.04 genomme&lt;br /&gt;
        besys=&#039;ubuntu:20.04&#039;&lt;br /&gt;
else&lt;br /&gt;
        besys=$2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo $0 $1 $besys&lt;br /&gt;
&lt;br /&gt;
CONTAINER_NAME=$1&lt;br /&gt;
STORAGE_POOL=default&lt;br /&gt;
STORAGEPATH=/var/snap/lxd/common/lxd/storage-pools/${STORAGE_POOL}/containers/&lt;br /&gt;
&lt;br /&gt;
lxc-stop -n ${CONTAINER_NAME}&lt;br /&gt;
lxc init $besys ${CONTAINER_NAME} -c security.privileged=true -c boot.autostart=true&lt;br /&gt;
#lxc stop ${CONTAINER_NAME}&lt;br /&gt;
#lxc config set ${CONTAINER_NAME} boot.autostart true&lt;br /&gt;
###&lt;br /&gt;
# zfs list&lt;br /&gt;
## Benutze NAME z.B default/containers/ncsync&lt;br /&gt;
zfs mount default/containers/${CONTAINER_NAME}&lt;br /&gt;
verschiebt den orginalen rootfs&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs{,.org}&lt;br /&gt;
rsync -ah --stats --progress  --numeric-ids /var/lib/lxc/${CONTAINER_NAME}/rootfs ${STORAGEPATH}${CONTAINER_NAME}/&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs/dev{,.org}&lt;br /&gt;
rsync -ah --stats --progress  ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org/dev ${STORAGEPATH}${CONTAINER_NAME}/rootfs/&lt;br /&gt;
rm -r ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org&lt;br /&gt;
umount ${STORAGEPATH}${CONTAINER_NAME}&lt;br /&gt;
#sed -i &#039;s|lxc.start.auto = .*|lxc.start.auto = 0|g&#039; /var/lib/lxc/${CONTAINER_NAME}/config&lt;br /&gt;
lxc config set ${CONTAINER_NAME} volatile.eth0.hwaddr $(grep lxc.net.0.hwaddr /var/lib/lxc/${CONTAINER_NAME}/config | cut -d&amp;quot;=&amp;quot; -f2)&lt;br /&gt;
lxc config show ${CONTAINER_NAME}&lt;br /&gt;
#lxc-ls -n ${CONTAINER_NAME} -f&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged true&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weitergehende Möglichkeiten==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM storage_pools&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM profiles_devices_config&amp;quot;&lt;br /&gt;
# Zum Beispiel könnten Storages so umbenannt werden (evtl keine gute Idee!!!! )&lt;br /&gt;
lxd sql global &amp;quot;UPDATE storage_pools SET name=&#039;newname&#039; WHERE name=&#039;oldname&#039;;&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;UPDATE profiles_devices_config SET value=&#039;newname&#039; WHERE value=&#039;oldname&#039; AND key=&#039;pool&#039;;&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
* irgendwie mit symlinks&lt;br /&gt;
&lt;br /&gt;
* http://www.panticz.de/migrate-lxc-container-to-lxd-with-zfs-storage&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
* verwendete links&lt;br /&gt;
** https://www.cyberciti.biz/faq/install-lxd-on-ubuntu-20-04-lts-using-apt/&lt;br /&gt;
** https://www.jamescoyle.net/how-to/2532-setting-cpu-resource-limits-with-lxc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* weitere&lt;br /&gt;
** https://linuxcontainers.org/lxd/getting-started-cli/#launch-an-instance&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5794</id>
		<title>Lxd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5794"/>
		<updated>2020-11-20T18:16:04Z</updated>

		<summary type="html">&lt;p&gt;V: /* Weitergehende Möglichkeiten */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
/etc/netplan/01-netcfg.yaml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  renderer: networkd&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s31f6:&lt;br /&gt;
      addresses:&lt;br /&gt;
        - X.X.X.X/32 # IP vom SERVER&lt;br /&gt;
        - 0x00:0x0:0x:0000::0/64&lt;br /&gt;
      routes:&lt;br /&gt;
        - on-link: true&lt;br /&gt;
          to: 0.0.0.0/0&lt;br /&gt;
          via: XX.XXX.XX.XX&lt;br /&gt;
      gateway6: fe80::1&lt;br /&gt;
      nameservers:&lt;br /&gt;
        addresses:&lt;br /&gt;
          - 213.133.XX.XX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
  bridges:&lt;br /&gt;
    vmbr0:&lt;br /&gt;
      addresses: [ X.X.X.X/28 ] #IP von der Bridge &lt;br /&gt;
      parameters:&lt;br /&gt;
        stp: false&lt;br /&gt;
        forward-delay: 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netplan apply &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt install lxd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
adduser nc&lt;br /&gt;
adduser lxd&lt;br /&gt;
adduser nc lxd&lt;br /&gt;
&lt;br /&gt;
lxd init&lt;br /&gt;
# /media/data/serverconf/lxd.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config: {}&lt;br /&gt;
networks: []&lt;br /&gt;
storage_pools:&lt;br /&gt;
- config:&lt;br /&gt;
    source: /dev/md2&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  name: default&lt;br /&gt;
  driver: zfs&lt;br /&gt;
profiles:&lt;br /&gt;
- config: {}&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  devices:&lt;br /&gt;
    eth0:&lt;br /&gt;
      name: eth0&lt;br /&gt;
      nictype: bridged&lt;br /&gt;
      parent: vmbr0&lt;br /&gt;
      type: nic&lt;br /&gt;
    root:&lt;br /&gt;
      path: /&lt;br /&gt;
      pool: default&lt;br /&gt;
      type: disk&lt;br /&gt;
  name: default&lt;br /&gt;
cluster: null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Befehle =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc list&lt;br /&gt;
lxc profile list&lt;br /&gt;
lxc network list&lt;br /&gt;
lxc storage list&lt;br /&gt;
lxc image list images:&lt;br /&gt;
lxc image list images: |egrep focal| egrep amd64&lt;br /&gt;
lxc image list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Begrenzungen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
limits.cpu 0,3&lt;br /&gt;
lxc config set ancencrypt limits.memory 1GB&lt;br /&gt;
&lt;br /&gt;
# Überprüfen&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
free -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration lxc Container zu lxd Container =&lt;br /&gt;
== Migrations Skript ==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if ! [ -d &amp;quot;/var/lib/lxc/$1&amp;quot; ] ; then&lt;br /&gt;
        echo /var/lib/lxc/$1 existiert nicht!&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 echo lxc image list images:&lt;br /&gt;
 echo es wird ubuntu:20.04 genomme&lt;br /&gt;
        besys=&#039;ubuntu:20.04&#039;&lt;br /&gt;
else&lt;br /&gt;
        besys=$2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo $0 $1 $besys&lt;br /&gt;
&lt;br /&gt;
CONTAINER_NAME=$1&lt;br /&gt;
STORAGE_POOL=default&lt;br /&gt;
STORAGEPATH=/var/snap/lxd/common/lxd/storage-pools/${STORAGE_POOL}/containers/&lt;br /&gt;
&lt;br /&gt;
lxc-stop -n ${CONTAINER_NAME}&lt;br /&gt;
lxc init $besys ${CONTAINER_NAME} -c security.privileged=true -c boot.autostart=true&lt;br /&gt;
#lxc stop ${CONTAINER_NAME}&lt;br /&gt;
#lxc config set ${CONTAINER_NAME} boot.autostart true&lt;br /&gt;
###&lt;br /&gt;
# zfs list&lt;br /&gt;
## Benutze NAME z.B default/containers/ncsync&lt;br /&gt;
zfs mount default/containers/${CONTAINER_NAME}&lt;br /&gt;
verschiebt den orginalen rootfs&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs{,.org}&lt;br /&gt;
rsync -ah --stats --progress  --numeric-ids /var/lib/lxc/${CONTAINER_NAME}/rootfs ${STORAGEPATH}${CONTAINER_NAME}/&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs/dev{,.org}&lt;br /&gt;
rsync -ah --stats --progress  ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org/dev ${STORAGEPATH}${CONTAINER_NAME}/rootfs/&lt;br /&gt;
rm -r ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org&lt;br /&gt;
umount ${STORAGEPATH}${CONTAINER_NAME}&lt;br /&gt;
#sed -i &#039;s|lxc.start.auto = .*|lxc.start.auto = 0|g&#039; /var/lib/lxc/${CONTAINER_NAME}/config&lt;br /&gt;
lxc config set ${CONTAINER_NAME} volatile.eth0.hwaddr $(grep lxc.net.0.hwaddr /var/lib/lxc/${CONTAINER_NAME}/config | cut -d&amp;quot;=&amp;quot; -f2)&lt;br /&gt;
lxc config show ${CONTAINER_NAME}&lt;br /&gt;
#lxc-ls -n ${CONTAINER_NAME} -f&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged true&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weitergehende Möglichkeiten==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM storage_pools&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM profiles_devices_config&amp;quot;&lt;br /&gt;
# Zum Beispiel könnten Storages so umbenannt werden (evtl keine gute Idee!!!! )&lt;br /&gt;
lxd sql global &amp;quot;UPDATE storage_pools SET name=&#039;newname&#039; WHERE name=&#039;oldname&#039;;&lt;br /&gt;
lxd sql global &amp;quot;UPDATE profiles_devices_config SET value=&#039;newname&#039; WHERE value=&#039;oldname&#039; AND key=&#039;pool&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
* irgendwie mit symlinks&lt;br /&gt;
&lt;br /&gt;
* http://www.panticz.de/migrate-lxc-container-to-lxd-with-zfs-storage&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
* verwendete links&lt;br /&gt;
** https://www.cyberciti.biz/faq/install-lxd-on-ubuntu-20-04-lts-using-apt/&lt;br /&gt;
** https://www.jamescoyle.net/how-to/2532-setting-cpu-resource-limits-with-lxc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* weitere&lt;br /&gt;
** https://linuxcontainers.org/lxd/getting-started-cli/#launch-an-instance&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5793</id>
		<title>Lxd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5793"/>
		<updated>2020-11-20T18:15:04Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
/etc/netplan/01-netcfg.yaml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  renderer: networkd&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s31f6:&lt;br /&gt;
      addresses:&lt;br /&gt;
        - X.X.X.X/32 # IP vom SERVER&lt;br /&gt;
        - 0x00:0x0:0x:0000::0/64&lt;br /&gt;
      routes:&lt;br /&gt;
        - on-link: true&lt;br /&gt;
          to: 0.0.0.0/0&lt;br /&gt;
          via: XX.XXX.XX.XX&lt;br /&gt;
      gateway6: fe80::1&lt;br /&gt;
      nameservers:&lt;br /&gt;
        addresses:&lt;br /&gt;
          - 213.133.XX.XX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
  bridges:&lt;br /&gt;
    vmbr0:&lt;br /&gt;
      addresses: [ X.X.X.X/28 ] #IP von der Bridge &lt;br /&gt;
      parameters:&lt;br /&gt;
        stp: false&lt;br /&gt;
        forward-delay: 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netplan apply &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt install lxd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
adduser nc&lt;br /&gt;
adduser lxd&lt;br /&gt;
adduser nc lxd&lt;br /&gt;
&lt;br /&gt;
lxd init&lt;br /&gt;
# /media/data/serverconf/lxd.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config: {}&lt;br /&gt;
networks: []&lt;br /&gt;
storage_pools:&lt;br /&gt;
- config:&lt;br /&gt;
    source: /dev/md2&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  name: default&lt;br /&gt;
  driver: zfs&lt;br /&gt;
profiles:&lt;br /&gt;
- config: {}&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  devices:&lt;br /&gt;
    eth0:&lt;br /&gt;
      name: eth0&lt;br /&gt;
      nictype: bridged&lt;br /&gt;
      parent: vmbr0&lt;br /&gt;
      type: nic&lt;br /&gt;
    root:&lt;br /&gt;
      path: /&lt;br /&gt;
      pool: default&lt;br /&gt;
      type: disk&lt;br /&gt;
  name: default&lt;br /&gt;
cluster: null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Befehle =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc list&lt;br /&gt;
lxc profile list&lt;br /&gt;
lxc network list&lt;br /&gt;
lxc storage list&lt;br /&gt;
lxc image list images:&lt;br /&gt;
lxc image list images: |egrep focal| egrep amd64&lt;br /&gt;
lxc image list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Begrenzungen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
limits.cpu 0,3&lt;br /&gt;
lxc config set ancencrypt limits.memory 1GB&lt;br /&gt;
&lt;br /&gt;
# Überprüfen&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
free -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration lxc Container zu lxd Container =&lt;br /&gt;
== Migrations Skript ==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if ! [ -d &amp;quot;/var/lib/lxc/$1&amp;quot; ] ; then&lt;br /&gt;
        echo /var/lib/lxc/$1 existiert nicht!&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 echo lxc image list images:&lt;br /&gt;
 echo es wird ubuntu:20.04 genomme&lt;br /&gt;
        besys=&#039;ubuntu:20.04&#039;&lt;br /&gt;
else&lt;br /&gt;
        besys=$2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo $0 $1 $besys&lt;br /&gt;
&lt;br /&gt;
CONTAINER_NAME=$1&lt;br /&gt;
STORAGE_POOL=default&lt;br /&gt;
STORAGEPATH=/var/snap/lxd/common/lxd/storage-pools/${STORAGE_POOL}/containers/&lt;br /&gt;
&lt;br /&gt;
lxc-stop -n ${CONTAINER_NAME}&lt;br /&gt;
lxc init $besys ${CONTAINER_NAME} -c security.privileged=true -c boot.autostart=true&lt;br /&gt;
#lxc stop ${CONTAINER_NAME}&lt;br /&gt;
#lxc config set ${CONTAINER_NAME} boot.autostart true&lt;br /&gt;
###&lt;br /&gt;
# zfs list&lt;br /&gt;
## Benutze NAME z.B default/containers/ncsync&lt;br /&gt;
zfs mount default/containers/${CONTAINER_NAME}&lt;br /&gt;
verschiebt den orginalen rootfs&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs{,.org}&lt;br /&gt;
rsync -ah --stats --progress  --numeric-ids /var/lib/lxc/${CONTAINER_NAME}/rootfs ${STORAGEPATH}${CONTAINER_NAME}/&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs/dev{,.org}&lt;br /&gt;
rsync -ah --stats --progress  ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org/dev ${STORAGEPATH}${CONTAINER_NAME}/rootfs/&lt;br /&gt;
rm -r ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org&lt;br /&gt;
umount ${STORAGEPATH}${CONTAINER_NAME}&lt;br /&gt;
#sed -i &#039;s|lxc.start.auto = .*|lxc.start.auto = 0|g&#039; /var/lib/lxc/${CONTAINER_NAME}/config&lt;br /&gt;
lxc config set ${CONTAINER_NAME} volatile.eth0.hwaddr $(grep lxc.net.0.hwaddr /var/lib/lxc/${CONTAINER_NAME}/config | cut -d&amp;quot;=&amp;quot; -f2)&lt;br /&gt;
lxc config show ${CONTAINER_NAME}&lt;br /&gt;
#lxc-ls -n ${CONTAINER_NAME} -f&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged true&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Weitergehende Möglichkeiten==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM storage_pools&amp;quot;&lt;br /&gt;
lxd sql global &amp;quot;Select * FROM profiles_devices_config&amp;quot;&lt;br /&gt;
# Zum Beispiel könnten Storages so umbenannt werden (evtl keine gute Idee!!!! )&lt;br /&gt;
lxd sql global &amp;quot;UPDATE storage_pools SET name=&#039;lxd300G01&#039; WHERE name=&#039;local&#039;;&lt;br /&gt;
lxd sql global &amp;quot;UPDATE profiles_devices_config SET value=&#039;lxd300G01&#039; WHERE value=&#039;local&#039; AND key=&#039;pool&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Probleme ==&lt;br /&gt;
* irgendwie mit symlinks&lt;br /&gt;
&lt;br /&gt;
* http://www.panticz.de/migrate-lxc-container-to-lxd-with-zfs-storage&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
* verwendete links&lt;br /&gt;
** https://www.cyberciti.biz/faq/install-lxd-on-ubuntu-20-04-lts-using-apt/&lt;br /&gt;
** https://www.jamescoyle.net/how-to/2532-setting-cpu-resource-limits-with-lxc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* weitere&lt;br /&gt;
** https://linuxcontainers.org/lxd/getting-started-cli/#launch-an-instance&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5792</id>
		<title>Lxd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5792"/>
		<updated>2020-11-20T18:04:35Z</updated>

		<summary type="html">&lt;p&gt;V: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
/etc/netplan/01-netcfg.yaml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  renderer: networkd&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s31f6:&lt;br /&gt;
      addresses:&lt;br /&gt;
        - X.X.X.X/32 # IP vom SERVER&lt;br /&gt;
        - 0x00:0x0:0x:0000::0/64&lt;br /&gt;
      routes:&lt;br /&gt;
        - on-link: true&lt;br /&gt;
          to: 0.0.0.0/0&lt;br /&gt;
          via: XX.XXX.XX.XX&lt;br /&gt;
      gateway6: fe80::1&lt;br /&gt;
      nameservers:&lt;br /&gt;
        addresses:&lt;br /&gt;
          - 213.133.XX.XX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
  bridges:&lt;br /&gt;
    vmbr0:&lt;br /&gt;
      addresses: [ X.X.X.X/28 ] #IP von der Bridge &lt;br /&gt;
      parameters:&lt;br /&gt;
        stp: false&lt;br /&gt;
        forward-delay: 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netplan apply &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt install lxd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
adduser nc&lt;br /&gt;
adduser lxd&lt;br /&gt;
adduser nc lxd&lt;br /&gt;
&lt;br /&gt;
lxd init&lt;br /&gt;
# /media/data/serverconf/lxd.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config: {}&lt;br /&gt;
networks: []&lt;br /&gt;
storage_pools:&lt;br /&gt;
- config:&lt;br /&gt;
    source: /dev/md2&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  name: default&lt;br /&gt;
  driver: zfs&lt;br /&gt;
profiles:&lt;br /&gt;
- config: {}&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  devices:&lt;br /&gt;
    eth0:&lt;br /&gt;
      name: eth0&lt;br /&gt;
      nictype: bridged&lt;br /&gt;
      parent: vmbr0&lt;br /&gt;
      type: nic&lt;br /&gt;
    root:&lt;br /&gt;
      path: /&lt;br /&gt;
      pool: default&lt;br /&gt;
      type: disk&lt;br /&gt;
  name: default&lt;br /&gt;
cluster: null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Befehle =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc list&lt;br /&gt;
lxc profile list&lt;br /&gt;
lxc network list&lt;br /&gt;
lxc storage list&lt;br /&gt;
lxc image list images:&lt;br /&gt;
lxc image list images: |egrep focal| egrep amd64&lt;br /&gt;
lxc image list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Begrenzungen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
limits.cpu 0,3&lt;br /&gt;
lxc config set ancencrypt limits.memory 1GB&lt;br /&gt;
&lt;br /&gt;
# Überprüfen&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
free -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration lxc Container zu lxd Container =&lt;br /&gt;
== Migrations Skript ==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if ! [ -d &amp;quot;/var/lib/lxc/$1&amp;quot; ] ; then&lt;br /&gt;
        echo /var/lib/lxc/$1 existiert nicht!&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 echo lxc image list images:&lt;br /&gt;
 echo es wird ubuntu:20.04 genomme&lt;br /&gt;
        besys=&#039;ubuntu:20.04&#039;&lt;br /&gt;
else&lt;br /&gt;
        besys=$2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo $0 $1 $besys&lt;br /&gt;
&lt;br /&gt;
CONTAINER_NAME=$1&lt;br /&gt;
STORAGE_POOL=default&lt;br /&gt;
STORAGEPATH=/var/snap/lxd/common/lxd/storage-pools/${STORAGE_POOL}/containers/&lt;br /&gt;
&lt;br /&gt;
lxc-stop -n ${CONTAINER_NAME}&lt;br /&gt;
lxc init $besys ${CONTAINER_NAME} -c security.privileged=true -c boot.autostart=true&lt;br /&gt;
#lxc stop ${CONTAINER_NAME}&lt;br /&gt;
#lxc config set ${CONTAINER_NAME} boot.autostart true&lt;br /&gt;
###&lt;br /&gt;
# zfs list&lt;br /&gt;
## Benutze NAME z.B default/containers/ncsync&lt;br /&gt;
zfs mount default/containers/${CONTAINER_NAME}&lt;br /&gt;
verschiebt den orginalen rootfs&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs{,.org}&lt;br /&gt;
rsync -ah --stats --progress  --numeric-ids /var/lib/lxc/${CONTAINER_NAME}/rootfs ${STORAGEPATH}${CONTAINER_NAME}/&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs/dev{,.org}&lt;br /&gt;
rsync -ah --stats --progress  ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org/dev ${STORAGEPATH}${CONTAINER_NAME}/rootfs/&lt;br /&gt;
rm -r ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org&lt;br /&gt;
umount ${STORAGEPATH}${CONTAINER_NAME}&lt;br /&gt;
#sed -i &#039;s|lxc.start.auto = .*|lxc.start.auto = 0|g&#039; /var/lib/lxc/${CONTAINER_NAME}/config&lt;br /&gt;
lxc config set ${CONTAINER_NAME} volatile.eth0.hwaddr $(grep lxc.net.0.hwaddr /var/lib/lxc/${CONTAINER_NAME}/config | cut -d&amp;quot;=&amp;quot; -f2)&lt;br /&gt;
lxc config show ${CONTAINER_NAME}&lt;br /&gt;
#lxc-ls -n ${CONTAINER_NAME} -f&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged true&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Probleme ==&lt;br /&gt;
* irgendwie mit symlinks&lt;br /&gt;
&lt;br /&gt;
* http://www.panticz.de/migrate-lxc-container-to-lxd-with-zfs-storage&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
* verwendete links&lt;br /&gt;
** https://www.cyberciti.biz/faq/install-lxd-on-ubuntu-20-04-lts-using-apt/&lt;br /&gt;
** https://www.jamescoyle.net/how-to/2532-setting-cpu-resource-limits-with-lxc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* weitere&lt;br /&gt;
** https://linuxcontainers.org/lxd/getting-started-cli/#launch-an-instance&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5791</id>
		<title>Lxd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5791"/>
		<updated>2020-11-20T18:03:42Z</updated>

		<summary type="html">&lt;p&gt;V: /* Befehle */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
/etc/netplan/01-netcfg.yaml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  renderer: networkd&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s31f6:&lt;br /&gt;
      addresses:&lt;br /&gt;
        - X.X.X.X/32 # IP vom SERVER&lt;br /&gt;
        - 0x00:0x0:0x:0000::0/64&lt;br /&gt;
      routes:&lt;br /&gt;
        - on-link: true&lt;br /&gt;
          to: 0.0.0.0/0&lt;br /&gt;
          via: 95.216.34.1&lt;br /&gt;
      gateway6: fe80::1&lt;br /&gt;
      nameservers:&lt;br /&gt;
        addresses:&lt;br /&gt;
          - 213.133.XX.XX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
  bridges:&lt;br /&gt;
    vmbr0:&lt;br /&gt;
      addresses: [ X.X.X.X/28 ] #IP von der Bridge &lt;br /&gt;
      parameters:&lt;br /&gt;
        stp: false&lt;br /&gt;
        forward-delay: 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netplan apply &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt install lxd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
adduser nc&lt;br /&gt;
adduser lxd&lt;br /&gt;
adduser nc lxd&lt;br /&gt;
&lt;br /&gt;
lxd init&lt;br /&gt;
# /media/data/serverconf/lxd.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config: {}&lt;br /&gt;
networks: []&lt;br /&gt;
storage_pools:&lt;br /&gt;
- config:&lt;br /&gt;
    source: /dev/md2&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  name: default&lt;br /&gt;
  driver: zfs&lt;br /&gt;
profiles:&lt;br /&gt;
- config: {}&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  devices:&lt;br /&gt;
    eth0:&lt;br /&gt;
      name: eth0&lt;br /&gt;
      nictype: bridged&lt;br /&gt;
      parent: vmbr0&lt;br /&gt;
      type: nic&lt;br /&gt;
    root:&lt;br /&gt;
      path: /&lt;br /&gt;
      pool: default&lt;br /&gt;
      type: disk&lt;br /&gt;
  name: default&lt;br /&gt;
cluster: null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Befehle =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc list&lt;br /&gt;
lxc profile list&lt;br /&gt;
lxc network list&lt;br /&gt;
lxc storage list&lt;br /&gt;
lxc image list images:&lt;br /&gt;
lxc image list images: |egrep focal| egrep amd64&lt;br /&gt;
lxc image list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Begrenzungen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
limits.cpu 0,3&lt;br /&gt;
lxc config set ancencrypt limits.memory 1GB&lt;br /&gt;
&lt;br /&gt;
# Überprüfen&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
free -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration lxc Container zu lxd Container =&lt;br /&gt;
== Migrations Skript ==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if ! [ -d &amp;quot;/var/lib/lxc/$1&amp;quot; ] ; then&lt;br /&gt;
        echo /var/lib/lxc/$1 existiert nicht!&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 echo lxc image list images:&lt;br /&gt;
 echo es wird ubuntu:20.04 genomme&lt;br /&gt;
        besys=&#039;ubuntu:20.04&#039;&lt;br /&gt;
else&lt;br /&gt;
        besys=$2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo $0 $1 $besys&lt;br /&gt;
&lt;br /&gt;
CONTAINER_NAME=$1&lt;br /&gt;
STORAGE_POOL=default&lt;br /&gt;
STORAGEPATH=/var/snap/lxd/common/lxd/storage-pools/${STORAGE_POOL}/containers/&lt;br /&gt;
&lt;br /&gt;
lxc-stop -n ${CONTAINER_NAME}&lt;br /&gt;
lxc init $besys ${CONTAINER_NAME} -c security.privileged=true -c boot.autostart=true&lt;br /&gt;
#lxc stop ${CONTAINER_NAME}&lt;br /&gt;
#lxc config set ${CONTAINER_NAME} boot.autostart true&lt;br /&gt;
###&lt;br /&gt;
# zfs list&lt;br /&gt;
## Benutze NAME z.B default/containers/ncsync&lt;br /&gt;
zfs mount default/containers/${CONTAINER_NAME}&lt;br /&gt;
verschiebt den orginalen rootfs&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs{,.org}&lt;br /&gt;
rsync -ah --stats --progress  --numeric-ids /var/lib/lxc/${CONTAINER_NAME}/rootfs ${STORAGEPATH}${CONTAINER_NAME}/&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs/dev{,.org}&lt;br /&gt;
rsync -ah --stats --progress  ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org/dev ${STORAGEPATH}${CONTAINER_NAME}/rootfs/&lt;br /&gt;
rm -r ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org&lt;br /&gt;
umount ${STORAGEPATH}${CONTAINER_NAME}&lt;br /&gt;
#sed -i &#039;s|lxc.start.auto = .*|lxc.start.auto = 0|g&#039; /var/lib/lxc/${CONTAINER_NAME}/config&lt;br /&gt;
lxc config set ${CONTAINER_NAME} volatile.eth0.hwaddr $(grep lxc.net.0.hwaddr /var/lib/lxc/${CONTAINER_NAME}/config | cut -d&amp;quot;=&amp;quot; -f2)&lt;br /&gt;
lxc config show ${CONTAINER_NAME}&lt;br /&gt;
#lxc-ls -n ${CONTAINER_NAME} -f&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged true&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Probleme ==&lt;br /&gt;
* irgendwie mit symlinks&lt;br /&gt;
&lt;br /&gt;
* http://www.panticz.de/migrate-lxc-container-to-lxd-with-zfs-storage&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
* verwendete links&lt;br /&gt;
** https://www.cyberciti.biz/faq/install-lxd-on-ubuntu-20-04-lts-using-apt/&lt;br /&gt;
** https://www.jamescoyle.net/how-to/2532-setting-cpu-resource-limits-with-lxc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* weitere&lt;br /&gt;
** https://linuxcontainers.org/lxd/getting-started-cli/#launch-an-instance&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5790</id>
		<title>Lxd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5790"/>
		<updated>2020-11-20T18:01:00Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
/etc/netplan/01-netcfg.yaml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  renderer: networkd&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s31f6:&lt;br /&gt;
      addresses:&lt;br /&gt;
        - X.X.X.X/32 # IP vom SERVER&lt;br /&gt;
        - 0x00:0x0:0x:0000::0/64&lt;br /&gt;
      routes:&lt;br /&gt;
        - on-link: true&lt;br /&gt;
          to: 0.0.0.0/0&lt;br /&gt;
          via: 95.216.34.1&lt;br /&gt;
      gateway6: fe80::1&lt;br /&gt;
      nameservers:&lt;br /&gt;
        addresses:&lt;br /&gt;
          - 213.133.XX.XX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
  bridges:&lt;br /&gt;
    vmbr0:&lt;br /&gt;
      addresses: [ X.X.X.X/28 ] #IP von der Bridge &lt;br /&gt;
      parameters:&lt;br /&gt;
        stp: false&lt;br /&gt;
        forward-delay: 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netplan apply &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt install lxd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
adduser nc&lt;br /&gt;
adduser lxd&lt;br /&gt;
adduser nc lxd&lt;br /&gt;
&lt;br /&gt;
lxd init&lt;br /&gt;
# /media/data/serverconf/lxd.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
config: {}&lt;br /&gt;
networks: []&lt;br /&gt;
storage_pools:&lt;br /&gt;
- config:&lt;br /&gt;
    source: /dev/md2&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  name: default&lt;br /&gt;
  driver: zfs&lt;br /&gt;
profiles:&lt;br /&gt;
- config: {}&lt;br /&gt;
  description: &amp;quot;&amp;quot;&lt;br /&gt;
  devices:&lt;br /&gt;
    eth0:&lt;br /&gt;
      name: eth0&lt;br /&gt;
      nictype: bridged&lt;br /&gt;
      parent: vmbr0&lt;br /&gt;
      type: nic&lt;br /&gt;
    root:&lt;br /&gt;
      path: /&lt;br /&gt;
      pool: default&lt;br /&gt;
      type: disk&lt;br /&gt;
  name: default&lt;br /&gt;
cluster: null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Befehle =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc list&lt;br /&gt;
lxc profile list&lt;br /&gt;
lxc network list&lt;br /&gt;
lxc storage list&lt;br /&gt;
lxc image list images:&lt;br /&gt;
lxc image list images: | grep -i ubuntu&lt;br /&gt;
lxc image list images: | grep -i ubuntu |egrep focal| egrep 64&lt;br /&gt;
lxc image list images: | grep -i ubuntu |egrep focal| egrep amd64&lt;br /&gt;
lxc list --fast&lt;br /&gt;
lxc list&lt;br /&gt;
lxc image list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Begrenzungen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
limits.cpu 0,3&lt;br /&gt;
lxc config set ancencrypt limits.memory 1GB&lt;br /&gt;
&lt;br /&gt;
# Überprüfen&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
free -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration lxc Container zu lxd Container =&lt;br /&gt;
== Migrations Skript ==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if ! [ -d &amp;quot;/var/lib/lxc/$1&amp;quot; ] ; then&lt;br /&gt;
        echo /var/lib/lxc/$1 existiert nicht!&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 echo lxc image list images:&lt;br /&gt;
 echo es wird ubuntu:20.04 genomme&lt;br /&gt;
        besys=&#039;ubuntu:20.04&#039;&lt;br /&gt;
else&lt;br /&gt;
        besys=$2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo $0 $1 $besys&lt;br /&gt;
&lt;br /&gt;
CONTAINER_NAME=$1&lt;br /&gt;
STORAGE_POOL=default&lt;br /&gt;
STORAGEPATH=/var/snap/lxd/common/lxd/storage-pools/${STORAGE_POOL}/containers/&lt;br /&gt;
&lt;br /&gt;
lxc-stop -n ${CONTAINER_NAME}&lt;br /&gt;
lxc init $besys ${CONTAINER_NAME} -c security.privileged=true -c boot.autostart=true&lt;br /&gt;
#lxc stop ${CONTAINER_NAME}&lt;br /&gt;
#lxc config set ${CONTAINER_NAME} boot.autostart true&lt;br /&gt;
###&lt;br /&gt;
# zfs list&lt;br /&gt;
## Benutze NAME z.B default/containers/ncsync&lt;br /&gt;
zfs mount default/containers/${CONTAINER_NAME}&lt;br /&gt;
verschiebt den orginalen rootfs&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs{,.org}&lt;br /&gt;
rsync -ah --stats --progress  --numeric-ids /var/lib/lxc/${CONTAINER_NAME}/rootfs ${STORAGEPATH}${CONTAINER_NAME}/&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs/dev{,.org}&lt;br /&gt;
rsync -ah --stats --progress  ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org/dev ${STORAGEPATH}${CONTAINER_NAME}/rootfs/&lt;br /&gt;
rm -r ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org&lt;br /&gt;
umount ${STORAGEPATH}${CONTAINER_NAME}&lt;br /&gt;
#sed -i &#039;s|lxc.start.auto = .*|lxc.start.auto = 0|g&#039; /var/lib/lxc/${CONTAINER_NAME}/config&lt;br /&gt;
lxc config set ${CONTAINER_NAME} volatile.eth0.hwaddr $(grep lxc.net.0.hwaddr /var/lib/lxc/${CONTAINER_NAME}/config | cut -d&amp;quot;=&amp;quot; -f2)&lt;br /&gt;
lxc config show ${CONTAINER_NAME}&lt;br /&gt;
#lxc-ls -n ${CONTAINER_NAME} -f&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged true&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Probleme ==&lt;br /&gt;
* irgendwie mit symlinks&lt;br /&gt;
&lt;br /&gt;
* http://www.panticz.de/migrate-lxc-container-to-lxd-with-zfs-storage&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
* verwendete links&lt;br /&gt;
** https://www.cyberciti.biz/faq/install-lxd-on-ubuntu-20-04-lts-using-apt/&lt;br /&gt;
** https://www.jamescoyle.net/how-to/2532-setting-cpu-resource-limits-with-lxc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* weitere&lt;br /&gt;
** https://linuxcontainers.org/lxd/getting-started-cli/#launch-an-instance&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5789</id>
		<title>Lxd</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxd&amp;diff=5789"/>
		<updated>2020-11-20T17:59:11Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
/etc/netplan/01-netcfg.yaml&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
network:&lt;br /&gt;
  version: 2&lt;br /&gt;
  renderer: networkd&lt;br /&gt;
  ethernets:&lt;br /&gt;
    enp0s31f6:&lt;br /&gt;
      addresses:&lt;br /&gt;
        - X.X.X.X/32 # IP vom SERVER&lt;br /&gt;
        - 0x00:0x0:0x:0000::0/64&lt;br /&gt;
      routes:&lt;br /&gt;
        - on-link: true&lt;br /&gt;
          to: 0.0.0.0/0&lt;br /&gt;
          via: 95.216.34.1&lt;br /&gt;
      gateway6: fe80::1&lt;br /&gt;
      nameservers:&lt;br /&gt;
        addresses:&lt;br /&gt;
          - 213.133.XX.XX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 213.133.XXX.XXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
          - 2a01:4f8:X:X::add:XXXX&lt;br /&gt;
  bridges:&lt;br /&gt;
    vmbr0:&lt;br /&gt;
      addresses: [ X.X.X.X/28 ] #IP von der Bridge &lt;br /&gt;
      parameters:&lt;br /&gt;
        stp: false&lt;br /&gt;
        forward-delay: 4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
netplan apply &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
apt install lxd&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
adduser nc&lt;br /&gt;
adduser lxd&lt;br /&gt;
adduser nc lxd&lt;br /&gt;
&lt;br /&gt;
lxd init&lt;br /&gt;
# /media/data/serverconf/lxd.yaml&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Befehle =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
lxc list&lt;br /&gt;
lxc profile list&lt;br /&gt;
lxc network list&lt;br /&gt;
lxc storage list&lt;br /&gt;
lxc image list images:&lt;br /&gt;
lxc image list images: | grep -i ubuntu&lt;br /&gt;
lxc image list images: | grep -i ubuntu |egrep focal| egrep 64&lt;br /&gt;
lxc image list images: | grep -i ubuntu |egrep focal| egrep amd64&lt;br /&gt;
lxc list --fast&lt;br /&gt;
lxc list&lt;br /&gt;
lxc image list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Begrenzungen ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
limits.cpu 0,3&lt;br /&gt;
lxc config set ancencrypt limits.memory 1GB&lt;br /&gt;
&lt;br /&gt;
# Überprüfen&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
free -h&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Migration lxc Container zu lxd Container =&lt;br /&gt;
== Migrations Skript ==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
if [ &amp;quot;$1&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if ! [ -d &amp;quot;/var/lib/lxc/$1&amp;quot; ] ; then&lt;br /&gt;
        echo /var/lib/lxc/$1 existiert nicht!&lt;br /&gt;
        exit&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$2&amp;quot; == &amp;quot;&amp;quot; ]; then&lt;br /&gt;
&lt;br /&gt;
 echo Beispiel: $0 containername betriebsystem&lt;br /&gt;
 echo lxc image list images:&lt;br /&gt;
 echo es wird ubuntu:20.04 genomme&lt;br /&gt;
        besys=&#039;ubuntu:20.04&#039;&lt;br /&gt;
else&lt;br /&gt;
        besys=$2&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo $0 $1 $besys&lt;br /&gt;
&lt;br /&gt;
CONTAINER_NAME=$1&lt;br /&gt;
STORAGE_POOL=default&lt;br /&gt;
STORAGEPATH=/var/snap/lxd/common/lxd/storage-pools/${STORAGE_POOL}/containers/&lt;br /&gt;
&lt;br /&gt;
lxc-stop -n ${CONTAINER_NAME}&lt;br /&gt;
lxc init $besys ${CONTAINER_NAME} -c security.privileged=true -c boot.autostart=true&lt;br /&gt;
#lxc stop ${CONTAINER_NAME}&lt;br /&gt;
#lxc config set ${CONTAINER_NAME} boot.autostart true&lt;br /&gt;
###&lt;br /&gt;
# zfs list&lt;br /&gt;
## Benutze NAME z.B default/containers/ncsync&lt;br /&gt;
zfs mount default/containers/${CONTAINER_NAME}&lt;br /&gt;
verschiebt den orginalen rootfs&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs{,.org}&lt;br /&gt;
rsync -ah --stats --progress  --numeric-ids /var/lib/lxc/${CONTAINER_NAME}/rootfs ${STORAGEPATH}${CONTAINER_NAME}/&lt;br /&gt;
mv ${STORAGEPATH}${CONTAINER_NAME}/rootfs/dev{,.org}&lt;br /&gt;
rsync -ah --stats --progress  ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org/dev ${STORAGEPATH}${CONTAINER_NAME}/rootfs/&lt;br /&gt;
rm -r ${STORAGEPATH}${CONTAINER_NAME}/rootfs.org&lt;br /&gt;
umount ${STORAGEPATH}${CONTAINER_NAME}&lt;br /&gt;
#sed -i &#039;s|lxc.start.auto = .*|lxc.start.auto = 0|g&#039; /var/lib/lxc/${CONTAINER_NAME}/config&lt;br /&gt;
lxc config set ${CONTAINER_NAME} volatile.eth0.hwaddr $(grep lxc.net.0.hwaddr /var/lib/lxc/${CONTAINER_NAME}/config | cut -d&amp;quot;=&amp;quot; -f2)&lt;br /&gt;
lxc config show ${CONTAINER_NAME}&lt;br /&gt;
#lxc-ls -n ${CONTAINER_NAME} -f&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged true&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc stop ${CONTAINER_NAME}&lt;br /&gt;
lxc config set ${CONTAINER_NAME}  security.privileged false&lt;br /&gt;
lxc start ${CONTAINER_NAME}&lt;br /&gt;
&lt;br /&gt;
lxc list&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== Probleme ==&lt;br /&gt;
* irgendwie mit symlinks&lt;br /&gt;
&lt;br /&gt;
* http://www.panticz.de/migrate-lxc-container-to-lxd-with-zfs-storage&lt;br /&gt;
&lt;br /&gt;
= Quellen =&lt;br /&gt;
* verwendete links&lt;br /&gt;
** https://www.cyberciti.biz/faq/install-lxd-on-ubuntu-20-04-lts-using-apt/&lt;br /&gt;
** https://www.jamescoyle.net/how-to/2532-setting-cpu-resource-limits-with-lxc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* weitere&lt;br /&gt;
** https://linuxcontainers.org/lxd/getting-started-cli/#launch-an-instance&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Ssmtp&amp;diff=5780</id>
		<title>Ssmtp</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Ssmtp&amp;diff=5780"/>
		<updated>2020-11-16T10:19:25Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Mails verschicken über z.B. PHP mit serverseitigen Konten&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
apt-get install ssmtp &lt;br /&gt;
&lt;br /&gt;
 /etc/ssmtp/revaliases&lt;br /&gt;
&amp;lt;source  lang=bash&amp;gt;&lt;br /&gt;
root:name@domain.tld:mx.domain.tld:25&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 /etc/ssmtp/ssmtp.conf&lt;br /&gt;
&amp;lt;source  lang=bash&amp;gt;&lt;br /&gt;
root=name@domain.tld&lt;br /&gt;
mailhub=mx.domain.tld&lt;br /&gt;
hostname=host.name@domain.tld&lt;br /&gt;
&lt;br /&gt;
#UseTLS=YES&lt;br /&gt;
UseSTARTTLS=YES&lt;br /&gt;
AuthUser=name@domain.tld&lt;br /&gt;
AuthPass=PASSWORD&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 From: anpassen (passt /etc/passwd an)&lt;br /&gt;
 chfn -f &#039;root name &#039; root&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxc&amp;diff=5775</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxc&amp;diff=5775"/>
		<updated>2020-11-03T12:34:27Z</updated>

		<summary type="html">&lt;p&gt;V: /* lxc beschränken CPU &amp;amp; MEMORY */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LXC Notizen ==&lt;br /&gt;
* [[ LXC auf Ubuntu 14.04-2 LTS ]]&lt;br /&gt;
* [[ LXC auf CentOS 7 ]]&lt;br /&gt;
* [[ LXC Routed Setup 2019]]&lt;br /&gt;
=== Host Allgemein ===&lt;br /&gt;
==== Passwort im Container setzen ====&lt;br /&gt;
 Passwörter können vom Host aus bequem mit chroot gesetzt werden&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /var/lib/lxc/CONTAINER&lt;br /&gt;
 chroot rootfs /bin/bash&lt;br /&gt;
 passwd&lt;br /&gt;
&amp;lt;/source&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
====Container Allgemein ====&lt;br /&gt;
 Die Netzwerkeinstellungen und der Hostname des Containers können automatischüber die config erzeugt werden &lt;br /&gt;
 Im Container:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 rm /etc/network/interfaces&lt;br /&gt;
 rm /etc/hostname&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 In der Containerconfig:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 vim /var/lib/lxc/CONTAINER/config&lt;br /&gt;
 lxc.network.type = veth&lt;br /&gt;
 lxc.network.flags = up&lt;br /&gt;
 lxc.network.link = lxcbr0 # Unter Debian benutzen wir br0&lt;br /&gt;
 lxc.network.hwaddr = XX:XX:XX:XX:XX:XX&lt;br /&gt;
 lxc.network.ipv4 = XXX.XXX.XXX.XXX/32 # IP des Containers&lt;br /&gt;
 lxc.network.ipv4.gateway = XXX.XXX.XXX.XXX # IP des Hosts&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Host Debian ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Host Ubuntu 14.04===&lt;br /&gt;
&lt;br /&gt;
==== Container mit Systemd starten ====&lt;br /&gt;
 Anpassen der Config des Containers&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Fehlermeldung verursacht von Apparmor:&lt;br /&gt;
Failed to mount cgroup at /sys/fs/cgroup/systemd: Permission denied       &lt;br /&gt;
&lt;br /&gt;
 vim /var/lib/lxc/CONTAINER/config&lt;br /&gt;
 lxc.kmsg = 0&lt;br /&gt;
 lxc.aa_profile = unconfined&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation eines Containers == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /var/lib/lxc&lt;br /&gt;
lxc-create -t download -n  ncphp73  -- --dist ubuntu --release bionic --arch amd64&lt;br /&gt;
cp  /var/lib/lxc/ncphp73/config  /var/lib/lxc/ncphp73/config.original20190418&lt;br /&gt;
vim /var/lib/lxc/ncphp73/config &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lxc-ls -f&lt;br /&gt;
lxc-start -n ncphp73 &lt;br /&gt;
lxc-ls -f&lt;br /&gt;
lxc-attach -n ncphp73 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver 8.8.8.8&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vim /etc/bash.bashrc &lt;br /&gt;
# bash-completion auskommentieren&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation von Software ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install wget bash-completion zip unzip rsync openssh-server openssh-sftp-server&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== Ex-Kurs apache mit php 7.3 ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install software-properties-common&lt;br /&gt;
add-apt-repository ppa:ondrej/php&lt;br /&gt;
add-apt-repository ppa:ondrej/apache2&lt;br /&gt;
apt-get update &lt;br /&gt;
apt-get install php7.3 php7.3-cli php7.3-common&lt;br /&gt;
apt-get install imagemagick apache2 libapache2-mod-php7.3 php7.3-cli php7.3 php7.3-common php7.3-imap php7.3-intl php7.3-mysql php7.3-readline php7.3-soap php7.3-zip php7.3-zip php7.3-gd php7.3-xml php7.3-gd php7.3-json php7.3-opcache php-imagick php7.3-curl php7.3-mbstring php7.3-bcmath php7.3-gmp php7.3-zip composer php7.3-curl php7.3-dev php7.3-gd php7.3-mbstring php7.3-zip php7.3-mysql php7.3-xml php7.3-fpm libapache2-mod-php7.3 php7.3-imagick php7.3-recode php7.3-tidy php7.3-xmlrpc php7.3-intl mysql-server-5.7 phpmyadmin apache2-utils&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.ubuntuusers.de/MySQL/#Besonderheiten-beim-root-Passwort mysql: Besonderheiten beim root Passwort]&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Software ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LXC Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== apparmor in lxc3 ===&lt;br /&gt;
&lt;br /&gt;
==== Lösung in LXC Host ====&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
vim /var/lib/lxc/anc_ox/config&lt;br /&gt;
# folgendes muss rein&lt;br /&gt;
lxc.apparmor.profile = generated&lt;br /&gt;
lxc.apparmor.allow_nesting = 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== apache ====&lt;br /&gt;
&lt;br /&gt;
* Fehlermeldung&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
systemctl status apache2.service&lt;br /&gt;
&lt;br /&gt;
● apache2.service - The Apache HTTP Server&lt;br /&gt;
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)&lt;br /&gt;
   Active: failed (Result: exit-code) since Wed 2019-12-18 14:58:03 UTC; 1min 19s ago&lt;br /&gt;
     Docs: https://httpd.apache.org/docs/2.4/&lt;br /&gt;
  Process: 204 ExecStart=/usr/sbin/apachectl start (code=exited, status=226/NAMESPACE)&lt;br /&gt;
&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: Starting The Apache HTTP Server...&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[204]: apache2.service: Failed to set up mount namespacing: Perm&lt;br /&gt;
ission denied&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[204]: apache2.service: Failed at step NAMESPACE spawning /usr/s&lt;br /&gt;
bin/apachectl: Permission denied&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: apache2.service: Control process exited, code=exited, statu&lt;br /&gt;
s=226/NAMESPACE&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: apache2.service: Failed with result &#039;exit-code&#039;.&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: Failed to start The Apache HTTP Server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lösung im Lxc Container&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
vim /etc/systemd/system/multi-user.target.wants/apache2.service&lt;br /&gt;
PrivateTmp=true #aus kommentieren &lt;br /&gt;
&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl restart  apache2.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* https://debianforum.de/forum/viewtopic.php?t=173972&lt;br /&gt;
&lt;br /&gt;
* Lösung in LXC Host&lt;br /&gt;
siehe oben [[lxc#Lösung in LXC Host]]&lt;br /&gt;
&lt;br /&gt;
==== mariadb ====&lt;br /&gt;
&lt;br /&gt;
* Fehlermeldung&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
systemctl status mariadb.service&lt;br /&gt;
● mariadb.service - MariaDB 10.3.18 database server&lt;br /&gt;
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)&lt;br /&gt;
   Active: failed (Result: exit-code) since Wed 2019-12-18 15:04:01 UTC; 5s ago&lt;br /&gt;
     Docs: man:mysqld(8)&lt;br /&gt;
           https://mariadb.com/kb/en/library/systemd/&lt;br /&gt;
  Process: 211 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=&lt;br /&gt;
226/NAMESPACE)&lt;br /&gt;
&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: Starting MariaDB 10.3.18 database server...&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[211]: mariadb.service: Failed to set up mount namespacing: Perm&lt;br /&gt;
ission denied&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[211]: mariadb.service: Failed at step NAMESPACE spawning /usr/b&lt;br /&gt;
in/install: Permission denied&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: mariadb.service: Control process exited, code=exited, statu&lt;br /&gt;
s=226/NAMESPACE&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: mariadb.service: Failed with result &#039;exit-code&#039;.&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: Failed to start MariaDB 10.3.18 database server.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lösung im Lxc Container&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
vim /etc/systemd/system/multi-user.target.wants/mariadb.service &lt;br /&gt;
# folgendes erstmal auskommentieren&lt;br /&gt;
# ProtectSystem=full&lt;br /&gt;
# PrivateDevices=true&lt;br /&gt;
# ProtectHome=true&lt;br /&gt;
&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl restart mariadb.service&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=920643&lt;br /&gt;
&lt;br /&gt;
* Lösung in LXC Host&lt;br /&gt;
siehe oben [[lxc#Lösung in LXC Host]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== lxc beschränken CPU &amp;amp; MEMORY ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# in lxc Container config&lt;br /&gt;
 /var/lib/lxc/$CONTAINERNAME/config&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# CPUs setzen&lt;br /&gt;
lxc.cgroup.cpuset.cpus=1,3&lt;br /&gt;
#Max MEMORY setzen&lt;br /&gt;
lxc.cgroup.memory.limit_in_bytes = 8096M&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# Check im Container Anzahl CPU&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
processor       : 0&lt;br /&gt;
processor       : 1&lt;br /&gt;
&lt;br /&gt;
# Check im Container Anzahl MEMORY&lt;br /&gt;
free -m&lt;br /&gt;
              total        used        free      shared  buff/cache   available&lt;br /&gt;
Mem:           8096         373        7706           2          15        7722&lt;br /&gt;
Swap:             0           0           0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== unter ubuntu 20.04 ===&lt;br /&gt;
hat erst funktioniert nach installation von:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
apt-get install lxcfs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxc&amp;diff=5774</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxc&amp;diff=5774"/>
		<updated>2020-11-03T11:26:07Z</updated>

		<summary type="html">&lt;p&gt;V: /* lxc beschränken CPU &amp;amp; MEMORY */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LXC Notizen ==&lt;br /&gt;
* [[ LXC auf Ubuntu 14.04-2 LTS ]]&lt;br /&gt;
* [[ LXC auf CentOS 7 ]]&lt;br /&gt;
* [[ LXC Routed Setup 2019]]&lt;br /&gt;
=== Host Allgemein ===&lt;br /&gt;
==== Passwort im Container setzen ====&lt;br /&gt;
 Passwörter können vom Host aus bequem mit chroot gesetzt werden&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /var/lib/lxc/CONTAINER&lt;br /&gt;
 chroot rootfs /bin/bash&lt;br /&gt;
 passwd&lt;br /&gt;
&amp;lt;/source&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
====Container Allgemein ====&lt;br /&gt;
 Die Netzwerkeinstellungen und der Hostname des Containers können automatischüber die config erzeugt werden &lt;br /&gt;
 Im Container:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 rm /etc/network/interfaces&lt;br /&gt;
 rm /etc/hostname&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 In der Containerconfig:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 vim /var/lib/lxc/CONTAINER/config&lt;br /&gt;
 lxc.network.type = veth&lt;br /&gt;
 lxc.network.flags = up&lt;br /&gt;
 lxc.network.link = lxcbr0 # Unter Debian benutzen wir br0&lt;br /&gt;
 lxc.network.hwaddr = XX:XX:XX:XX:XX:XX&lt;br /&gt;
 lxc.network.ipv4 = XXX.XXX.XXX.XXX/32 # IP des Containers&lt;br /&gt;
 lxc.network.ipv4.gateway = XXX.XXX.XXX.XXX # IP des Hosts&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Host Debian ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Host Ubuntu 14.04===&lt;br /&gt;
&lt;br /&gt;
==== Container mit Systemd starten ====&lt;br /&gt;
 Anpassen der Config des Containers&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Fehlermeldung verursacht von Apparmor:&lt;br /&gt;
Failed to mount cgroup at /sys/fs/cgroup/systemd: Permission denied       &lt;br /&gt;
&lt;br /&gt;
 vim /var/lib/lxc/CONTAINER/config&lt;br /&gt;
 lxc.kmsg = 0&lt;br /&gt;
 lxc.aa_profile = unconfined&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation eines Containers == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /var/lib/lxc&lt;br /&gt;
lxc-create -t download -n  ncphp73  -- --dist ubuntu --release bionic --arch amd64&lt;br /&gt;
cp  /var/lib/lxc/ncphp73/config  /var/lib/lxc/ncphp73/config.original20190418&lt;br /&gt;
vim /var/lib/lxc/ncphp73/config &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lxc-ls -f&lt;br /&gt;
lxc-start -n ncphp73 &lt;br /&gt;
lxc-ls -f&lt;br /&gt;
lxc-attach -n ncphp73 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver 8.8.8.8&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vim /etc/bash.bashrc &lt;br /&gt;
# bash-completion auskommentieren&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation von Software ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install wget bash-completion zip unzip rsync openssh-server openssh-sftp-server&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== Ex-Kurs apache mit php 7.3 ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install software-properties-common&lt;br /&gt;
add-apt-repository ppa:ondrej/php&lt;br /&gt;
add-apt-repository ppa:ondrej/apache2&lt;br /&gt;
apt-get update &lt;br /&gt;
apt-get install php7.3 php7.3-cli php7.3-common&lt;br /&gt;
apt-get install imagemagick apache2 libapache2-mod-php7.3 php7.3-cli php7.3 php7.3-common php7.3-imap php7.3-intl php7.3-mysql php7.3-readline php7.3-soap php7.3-zip php7.3-zip php7.3-gd php7.3-xml php7.3-gd php7.3-json php7.3-opcache php-imagick php7.3-curl php7.3-mbstring php7.3-bcmath php7.3-gmp php7.3-zip composer php7.3-curl php7.3-dev php7.3-gd php7.3-mbstring php7.3-zip php7.3-mysql php7.3-xml php7.3-fpm libapache2-mod-php7.3 php7.3-imagick php7.3-recode php7.3-tidy php7.3-xmlrpc php7.3-intl mysql-server-5.7 phpmyadmin apache2-utils&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.ubuntuusers.de/MySQL/#Besonderheiten-beim-root-Passwort mysql: Besonderheiten beim root Passwort]&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Software ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LXC Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== apparmor in lxc3 ===&lt;br /&gt;
&lt;br /&gt;
==== Lösung in LXC Host ====&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
vim /var/lib/lxc/anc_ox/config&lt;br /&gt;
# folgendes muss rein&lt;br /&gt;
lxc.apparmor.profile = generated&lt;br /&gt;
lxc.apparmor.allow_nesting = 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== apache ====&lt;br /&gt;
&lt;br /&gt;
* Fehlermeldung&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
systemctl status apache2.service&lt;br /&gt;
&lt;br /&gt;
● apache2.service - The Apache HTTP Server&lt;br /&gt;
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)&lt;br /&gt;
   Active: failed (Result: exit-code) since Wed 2019-12-18 14:58:03 UTC; 1min 19s ago&lt;br /&gt;
     Docs: https://httpd.apache.org/docs/2.4/&lt;br /&gt;
  Process: 204 ExecStart=/usr/sbin/apachectl start (code=exited, status=226/NAMESPACE)&lt;br /&gt;
&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: Starting The Apache HTTP Server...&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[204]: apache2.service: Failed to set up mount namespacing: Perm&lt;br /&gt;
ission denied&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[204]: apache2.service: Failed at step NAMESPACE spawning /usr/s&lt;br /&gt;
bin/apachectl: Permission denied&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: apache2.service: Control process exited, code=exited, statu&lt;br /&gt;
s=226/NAMESPACE&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: apache2.service: Failed with result &#039;exit-code&#039;.&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: Failed to start The Apache HTTP Server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lösung im Lxc Container&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
vim /etc/systemd/system/multi-user.target.wants/apache2.service&lt;br /&gt;
PrivateTmp=true #aus kommentieren &lt;br /&gt;
&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl restart  apache2.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* https://debianforum.de/forum/viewtopic.php?t=173972&lt;br /&gt;
&lt;br /&gt;
* Lösung in LXC Host&lt;br /&gt;
siehe oben [[lxc#Lösung in LXC Host]]&lt;br /&gt;
&lt;br /&gt;
==== mariadb ====&lt;br /&gt;
&lt;br /&gt;
* Fehlermeldung&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
systemctl status mariadb.service&lt;br /&gt;
● mariadb.service - MariaDB 10.3.18 database server&lt;br /&gt;
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)&lt;br /&gt;
   Active: failed (Result: exit-code) since Wed 2019-12-18 15:04:01 UTC; 5s ago&lt;br /&gt;
     Docs: man:mysqld(8)&lt;br /&gt;
           https://mariadb.com/kb/en/library/systemd/&lt;br /&gt;
  Process: 211 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=&lt;br /&gt;
226/NAMESPACE)&lt;br /&gt;
&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: Starting MariaDB 10.3.18 database server...&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[211]: mariadb.service: Failed to set up mount namespacing: Perm&lt;br /&gt;
ission denied&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[211]: mariadb.service: Failed at step NAMESPACE spawning /usr/b&lt;br /&gt;
in/install: Permission denied&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: mariadb.service: Control process exited, code=exited, statu&lt;br /&gt;
s=226/NAMESPACE&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: mariadb.service: Failed with result &#039;exit-code&#039;.&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: Failed to start MariaDB 10.3.18 database server.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lösung im Lxc Container&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
vim /etc/systemd/system/multi-user.target.wants/mariadb.service &lt;br /&gt;
# folgendes erstmal auskommentieren&lt;br /&gt;
# ProtectSystem=full&lt;br /&gt;
# PrivateDevices=true&lt;br /&gt;
# ProtectHome=true&lt;br /&gt;
&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl restart mariadb.service&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=920643&lt;br /&gt;
&lt;br /&gt;
* Lösung in LXC Host&lt;br /&gt;
siehe oben [[lxc#Lösung in LXC Host]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== lxc beschränken CPU &amp;amp; MEMORY ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# in lxc Container config&lt;br /&gt;
 /var/lib/lxc/$CONTAINERNAME/config&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# CPUs setzen&lt;br /&gt;
lxc.cgroup.cpuset.cpus=1,3&lt;br /&gt;
#Max MEMORY setzen&lt;br /&gt;
lxc.cgroup.memory.limit_in_bytes = 8096M&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# Check im Container Anzahl CPU&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
processor       : 0&lt;br /&gt;
processor       : 1&lt;br /&gt;
&lt;br /&gt;
# Check im Container Anzahl MEMORY&lt;br /&gt;
free -m&lt;br /&gt;
              total        used        free      shared  buff/cache   available&lt;br /&gt;
Mem:           8096         373        7706           2          15        7722&lt;br /&gt;
Swap:             0           0           0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxc&amp;diff=5773</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxc&amp;diff=5773"/>
		<updated>2020-11-03T11:24:13Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LXC Notizen ==&lt;br /&gt;
* [[ LXC auf Ubuntu 14.04-2 LTS ]]&lt;br /&gt;
* [[ LXC auf CentOS 7 ]]&lt;br /&gt;
* [[ LXC Routed Setup 2019]]&lt;br /&gt;
=== Host Allgemein ===&lt;br /&gt;
==== Passwort im Container setzen ====&lt;br /&gt;
 Passwörter können vom Host aus bequem mit chroot gesetzt werden&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /var/lib/lxc/CONTAINER&lt;br /&gt;
 chroot rootfs /bin/bash&lt;br /&gt;
 passwd&lt;br /&gt;
&amp;lt;/source&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
====Container Allgemein ====&lt;br /&gt;
 Die Netzwerkeinstellungen und der Hostname des Containers können automatischüber die config erzeugt werden &lt;br /&gt;
 Im Container:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 rm /etc/network/interfaces&lt;br /&gt;
 rm /etc/hostname&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 In der Containerconfig:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 vim /var/lib/lxc/CONTAINER/config&lt;br /&gt;
 lxc.network.type = veth&lt;br /&gt;
 lxc.network.flags = up&lt;br /&gt;
 lxc.network.link = lxcbr0 # Unter Debian benutzen wir br0&lt;br /&gt;
 lxc.network.hwaddr = XX:XX:XX:XX:XX:XX&lt;br /&gt;
 lxc.network.ipv4 = XXX.XXX.XXX.XXX/32 # IP des Containers&lt;br /&gt;
 lxc.network.ipv4.gateway = XXX.XXX.XXX.XXX # IP des Hosts&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Host Debian ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Host Ubuntu 14.04===&lt;br /&gt;
&lt;br /&gt;
==== Container mit Systemd starten ====&lt;br /&gt;
 Anpassen der Config des Containers&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Fehlermeldung verursacht von Apparmor:&lt;br /&gt;
Failed to mount cgroup at /sys/fs/cgroup/systemd: Permission denied       &lt;br /&gt;
&lt;br /&gt;
 vim /var/lib/lxc/CONTAINER/config&lt;br /&gt;
 lxc.kmsg = 0&lt;br /&gt;
 lxc.aa_profile = unconfined&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation eines Containers == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /var/lib/lxc&lt;br /&gt;
lxc-create -t download -n  ncphp73  -- --dist ubuntu --release bionic --arch amd64&lt;br /&gt;
cp  /var/lib/lxc/ncphp73/config  /var/lib/lxc/ncphp73/config.original20190418&lt;br /&gt;
vim /var/lib/lxc/ncphp73/config &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lxc-ls -f&lt;br /&gt;
lxc-start -n ncphp73 &lt;br /&gt;
lxc-ls -f&lt;br /&gt;
lxc-attach -n ncphp73 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver 8.8.8.8&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vim /etc/bash.bashrc &lt;br /&gt;
# bash-completion auskommentieren&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation von Software ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install wget bash-completion zip unzip rsync openssh-server openssh-sftp-server&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== Ex-Kurs apache mit php 7.3 ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install software-properties-common&lt;br /&gt;
add-apt-repository ppa:ondrej/php&lt;br /&gt;
add-apt-repository ppa:ondrej/apache2&lt;br /&gt;
apt-get update &lt;br /&gt;
apt-get install php7.3 php7.3-cli php7.3-common&lt;br /&gt;
apt-get install imagemagick apache2 libapache2-mod-php7.3 php7.3-cli php7.3 php7.3-common php7.3-imap php7.3-intl php7.3-mysql php7.3-readline php7.3-soap php7.3-zip php7.3-zip php7.3-gd php7.3-xml php7.3-gd php7.3-json php7.3-opcache php-imagick php7.3-curl php7.3-mbstring php7.3-bcmath php7.3-gmp php7.3-zip composer php7.3-curl php7.3-dev php7.3-gd php7.3-mbstring php7.3-zip php7.3-mysql php7.3-xml php7.3-fpm libapache2-mod-php7.3 php7.3-imagick php7.3-recode php7.3-tidy php7.3-xmlrpc php7.3-intl mysql-server-5.7 phpmyadmin apache2-utils&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.ubuntuusers.de/MySQL/#Besonderheiten-beim-root-Passwort mysql: Besonderheiten beim root Passwort]&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Software ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LXC Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== apparmor in lxc3 ===&lt;br /&gt;
&lt;br /&gt;
==== Lösung in LXC Host ====&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
vim /var/lib/lxc/anc_ox/config&lt;br /&gt;
# folgendes muss rein&lt;br /&gt;
lxc.apparmor.profile = generated&lt;br /&gt;
lxc.apparmor.allow_nesting = 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== apache ====&lt;br /&gt;
&lt;br /&gt;
* Fehlermeldung&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
systemctl status apache2.service&lt;br /&gt;
&lt;br /&gt;
● apache2.service - The Apache HTTP Server&lt;br /&gt;
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)&lt;br /&gt;
   Active: failed (Result: exit-code) since Wed 2019-12-18 14:58:03 UTC; 1min 19s ago&lt;br /&gt;
     Docs: https://httpd.apache.org/docs/2.4/&lt;br /&gt;
  Process: 204 ExecStart=/usr/sbin/apachectl start (code=exited, status=226/NAMESPACE)&lt;br /&gt;
&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: Starting The Apache HTTP Server...&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[204]: apache2.service: Failed to set up mount namespacing: Perm&lt;br /&gt;
ission denied&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[204]: apache2.service: Failed at step NAMESPACE spawning /usr/s&lt;br /&gt;
bin/apachectl: Permission denied&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: apache2.service: Control process exited, code=exited, statu&lt;br /&gt;
s=226/NAMESPACE&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: apache2.service: Failed with result &#039;exit-code&#039;.&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: Failed to start The Apache HTTP Server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lösung im Lxc Container&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
vim /etc/systemd/system/multi-user.target.wants/apache2.service&lt;br /&gt;
PrivateTmp=true #aus kommentieren &lt;br /&gt;
&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl restart  apache2.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* https://debianforum.de/forum/viewtopic.php?t=173972&lt;br /&gt;
&lt;br /&gt;
* Lösung in LXC Host&lt;br /&gt;
siehe oben [[lxc#Lösung in LXC Host]]&lt;br /&gt;
&lt;br /&gt;
==== mariadb ====&lt;br /&gt;
&lt;br /&gt;
* Fehlermeldung&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
systemctl status mariadb.service&lt;br /&gt;
● mariadb.service - MariaDB 10.3.18 database server&lt;br /&gt;
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)&lt;br /&gt;
   Active: failed (Result: exit-code) since Wed 2019-12-18 15:04:01 UTC; 5s ago&lt;br /&gt;
     Docs: man:mysqld(8)&lt;br /&gt;
           https://mariadb.com/kb/en/library/systemd/&lt;br /&gt;
  Process: 211 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=&lt;br /&gt;
226/NAMESPACE)&lt;br /&gt;
&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: Starting MariaDB 10.3.18 database server...&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[211]: mariadb.service: Failed to set up mount namespacing: Perm&lt;br /&gt;
ission denied&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[211]: mariadb.service: Failed at step NAMESPACE spawning /usr/b&lt;br /&gt;
in/install: Permission denied&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: mariadb.service: Control process exited, code=exited, statu&lt;br /&gt;
s=226/NAMESPACE&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: mariadb.service: Failed with result &#039;exit-code&#039;.&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: Failed to start MariaDB 10.3.18 database server.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lösung im Lxc Container&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
vim /etc/systemd/system/multi-user.target.wants/mariadb.service &lt;br /&gt;
# folgendes erstmal auskommentieren&lt;br /&gt;
# ProtectSystem=full&lt;br /&gt;
# PrivateDevices=true&lt;br /&gt;
# ProtectHome=true&lt;br /&gt;
&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl restart mariadb.service&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=920643&lt;br /&gt;
&lt;br /&gt;
* Lösung in LXC Host&lt;br /&gt;
siehe oben [[lxc#Lösung in LXC Host]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== lxc beschränken CPU &amp;amp; MEMORY ==&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# in lxc Container config&lt;br /&gt;
&lt;br /&gt;
# CPUs setzen&lt;br /&gt;
lxc.cgroup.cpuset.cpus=1,3&lt;br /&gt;
#Max MEMORY setzen&lt;br /&gt;
lxc.cgroup.memory.limit_in_bytes = 8096M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Check im Container Anzahl CPU&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
processor       : 0&lt;br /&gt;
processor       : 1&lt;br /&gt;
&lt;br /&gt;
# Check im Container Anzahl MEMORY&lt;br /&gt;
free -m&lt;br /&gt;
              total        used        free      shared  buff/cache   available&lt;br /&gt;
Mem:           8096         373        7706           2          15        7722&lt;br /&gt;
Swap:             0           0           0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxc&amp;diff=5772</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxc&amp;diff=5772"/>
		<updated>2020-11-03T11:23:46Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LXC Notizen ==&lt;br /&gt;
* [[ LXC auf Ubuntu 14.04-2 LTS ]]&lt;br /&gt;
* [[ LXC auf CentOS 7 ]]&lt;br /&gt;
* [[ LXC Routed Setup 2019]]&lt;br /&gt;
=== Host Allgemein ===&lt;br /&gt;
==== Passwort im Container setzen ====&lt;br /&gt;
 Passwörter können vom Host aus bequem mit chroot gesetzt werden&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /var/lib/lxc/CONTAINER&lt;br /&gt;
 chroot rootfs /bin/bash&lt;br /&gt;
 passwd&lt;br /&gt;
&amp;lt;/source&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
====Container Allgemein ====&lt;br /&gt;
 Die Netzwerkeinstellungen und der Hostname des Containers können automatischüber die config erzeugt werden &lt;br /&gt;
 Im Container:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 rm /etc/network/interfaces&lt;br /&gt;
 rm /etc/hostname&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 In der Containerconfig:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 vim /var/lib/lxc/CONTAINER/config&lt;br /&gt;
 lxc.network.type = veth&lt;br /&gt;
 lxc.network.flags = up&lt;br /&gt;
 lxc.network.link = lxcbr0 # Unter Debian benutzen wir br0&lt;br /&gt;
 lxc.network.hwaddr = XX:XX:XX:XX:XX:XX&lt;br /&gt;
 lxc.network.ipv4 = XXX.XXX.XXX.XXX/32 # IP des Containers&lt;br /&gt;
 lxc.network.ipv4.gateway = XXX.XXX.XXX.XXX # IP des Hosts&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Host Debian ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Host Ubuntu 14.04===&lt;br /&gt;
&lt;br /&gt;
==== Container mit Systemd starten ====&lt;br /&gt;
 Anpassen der Config des Containers&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Fehlermeldung verursacht von Apparmor:&lt;br /&gt;
Failed to mount cgroup at /sys/fs/cgroup/systemd: Permission denied       &lt;br /&gt;
&lt;br /&gt;
 vim /var/lib/lxc/CONTAINER/config&lt;br /&gt;
 lxc.kmsg = 0&lt;br /&gt;
 lxc.aa_profile = unconfined&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation eines Containers == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /var/lib/lxc&lt;br /&gt;
lxc-create -t download -n  ncphp73  -- --dist ubuntu --release bionic --arch amd64&lt;br /&gt;
cp  /var/lib/lxc/ncphp73/config  /var/lib/lxc/ncphp73/config.original20190418&lt;br /&gt;
vim /var/lib/lxc/ncphp73/config &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lxc-ls -f&lt;br /&gt;
lxc-start -n ncphp73 &lt;br /&gt;
lxc-ls -f&lt;br /&gt;
lxc-attach -n ncphp73 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver 8.8.8.8&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vim /etc/bash.bashrc &lt;br /&gt;
# bash-completion auskommentieren&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation von Software ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install wget bash-completion zip unzip rsync openssh-server openssh-sftp-server&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== Ex-Kurs apache mit php 7.3 ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install software-properties-common&lt;br /&gt;
add-apt-repository ppa:ondrej/php&lt;br /&gt;
add-apt-repository ppa:ondrej/apache2&lt;br /&gt;
apt-get update &lt;br /&gt;
apt-get install php7.3 php7.3-cli php7.3-common&lt;br /&gt;
apt-get install imagemagick apache2 libapache2-mod-php7.3 php7.3-cli php7.3 php7.3-common php7.3-imap php7.3-intl php7.3-mysql php7.3-readline php7.3-soap php7.3-zip php7.3-zip php7.3-gd php7.3-xml php7.3-gd php7.3-json php7.3-opcache php-imagick php7.3-curl php7.3-mbstring php7.3-bcmath php7.3-gmp php7.3-zip composer php7.3-curl php7.3-dev php7.3-gd php7.3-mbstring php7.3-zip php7.3-mysql php7.3-xml php7.3-fpm libapache2-mod-php7.3 php7.3-imagick php7.3-recode php7.3-tidy php7.3-xmlrpc php7.3-intl mysql-server-5.7 phpmyadmin apache2-utils&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.ubuntuusers.de/MySQL/#Besonderheiten-beim-root-Passwort mysql: Besonderheiten beim root Passwort]&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Software ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LXC Probleme ==&lt;br /&gt;
&lt;br /&gt;
=== apparmor in lxc3 ===&lt;br /&gt;
&lt;br /&gt;
==== Lösung in LXC Host ====&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
vim /var/lib/lxc/anc_ox/config&lt;br /&gt;
# folgendes muss rein&lt;br /&gt;
lxc.apparmor.profile = generated&lt;br /&gt;
lxc.apparmor.allow_nesting = 1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== apache ====&lt;br /&gt;
&lt;br /&gt;
* Fehlermeldung&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
systemctl status apache2.service&lt;br /&gt;
&lt;br /&gt;
● apache2.service - The Apache HTTP Server&lt;br /&gt;
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)&lt;br /&gt;
   Active: failed (Result: exit-code) since Wed 2019-12-18 14:58:03 UTC; 1min 19s ago&lt;br /&gt;
     Docs: https://httpd.apache.org/docs/2.4/&lt;br /&gt;
  Process: 204 ExecStart=/usr/sbin/apachectl start (code=exited, status=226/NAMESPACE)&lt;br /&gt;
&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: Starting The Apache HTTP Server...&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[204]: apache2.service: Failed to set up mount namespacing: Perm&lt;br /&gt;
ission denied&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[204]: apache2.service: Failed at step NAMESPACE spawning /usr/s&lt;br /&gt;
bin/apachectl: Permission denied&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: apache2.service: Control process exited, code=exited, statu&lt;br /&gt;
s=226/NAMESPACE&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: apache2.service: Failed with result &#039;exit-code&#039;.&lt;br /&gt;
Dec 18 14:58:03 ancox systemd[1]: Failed to start The Apache HTTP Server.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lösung im Lxc Container&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
vim /etc/systemd/system/multi-user.target.wants/apache2.service&lt;br /&gt;
PrivateTmp=true #aus kommentieren &lt;br /&gt;
&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl restart  apache2.service&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* https://debianforum.de/forum/viewtopic.php?t=173972&lt;br /&gt;
&lt;br /&gt;
* Lösung in LXC Host&lt;br /&gt;
siehe oben [[lxc#Lösung in LXC Host]]&lt;br /&gt;
&lt;br /&gt;
==== mariadb ====&lt;br /&gt;
&lt;br /&gt;
* Fehlermeldung&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
systemctl status mariadb.service&lt;br /&gt;
● mariadb.service - MariaDB 10.3.18 database server&lt;br /&gt;
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)&lt;br /&gt;
   Active: failed (Result: exit-code) since Wed 2019-12-18 15:04:01 UTC; 5s ago&lt;br /&gt;
     Docs: man:mysqld(8)&lt;br /&gt;
           https://mariadb.com/kb/en/library/systemd/&lt;br /&gt;
  Process: 211 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=&lt;br /&gt;
226/NAMESPACE)&lt;br /&gt;
&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: Starting MariaDB 10.3.18 database server...&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[211]: mariadb.service: Failed to set up mount namespacing: Perm&lt;br /&gt;
ission denied&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[211]: mariadb.service: Failed at step NAMESPACE spawning /usr/b&lt;br /&gt;
in/install: Permission denied&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: mariadb.service: Control process exited, code=exited, statu&lt;br /&gt;
s=226/NAMESPACE&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: mariadb.service: Failed with result &#039;exit-code&#039;.&lt;br /&gt;
Dec 18 15:04:01 ancox systemd[1]: Failed to start MariaDB 10.3.18 database server.&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Lösung im Lxc Container&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
vim /etc/systemd/system/multi-user.target.wants/mariadb.service &lt;br /&gt;
# folgendes erstmal auskommentieren&lt;br /&gt;
# ProtectSystem=full&lt;br /&gt;
# PrivateDevices=true&lt;br /&gt;
# ProtectHome=true&lt;br /&gt;
&lt;br /&gt;
systemctl daemon-reload&lt;br /&gt;
systemctl restart mariadb.service&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=920643&lt;br /&gt;
&lt;br /&gt;
* Lösung in LXC Host&lt;br /&gt;
siehe oben [[lxc#Lösung in LXC Host]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== lxc beschränken CPU &amp;amp; MEMORY ===&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# in lxc Container config&lt;br /&gt;
&lt;br /&gt;
# CPUs setzen&lt;br /&gt;
lxc.cgroup.cpuset.cpus=1,3&lt;br /&gt;
#Max MEMORY setzen&lt;br /&gt;
lxc.cgroup.memory.limit_in_bytes = 8096M&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Check im Container Anzahl CPU&lt;br /&gt;
cat /proc/cpuinfo | grep processor&lt;br /&gt;
processor       : 0&lt;br /&gt;
processor       : 1&lt;br /&gt;
&lt;br /&gt;
# Check im Container Anzahl MEMORY&lt;br /&gt;
free -m&lt;br /&gt;
              total        used        free      shared  buff/cache   available&lt;br /&gt;
Mem:           8096         373        7706           2          15        7722&lt;br /&gt;
Swap:             0           0           0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Firebird&amp;diff=5743</id>
		<title>Firebird</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Firebird&amp;diff=5743"/>
		<updated>2020-07-08T13:31:57Z</updated>

		<summary type="html">&lt;p&gt;V: /* Subselect mit list() */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
https://firebirdsql.org/file/documentation/reference_manuals/html/de/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= info über datenbank  = &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbstat DATABASENAME -header&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= connect to database =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# isql-fb -user sysdba -password masterkey localhost:employee&lt;br /&gt;
isql-fb -user sysdba -password masterkey &amp;quot;/path/to/db/file.fdb&amp;quot;&lt;br /&gt;
isql-fb -user sysdba -password masterkey 192.168.0.123/123:DB -i file.sql&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Monitor Tabellen =&lt;br /&gt;
&lt;br /&gt;
https://firebirdsql.org/file/documentation/reference_manuals/html/de/fblangref25-appx05-montables-de.html&lt;br /&gt;
&lt;br /&gt;
* Systemtabelle 	Inhalte&lt;br /&gt;
** MON$IO_STATS 	Input/Output-Statistiken (beinhaltet Primärschlüssel MON$STAT_ID)&lt;br /&gt;
*** MON$ATTACHMENTS 	Informationen über aktive Datenbankattachments&lt;br /&gt;
*** MON$CALL_STACK 	Stackaufrufe von aktiven Abfragen durch Stored Procedures und Trigger&lt;br /&gt;
*** MON$DATABASE 	Informationen über die Datenbank, welche durch die CURRENT_CONNECTION verbunden ist&lt;br /&gt;
*** MON$STATEMENTS 	Zur Ausführung vorbereitete Statements&lt;br /&gt;
*** MON$TRANSACTIONS 	Gestartete Transaktionen&lt;br /&gt;
** MON$CONTEXT_VARIABLES 	Informationen zu benutzerdefinierten Kontextvariablen&lt;br /&gt;
** MON$MEMORY_USAGE 	Statistiken über den Speicherverbrauch&lt;br /&gt;
** MON$RECORD_STATS 	Record-Level-Statistiken&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== zeige aktuelle sql queries an die ausgeführt werden == &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SELECT * &lt;br /&gt;
FROM MON$IO_STATS AS ncstats&lt;br /&gt;
LEFT JOIN MON$STATEMENTS AS ncstatements ON ncstats.MON$STAT_ID = ncstatements.MON$STAT_ID&lt;br /&gt;
WHERE ncstatements.MON$SQL_TEXT IS NOT NULL&lt;br /&gt;
ORDER BY ncstats.MON$STAT_GROUP;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== zeige angemeldete user an ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
-- Information about the database connections&lt;br /&gt;
SELECT&lt;br /&gt;
       a.mon$attachment_id as Attachment_ID,&lt;br /&gt;
       a.mon$server_pid as Server_PID, &lt;br /&gt;
       case a.mon$state &lt;br /&gt;
          when 1 then &#039;active&#039;&lt;br /&gt;
          when 0 then &#039;idle&#039;&lt;br /&gt;
       end as State, &lt;br /&gt;
       a.mon$attachment_name as Database_Name, &lt;br /&gt;
       a.mon$user as User_Name, &lt;br /&gt;
       a.mon$role as Role_Name, &lt;br /&gt;
       a.mon$remote_address as  ip4,&lt;br /&gt;
       a.mon$remote_os_user AS osuser,&lt;br /&gt;
       a.mon$remote_host AS host,&lt;br /&gt;
       a.mon$remote_pid as Remote_PID,  &lt;br /&gt;
       a.mon$timestamp as Established_At,&lt;br /&gt;
       case a.mon$garbage_collection &lt;br /&gt;
          when 1 then &#039;allowed&#039;&lt;br /&gt;
          when 0 then &#039;not allowed&#039;&lt;br /&gt;
       end as Garbage_Collection, &lt;br /&gt;
       a.mon$remote_process as Remote_Process, &lt;br /&gt;
       a.mon$stat_id as stat_id&lt;br /&gt;
    FROM&lt;br /&gt;
       mon$attachments a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* https://ib-aid.com/download/docs/firebird-language-reference-2.5/fblangref-appx05-monattach.html&lt;br /&gt;
* https://riptutorial.com/firebird/example/18210/get-information-about-attachments-on-the-connected-database&lt;br /&gt;
&lt;br /&gt;
== zeige andere Informationen == &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
select  * from MON$DATABASE  ;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= fbtrace / fbsvcmgr - zeige/capture/log sql queries =&lt;br /&gt;
&lt;br /&gt;
* /etc/firebird/3.0/fbtrace.conf&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
database&lt;br /&gt;
{&lt;br /&gt;
        # Do we trace database events or not&lt;br /&gt;
        enabled = true&lt;br /&gt;
&lt;br /&gt;
        #include_filter = select&lt;br /&gt;
        #exclude_filter&lt;br /&gt;
&lt;br /&gt;
        # Put sql statement execution start records&lt;br /&gt;
         log_statement_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put record when stored procedure is start execution&lt;br /&gt;
        log_procedure_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put record when stored function is start execution&lt;br /&gt;
        log_function_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put trigger execute records&lt;br /&gt;
        log_trigger_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put errors happened&lt;br /&gt;
        log_errors = true&lt;br /&gt;
&lt;br /&gt;
        # Put warnings&lt;br /&gt;
        log_warnings = true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* firebird neu starten&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# für änderungen in fbtrace.conf bedarf es nicht unbedingt ein neustart&lt;br /&gt;
systemctl restart firebird3.0.service&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* service (daemon) starten&lt;br /&gt;
** hier wird jetzt auch erstmal alles ausgegeben &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbsvcmgr service_mgr action_trace_start trc_name &amp;quot;nctrace&amp;quot; trc_cfg fbtrace.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* fbsvcmgr: auf anderer konsole kann nun der service gestartet, pausiert und abgeschossen werden&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# zeige laufende services&lt;br /&gt;
fbsvcmgr service_mgr action_trace_list&lt;br /&gt;
fbtracemgr -SE service_mgr -USER SYSDBA  -LIST&lt;br /&gt;
# mach ne pause server 2&lt;br /&gt;
fbsvcmgr service_mgr action_trace_suspend trc_id 2&lt;br /&gt;
# mach weiter&lt;br /&gt;
fbsvcmgr service_mgr action_trace_resume trc_id 2&lt;br /&gt;
# beende serice &lt;br /&gt;
fbsvcmgr service_mgr action_trace_stop trc_id 2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* noch mal .. zeige nur die sql querrys &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbsvcmgr service_mgr action_trace_start trc_name &amp;quot;nctrace&amp;quot; trc_cfg /etc/firebird/3.0/fbtrace.conf  | grep -vi &#039;TRACE\|FREE_STATEMENT\|security3.fdb\|CLOSE_CURSOR\|TCPv4:\|isql-fb\|Statement\|------------------------\|PLG\$\|RDB\$&#039; &amp;gt;&amp;gt; /home/firebird/log/db.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= sql = &lt;br /&gt;
&lt;br /&gt;
== Common Table Expressions („WITH ... AS ... SELECT“) ==&lt;br /&gt;
* https://firebirdsql.org/file/documentation/reference_manuals/html/de/fblangref25-dml-select-de.html#fblangref25-dml-select-cte-de&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
with ... as (&lt;br /&gt;
  select ...&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Optimierungen bei Abfragen  = &lt;br /&gt;
* aus &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
in(&#039;1&#039;,&#039;2&#039;,&#039;3&#039;,&#039;5&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wird&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
between &#039;1&#039; and &#039;3&#039; or ...=&#039;8&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Beispiele  = &lt;br /&gt;
== Subselect mit LIST() ==&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
select&lt;br /&gt;
       bek.ID&lt;br /&gt;
     , bek.BELEGNR&lt;br /&gt;
     , (&lt;br /&gt;
        SELECT LIST(coalesce (BEP.ID,&#039;0&#039;) || &#039;,&#039;|| coalesce (BEP.LIEFERTERMIN,&#039;2000-01-01&#039;) || &#039;,&#039;|| coalesce (BEP.VORGABE_KOMM_BEHAELTNIS,&#039;0&#039;) || &#039;,&#039;||coalesce  (BEP.FIXTERMIN,&#039;2000-01-01&#039;),&#039;;&#039;  ) FROM BEP WHERE BEP.BELEGSCHLUESSEL = bek.BELEGSCHLUESSEL&lt;br /&gt;
       ) AS Positionen&lt;br /&gt;
from bek&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Firebird&amp;diff=5742</id>
		<title>Firebird</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Firebird&amp;diff=5742"/>
		<updated>2020-07-08T13:31:42Z</updated>

		<summary type="html">&lt;p&gt;V: /* Subselect mit List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
https://firebirdsql.org/file/documentation/reference_manuals/html/de/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= info über datenbank  = &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbstat DATABASENAME -header&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= connect to database =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# isql-fb -user sysdba -password masterkey localhost:employee&lt;br /&gt;
isql-fb -user sysdba -password masterkey &amp;quot;/path/to/db/file.fdb&amp;quot;&lt;br /&gt;
isql-fb -user sysdba -password masterkey 192.168.0.123/123:DB -i file.sql&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Monitor Tabellen =&lt;br /&gt;
&lt;br /&gt;
https://firebirdsql.org/file/documentation/reference_manuals/html/de/fblangref25-appx05-montables-de.html&lt;br /&gt;
&lt;br /&gt;
* Systemtabelle 	Inhalte&lt;br /&gt;
** MON$IO_STATS 	Input/Output-Statistiken (beinhaltet Primärschlüssel MON$STAT_ID)&lt;br /&gt;
*** MON$ATTACHMENTS 	Informationen über aktive Datenbankattachments&lt;br /&gt;
*** MON$CALL_STACK 	Stackaufrufe von aktiven Abfragen durch Stored Procedures und Trigger&lt;br /&gt;
*** MON$DATABASE 	Informationen über die Datenbank, welche durch die CURRENT_CONNECTION verbunden ist&lt;br /&gt;
*** MON$STATEMENTS 	Zur Ausführung vorbereitete Statements&lt;br /&gt;
*** MON$TRANSACTIONS 	Gestartete Transaktionen&lt;br /&gt;
** MON$CONTEXT_VARIABLES 	Informationen zu benutzerdefinierten Kontextvariablen&lt;br /&gt;
** MON$MEMORY_USAGE 	Statistiken über den Speicherverbrauch&lt;br /&gt;
** MON$RECORD_STATS 	Record-Level-Statistiken&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== zeige aktuelle sql queries an die ausgeführt werden == &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SELECT * &lt;br /&gt;
FROM MON$IO_STATS AS ncstats&lt;br /&gt;
LEFT JOIN MON$STATEMENTS AS ncstatements ON ncstats.MON$STAT_ID = ncstatements.MON$STAT_ID&lt;br /&gt;
WHERE ncstatements.MON$SQL_TEXT IS NOT NULL&lt;br /&gt;
ORDER BY ncstats.MON$STAT_GROUP;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== zeige angemeldete user an ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
-- Information about the database connections&lt;br /&gt;
SELECT&lt;br /&gt;
       a.mon$attachment_id as Attachment_ID,&lt;br /&gt;
       a.mon$server_pid as Server_PID, &lt;br /&gt;
       case a.mon$state &lt;br /&gt;
          when 1 then &#039;active&#039;&lt;br /&gt;
          when 0 then &#039;idle&#039;&lt;br /&gt;
       end as State, &lt;br /&gt;
       a.mon$attachment_name as Database_Name, &lt;br /&gt;
       a.mon$user as User_Name, &lt;br /&gt;
       a.mon$role as Role_Name, &lt;br /&gt;
       a.mon$remote_address as  ip4,&lt;br /&gt;
       a.mon$remote_os_user AS osuser,&lt;br /&gt;
       a.mon$remote_host AS host,&lt;br /&gt;
       a.mon$remote_pid as Remote_PID,  &lt;br /&gt;
       a.mon$timestamp as Established_At,&lt;br /&gt;
       case a.mon$garbage_collection &lt;br /&gt;
          when 1 then &#039;allowed&#039;&lt;br /&gt;
          when 0 then &#039;not allowed&#039;&lt;br /&gt;
       end as Garbage_Collection, &lt;br /&gt;
       a.mon$remote_process as Remote_Process, &lt;br /&gt;
       a.mon$stat_id as stat_id&lt;br /&gt;
    FROM&lt;br /&gt;
       mon$attachments a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* https://ib-aid.com/download/docs/firebird-language-reference-2.5/fblangref-appx05-monattach.html&lt;br /&gt;
* https://riptutorial.com/firebird/example/18210/get-information-about-attachments-on-the-connected-database&lt;br /&gt;
&lt;br /&gt;
== zeige andere Informationen == &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
select  * from MON$DATABASE  ;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= fbtrace / fbsvcmgr - zeige/capture/log sql queries =&lt;br /&gt;
&lt;br /&gt;
* /etc/firebird/3.0/fbtrace.conf&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
database&lt;br /&gt;
{&lt;br /&gt;
        # Do we trace database events or not&lt;br /&gt;
        enabled = true&lt;br /&gt;
&lt;br /&gt;
        #include_filter = select&lt;br /&gt;
        #exclude_filter&lt;br /&gt;
&lt;br /&gt;
        # Put sql statement execution start records&lt;br /&gt;
         log_statement_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put record when stored procedure is start execution&lt;br /&gt;
        log_procedure_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put record when stored function is start execution&lt;br /&gt;
        log_function_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put trigger execute records&lt;br /&gt;
        log_trigger_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put errors happened&lt;br /&gt;
        log_errors = true&lt;br /&gt;
&lt;br /&gt;
        # Put warnings&lt;br /&gt;
        log_warnings = true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* firebird neu starten&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# für änderungen in fbtrace.conf bedarf es nicht unbedingt ein neustart&lt;br /&gt;
systemctl restart firebird3.0.service&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* service (daemon) starten&lt;br /&gt;
** hier wird jetzt auch erstmal alles ausgegeben &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbsvcmgr service_mgr action_trace_start trc_name &amp;quot;nctrace&amp;quot; trc_cfg fbtrace.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* fbsvcmgr: auf anderer konsole kann nun der service gestartet, pausiert und abgeschossen werden&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# zeige laufende services&lt;br /&gt;
fbsvcmgr service_mgr action_trace_list&lt;br /&gt;
fbtracemgr -SE service_mgr -USER SYSDBA  -LIST&lt;br /&gt;
# mach ne pause server 2&lt;br /&gt;
fbsvcmgr service_mgr action_trace_suspend trc_id 2&lt;br /&gt;
# mach weiter&lt;br /&gt;
fbsvcmgr service_mgr action_trace_resume trc_id 2&lt;br /&gt;
# beende serice &lt;br /&gt;
fbsvcmgr service_mgr action_trace_stop trc_id 2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* noch mal .. zeige nur die sql querrys &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbsvcmgr service_mgr action_trace_start trc_name &amp;quot;nctrace&amp;quot; trc_cfg /etc/firebird/3.0/fbtrace.conf  | grep -vi &#039;TRACE\|FREE_STATEMENT\|security3.fdb\|CLOSE_CURSOR\|TCPv4:\|isql-fb\|Statement\|------------------------\|PLG\$\|RDB\$&#039; &amp;gt;&amp;gt; /home/firebird/log/db.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= sql = &lt;br /&gt;
&lt;br /&gt;
== Common Table Expressions („WITH ... AS ... SELECT“) ==&lt;br /&gt;
* https://firebirdsql.org/file/documentation/reference_manuals/html/de/fblangref25-dml-select-de.html#fblangref25-dml-select-cte-de&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
with ... as (&lt;br /&gt;
  select ...&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Optimierungen bei Abfragen  = &lt;br /&gt;
* aus &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
in(&#039;1&#039;,&#039;2&#039;,&#039;3&#039;,&#039;5&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wird&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
between &#039;1&#039; and &#039;3&#039; or ...=&#039;8&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Beispiele  = &lt;br /&gt;
== Subselect mit list() ==&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
select&lt;br /&gt;
       bek.ID&lt;br /&gt;
     , bek.BELEGNR&lt;br /&gt;
     , (&lt;br /&gt;
        SELECT LIST(coalesce (BEP.ID,&#039;0&#039;) || &#039;,&#039;|| coalesce (BEP.LIEFERTERMIN,&#039;2000-01-01&#039;) || &#039;,&#039;|| coalesce (BEP.VORGABE_KOMM_BEHAELTNIS,&#039;0&#039;) || &#039;,&#039;||coalesce  (BEP.FIXTERMIN,&#039;2000-01-01&#039;),&#039;;&#039;  ) FROM BEP WHERE BEP.BELEGSCHLUESSEL = bek.BELEGSCHLUESSEL&lt;br /&gt;
       ) AS Positionen&lt;br /&gt;
from bek&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Firebird&amp;diff=5741</id>
		<title>Firebird</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Firebird&amp;diff=5741"/>
		<updated>2020-07-08T13:31:14Z</updated>

		<summary type="html">&lt;p&gt;V: /* Beispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
https://firebirdsql.org/file/documentation/reference_manuals/html/de/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= info über datenbank  = &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbstat DATABASENAME -header&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= connect to database =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# isql-fb -user sysdba -password masterkey localhost:employee&lt;br /&gt;
isql-fb -user sysdba -password masterkey &amp;quot;/path/to/db/file.fdb&amp;quot;&lt;br /&gt;
isql-fb -user sysdba -password masterkey 192.168.0.123/123:DB -i file.sql&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Monitor Tabellen =&lt;br /&gt;
&lt;br /&gt;
https://firebirdsql.org/file/documentation/reference_manuals/html/de/fblangref25-appx05-montables-de.html&lt;br /&gt;
&lt;br /&gt;
* Systemtabelle 	Inhalte&lt;br /&gt;
** MON$IO_STATS 	Input/Output-Statistiken (beinhaltet Primärschlüssel MON$STAT_ID)&lt;br /&gt;
*** MON$ATTACHMENTS 	Informationen über aktive Datenbankattachments&lt;br /&gt;
*** MON$CALL_STACK 	Stackaufrufe von aktiven Abfragen durch Stored Procedures und Trigger&lt;br /&gt;
*** MON$DATABASE 	Informationen über die Datenbank, welche durch die CURRENT_CONNECTION verbunden ist&lt;br /&gt;
*** MON$STATEMENTS 	Zur Ausführung vorbereitete Statements&lt;br /&gt;
*** MON$TRANSACTIONS 	Gestartete Transaktionen&lt;br /&gt;
** MON$CONTEXT_VARIABLES 	Informationen zu benutzerdefinierten Kontextvariablen&lt;br /&gt;
** MON$MEMORY_USAGE 	Statistiken über den Speicherverbrauch&lt;br /&gt;
** MON$RECORD_STATS 	Record-Level-Statistiken&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== zeige aktuelle sql queries an die ausgeführt werden == &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SELECT * &lt;br /&gt;
FROM MON$IO_STATS AS ncstats&lt;br /&gt;
LEFT JOIN MON$STATEMENTS AS ncstatements ON ncstats.MON$STAT_ID = ncstatements.MON$STAT_ID&lt;br /&gt;
WHERE ncstatements.MON$SQL_TEXT IS NOT NULL&lt;br /&gt;
ORDER BY ncstats.MON$STAT_GROUP;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== zeige angemeldete user an ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
-- Information about the database connections&lt;br /&gt;
SELECT&lt;br /&gt;
       a.mon$attachment_id as Attachment_ID,&lt;br /&gt;
       a.mon$server_pid as Server_PID, &lt;br /&gt;
       case a.mon$state &lt;br /&gt;
          when 1 then &#039;active&#039;&lt;br /&gt;
          when 0 then &#039;idle&#039;&lt;br /&gt;
       end as State, &lt;br /&gt;
       a.mon$attachment_name as Database_Name, &lt;br /&gt;
       a.mon$user as User_Name, &lt;br /&gt;
       a.mon$role as Role_Name, &lt;br /&gt;
       a.mon$remote_address as  ip4,&lt;br /&gt;
       a.mon$remote_os_user AS osuser,&lt;br /&gt;
       a.mon$remote_host AS host,&lt;br /&gt;
       a.mon$remote_pid as Remote_PID,  &lt;br /&gt;
       a.mon$timestamp as Established_At,&lt;br /&gt;
       case a.mon$garbage_collection &lt;br /&gt;
          when 1 then &#039;allowed&#039;&lt;br /&gt;
          when 0 then &#039;not allowed&#039;&lt;br /&gt;
       end as Garbage_Collection, &lt;br /&gt;
       a.mon$remote_process as Remote_Process, &lt;br /&gt;
       a.mon$stat_id as stat_id&lt;br /&gt;
    FROM&lt;br /&gt;
       mon$attachments a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* https://ib-aid.com/download/docs/firebird-language-reference-2.5/fblangref-appx05-monattach.html&lt;br /&gt;
* https://riptutorial.com/firebird/example/18210/get-information-about-attachments-on-the-connected-database&lt;br /&gt;
&lt;br /&gt;
== zeige andere Informationen == &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
select  * from MON$DATABASE  ;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= fbtrace / fbsvcmgr - zeige/capture/log sql queries =&lt;br /&gt;
&lt;br /&gt;
* /etc/firebird/3.0/fbtrace.conf&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
database&lt;br /&gt;
{&lt;br /&gt;
        # Do we trace database events or not&lt;br /&gt;
        enabled = true&lt;br /&gt;
&lt;br /&gt;
        #include_filter = select&lt;br /&gt;
        #exclude_filter&lt;br /&gt;
&lt;br /&gt;
        # Put sql statement execution start records&lt;br /&gt;
         log_statement_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put record when stored procedure is start execution&lt;br /&gt;
        log_procedure_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put record when stored function is start execution&lt;br /&gt;
        log_function_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put trigger execute records&lt;br /&gt;
        log_trigger_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put errors happened&lt;br /&gt;
        log_errors = true&lt;br /&gt;
&lt;br /&gt;
        # Put warnings&lt;br /&gt;
        log_warnings = true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* firebird neu starten&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# für änderungen in fbtrace.conf bedarf es nicht unbedingt ein neustart&lt;br /&gt;
systemctl restart firebird3.0.service&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* service (daemon) starten&lt;br /&gt;
** hier wird jetzt auch erstmal alles ausgegeben &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbsvcmgr service_mgr action_trace_start trc_name &amp;quot;nctrace&amp;quot; trc_cfg fbtrace.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* fbsvcmgr: auf anderer konsole kann nun der service gestartet, pausiert und abgeschossen werden&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# zeige laufende services&lt;br /&gt;
fbsvcmgr service_mgr action_trace_list&lt;br /&gt;
fbtracemgr -SE service_mgr -USER SYSDBA  -LIST&lt;br /&gt;
# mach ne pause server 2&lt;br /&gt;
fbsvcmgr service_mgr action_trace_suspend trc_id 2&lt;br /&gt;
# mach weiter&lt;br /&gt;
fbsvcmgr service_mgr action_trace_resume trc_id 2&lt;br /&gt;
# beende serice &lt;br /&gt;
fbsvcmgr service_mgr action_trace_stop trc_id 2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* noch mal .. zeige nur die sql querrys &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbsvcmgr service_mgr action_trace_start trc_name &amp;quot;nctrace&amp;quot; trc_cfg /etc/firebird/3.0/fbtrace.conf  | grep -vi &#039;TRACE\|FREE_STATEMENT\|security3.fdb\|CLOSE_CURSOR\|TCPv4:\|isql-fb\|Statement\|------------------------\|PLG\$\|RDB\$&#039; &amp;gt;&amp;gt; /home/firebird/log/db.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= sql = &lt;br /&gt;
&lt;br /&gt;
== Common Table Expressions („WITH ... AS ... SELECT“) ==&lt;br /&gt;
* https://firebirdsql.org/file/documentation/reference_manuals/html/de/fblangref25-dml-select-de.html#fblangref25-dml-select-cte-de&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
with ... as (&lt;br /&gt;
  select ...&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Optimierungen bei Abfragen  = &lt;br /&gt;
* aus &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
in(&#039;1&#039;,&#039;2&#039;,&#039;3&#039;,&#039;5&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wird&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
between &#039;1&#039; and &#039;3&#039; or ...=&#039;8&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Beispiele  = &lt;br /&gt;
== Subselect mit List ==&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
select&lt;br /&gt;
       bek.ID&lt;br /&gt;
     , bek.BELEGNR&lt;br /&gt;
     , (&lt;br /&gt;
        SELECT LIST(coalesce (BEP.ID,&#039;0&#039;) || &#039;,&#039;|| coalesce (BEP.LIEFERTERMIN,&#039;2000-01-01&#039;) || &#039;,&#039;|| coalesce (BEP.VORGABE_KOMM_BEHAELTNIS,&#039;0&#039;) || &#039;,&#039;||coalesce  (BEP.FIXTERMIN,&#039;2000-01-01&#039;),&#039;;&#039;  ) FROM BEP WHERE BEP.BELEGSCHLUESSEL = bek.BELEGSCHLUESSEL&lt;br /&gt;
       ) AS Positionen&lt;br /&gt;
from bek&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Firebird&amp;diff=5740</id>
		<title>Firebird</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Firebird&amp;diff=5740"/>
		<updated>2020-07-08T13:30:50Z</updated>

		<summary type="html">&lt;p&gt;V: /* Beispiele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
https://firebirdsql.org/file/documentation/reference_manuals/html/de/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= info über datenbank  = &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbstat DATABASENAME -header&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= connect to database =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# isql-fb -user sysdba -password masterkey localhost:employee&lt;br /&gt;
isql-fb -user sysdba -password masterkey &amp;quot;/path/to/db/file.fdb&amp;quot;&lt;br /&gt;
isql-fb -user sysdba -password masterkey 192.168.0.123/123:DB -i file.sql&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Monitor Tabellen =&lt;br /&gt;
&lt;br /&gt;
https://firebirdsql.org/file/documentation/reference_manuals/html/de/fblangref25-appx05-montables-de.html&lt;br /&gt;
&lt;br /&gt;
* Systemtabelle 	Inhalte&lt;br /&gt;
** MON$IO_STATS 	Input/Output-Statistiken (beinhaltet Primärschlüssel MON$STAT_ID)&lt;br /&gt;
*** MON$ATTACHMENTS 	Informationen über aktive Datenbankattachments&lt;br /&gt;
*** MON$CALL_STACK 	Stackaufrufe von aktiven Abfragen durch Stored Procedures und Trigger&lt;br /&gt;
*** MON$DATABASE 	Informationen über die Datenbank, welche durch die CURRENT_CONNECTION verbunden ist&lt;br /&gt;
*** MON$STATEMENTS 	Zur Ausführung vorbereitete Statements&lt;br /&gt;
*** MON$TRANSACTIONS 	Gestartete Transaktionen&lt;br /&gt;
** MON$CONTEXT_VARIABLES 	Informationen zu benutzerdefinierten Kontextvariablen&lt;br /&gt;
** MON$MEMORY_USAGE 	Statistiken über den Speicherverbrauch&lt;br /&gt;
** MON$RECORD_STATS 	Record-Level-Statistiken&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== zeige aktuelle sql queries an die ausgeführt werden == &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SELECT * &lt;br /&gt;
FROM MON$IO_STATS AS ncstats&lt;br /&gt;
LEFT JOIN MON$STATEMENTS AS ncstatements ON ncstats.MON$STAT_ID = ncstatements.MON$STAT_ID&lt;br /&gt;
WHERE ncstatements.MON$SQL_TEXT IS NOT NULL&lt;br /&gt;
ORDER BY ncstats.MON$STAT_GROUP;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== zeige angemeldete user an ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
-- Information about the database connections&lt;br /&gt;
SELECT&lt;br /&gt;
       a.mon$attachment_id as Attachment_ID,&lt;br /&gt;
       a.mon$server_pid as Server_PID, &lt;br /&gt;
       case a.mon$state &lt;br /&gt;
          when 1 then &#039;active&#039;&lt;br /&gt;
          when 0 then &#039;idle&#039;&lt;br /&gt;
       end as State, &lt;br /&gt;
       a.mon$attachment_name as Database_Name, &lt;br /&gt;
       a.mon$user as User_Name, &lt;br /&gt;
       a.mon$role as Role_Name, &lt;br /&gt;
       a.mon$remote_address as  ip4,&lt;br /&gt;
       a.mon$remote_os_user AS osuser,&lt;br /&gt;
       a.mon$remote_host AS host,&lt;br /&gt;
       a.mon$remote_pid as Remote_PID,  &lt;br /&gt;
       a.mon$timestamp as Established_At,&lt;br /&gt;
       case a.mon$garbage_collection &lt;br /&gt;
          when 1 then &#039;allowed&#039;&lt;br /&gt;
          when 0 then &#039;not allowed&#039;&lt;br /&gt;
       end as Garbage_Collection, &lt;br /&gt;
       a.mon$remote_process as Remote_Process, &lt;br /&gt;
       a.mon$stat_id as stat_id&lt;br /&gt;
    FROM&lt;br /&gt;
       mon$attachments a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* https://ib-aid.com/download/docs/firebird-language-reference-2.5/fblangref-appx05-monattach.html&lt;br /&gt;
* https://riptutorial.com/firebird/example/18210/get-information-about-attachments-on-the-connected-database&lt;br /&gt;
&lt;br /&gt;
== zeige andere Informationen == &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
select  * from MON$DATABASE  ;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= fbtrace / fbsvcmgr - zeige/capture/log sql queries =&lt;br /&gt;
&lt;br /&gt;
* /etc/firebird/3.0/fbtrace.conf&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
database&lt;br /&gt;
{&lt;br /&gt;
        # Do we trace database events or not&lt;br /&gt;
        enabled = true&lt;br /&gt;
&lt;br /&gt;
        #include_filter = select&lt;br /&gt;
        #exclude_filter&lt;br /&gt;
&lt;br /&gt;
        # Put sql statement execution start records&lt;br /&gt;
         log_statement_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put record when stored procedure is start execution&lt;br /&gt;
        log_procedure_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put record when stored function is start execution&lt;br /&gt;
        log_function_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put trigger execute records&lt;br /&gt;
        log_trigger_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put errors happened&lt;br /&gt;
        log_errors = true&lt;br /&gt;
&lt;br /&gt;
        # Put warnings&lt;br /&gt;
        log_warnings = true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* firebird neu starten&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# für änderungen in fbtrace.conf bedarf es nicht unbedingt ein neustart&lt;br /&gt;
systemctl restart firebird3.0.service&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* service (daemon) starten&lt;br /&gt;
** hier wird jetzt auch erstmal alles ausgegeben &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbsvcmgr service_mgr action_trace_start trc_name &amp;quot;nctrace&amp;quot; trc_cfg fbtrace.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* fbsvcmgr: auf anderer konsole kann nun der service gestartet, pausiert und abgeschossen werden&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# zeige laufende services&lt;br /&gt;
fbsvcmgr service_mgr action_trace_list&lt;br /&gt;
fbtracemgr -SE service_mgr -USER SYSDBA  -LIST&lt;br /&gt;
# mach ne pause server 2&lt;br /&gt;
fbsvcmgr service_mgr action_trace_suspend trc_id 2&lt;br /&gt;
# mach weiter&lt;br /&gt;
fbsvcmgr service_mgr action_trace_resume trc_id 2&lt;br /&gt;
# beende serice &lt;br /&gt;
fbsvcmgr service_mgr action_trace_stop trc_id 2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* noch mal .. zeige nur die sql querrys &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbsvcmgr service_mgr action_trace_start trc_name &amp;quot;nctrace&amp;quot; trc_cfg /etc/firebird/3.0/fbtrace.conf  | grep -vi &#039;TRACE\|FREE_STATEMENT\|security3.fdb\|CLOSE_CURSOR\|TCPv4:\|isql-fb\|Statement\|------------------------\|PLG\$\|RDB\$&#039; &amp;gt;&amp;gt; /home/firebird/log/db.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= sql = &lt;br /&gt;
&lt;br /&gt;
== Common Table Expressions („WITH ... AS ... SELECT“) ==&lt;br /&gt;
* https://firebirdsql.org/file/documentation/reference_manuals/html/de/fblangref25-dml-select-de.html#fblangref25-dml-select-cte-de&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
with ... as (&lt;br /&gt;
  select ...&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Optimierungen bei Abfragen  = &lt;br /&gt;
* aus &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
in(&#039;1&#039;,&#039;2&#039;,&#039;3&#039;,&#039;5&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wird&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
between &#039;1&#039; and &#039;3&#039; or ...=&#039;8&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Beispiele  = &lt;br /&gt;
Subselect mit List &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
select&lt;br /&gt;
       bek.ID&lt;br /&gt;
     , bek.BELEGNR&lt;br /&gt;
     , (&lt;br /&gt;
        SELECT LIST(coalesce (BEP.ID,&#039;0&#039;) || &#039;,&#039;|| coalesce (BEP.LIEFERTERMIN,&#039;2000-01-01&#039;) || &#039;,&#039;|| coalesce (BEP.VORGABE_KOMM_BEHAELTNIS,&#039;0&#039;) || &#039;,&#039;||coalesce  (BEP.FIXTERMIN,&#039;2000-01-01&#039;),&#039;;&#039;  ) FROM BEP WHERE BEP.BELEGSCHLUESSEL = bek.BELEGSCHLUESSEL&lt;br /&gt;
       ) AS Positionen&lt;br /&gt;
from bek&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Firebird&amp;diff=5739</id>
		<title>Firebird</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Firebird&amp;diff=5739"/>
		<updated>2020-07-08T13:30:18Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
https://firebirdsql.org/file/documentation/reference_manuals/html/de/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= info über datenbank  = &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbstat DATABASENAME -header&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= connect to database =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# isql-fb -user sysdba -password masterkey localhost:employee&lt;br /&gt;
isql-fb -user sysdba -password masterkey &amp;quot;/path/to/db/file.fdb&amp;quot;&lt;br /&gt;
isql-fb -user sysdba -password masterkey 192.168.0.123/123:DB -i file.sql&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Monitor Tabellen =&lt;br /&gt;
&lt;br /&gt;
https://firebirdsql.org/file/documentation/reference_manuals/html/de/fblangref25-appx05-montables-de.html&lt;br /&gt;
&lt;br /&gt;
* Systemtabelle 	Inhalte&lt;br /&gt;
** MON$IO_STATS 	Input/Output-Statistiken (beinhaltet Primärschlüssel MON$STAT_ID)&lt;br /&gt;
*** MON$ATTACHMENTS 	Informationen über aktive Datenbankattachments&lt;br /&gt;
*** MON$CALL_STACK 	Stackaufrufe von aktiven Abfragen durch Stored Procedures und Trigger&lt;br /&gt;
*** MON$DATABASE 	Informationen über die Datenbank, welche durch die CURRENT_CONNECTION verbunden ist&lt;br /&gt;
*** MON$STATEMENTS 	Zur Ausführung vorbereitete Statements&lt;br /&gt;
*** MON$TRANSACTIONS 	Gestartete Transaktionen&lt;br /&gt;
** MON$CONTEXT_VARIABLES 	Informationen zu benutzerdefinierten Kontextvariablen&lt;br /&gt;
** MON$MEMORY_USAGE 	Statistiken über den Speicherverbrauch&lt;br /&gt;
** MON$RECORD_STATS 	Record-Level-Statistiken&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== zeige aktuelle sql queries an die ausgeführt werden == &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SELECT * &lt;br /&gt;
FROM MON$IO_STATS AS ncstats&lt;br /&gt;
LEFT JOIN MON$STATEMENTS AS ncstatements ON ncstats.MON$STAT_ID = ncstatements.MON$STAT_ID&lt;br /&gt;
WHERE ncstatements.MON$SQL_TEXT IS NOT NULL&lt;br /&gt;
ORDER BY ncstats.MON$STAT_GROUP;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== zeige angemeldete user an ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
-- Information about the database connections&lt;br /&gt;
SELECT&lt;br /&gt;
       a.mon$attachment_id as Attachment_ID,&lt;br /&gt;
       a.mon$server_pid as Server_PID, &lt;br /&gt;
       case a.mon$state &lt;br /&gt;
          when 1 then &#039;active&#039;&lt;br /&gt;
          when 0 then &#039;idle&#039;&lt;br /&gt;
       end as State, &lt;br /&gt;
       a.mon$attachment_name as Database_Name, &lt;br /&gt;
       a.mon$user as User_Name, &lt;br /&gt;
       a.mon$role as Role_Name, &lt;br /&gt;
       a.mon$remote_address as  ip4,&lt;br /&gt;
       a.mon$remote_os_user AS osuser,&lt;br /&gt;
       a.mon$remote_host AS host,&lt;br /&gt;
       a.mon$remote_pid as Remote_PID,  &lt;br /&gt;
       a.mon$timestamp as Established_At,&lt;br /&gt;
       case a.mon$garbage_collection &lt;br /&gt;
          when 1 then &#039;allowed&#039;&lt;br /&gt;
          when 0 then &#039;not allowed&#039;&lt;br /&gt;
       end as Garbage_Collection, &lt;br /&gt;
       a.mon$remote_process as Remote_Process, &lt;br /&gt;
       a.mon$stat_id as stat_id&lt;br /&gt;
    FROM&lt;br /&gt;
       mon$attachments a&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* https://ib-aid.com/download/docs/firebird-language-reference-2.5/fblangref-appx05-monattach.html&lt;br /&gt;
* https://riptutorial.com/firebird/example/18210/get-information-about-attachments-on-the-connected-database&lt;br /&gt;
&lt;br /&gt;
== zeige andere Informationen == &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
select  * from MON$DATABASE  ;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= fbtrace / fbsvcmgr - zeige/capture/log sql queries =&lt;br /&gt;
&lt;br /&gt;
* /etc/firebird/3.0/fbtrace.conf&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
database&lt;br /&gt;
{&lt;br /&gt;
        # Do we trace database events or not&lt;br /&gt;
        enabled = true&lt;br /&gt;
&lt;br /&gt;
        #include_filter = select&lt;br /&gt;
        #exclude_filter&lt;br /&gt;
&lt;br /&gt;
        # Put sql statement execution start records&lt;br /&gt;
         log_statement_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put record when stored procedure is start execution&lt;br /&gt;
        log_procedure_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put record when stored function is start execution&lt;br /&gt;
        log_function_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put trigger execute records&lt;br /&gt;
        log_trigger_start = true&lt;br /&gt;
&lt;br /&gt;
        # Put errors happened&lt;br /&gt;
        log_errors = true&lt;br /&gt;
&lt;br /&gt;
        # Put warnings&lt;br /&gt;
        log_warnings = true&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* firebird neu starten&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# für änderungen in fbtrace.conf bedarf es nicht unbedingt ein neustart&lt;br /&gt;
systemctl restart firebird3.0.service&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* service (daemon) starten&lt;br /&gt;
** hier wird jetzt auch erstmal alles ausgegeben &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbsvcmgr service_mgr action_trace_start trc_name &amp;quot;nctrace&amp;quot; trc_cfg fbtrace.conf&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* fbsvcmgr: auf anderer konsole kann nun der service gestartet, pausiert und abgeschossen werden&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
# zeige laufende services&lt;br /&gt;
fbsvcmgr service_mgr action_trace_list&lt;br /&gt;
fbtracemgr -SE service_mgr -USER SYSDBA  -LIST&lt;br /&gt;
# mach ne pause server 2&lt;br /&gt;
fbsvcmgr service_mgr action_trace_suspend trc_id 2&lt;br /&gt;
# mach weiter&lt;br /&gt;
fbsvcmgr service_mgr action_trace_resume trc_id 2&lt;br /&gt;
# beende serice &lt;br /&gt;
fbsvcmgr service_mgr action_trace_stop trc_id 2&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* noch mal .. zeige nur die sql querrys &lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
fbsvcmgr service_mgr action_trace_start trc_name &amp;quot;nctrace&amp;quot; trc_cfg /etc/firebird/3.0/fbtrace.conf  | grep -vi &#039;TRACE\|FREE_STATEMENT\|security3.fdb\|CLOSE_CURSOR\|TCPv4:\|isql-fb\|Statement\|------------------------\|PLG\$\|RDB\$&#039; &amp;gt;&amp;gt; /home/firebird/log/db.log&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= sql = &lt;br /&gt;
&lt;br /&gt;
== Common Table Expressions („WITH ... AS ... SELECT“) ==&lt;br /&gt;
* https://firebirdsql.org/file/documentation/reference_manuals/html/de/fblangref25-dml-select-de.html#fblangref25-dml-select-cte-de&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
with ... as (&lt;br /&gt;
  select ...&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Optimierungen bei Abfragen  = &lt;br /&gt;
* aus &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
in(&#039;1&#039;,&#039;2&#039;,&#039;3&#039;,&#039;5&#039;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
wird&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
between &#039;1&#039; and &#039;3&#039; or ...=&#039;8&#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Beispiele  = &lt;br /&gt;
Subselect mit List &lt;br /&gt;
&amp;lt;source lang=sql&amp;gt;&lt;br /&gt;
select&lt;br /&gt;
     , bek.BELEGNR&lt;br /&gt;
     , (&lt;br /&gt;
        SELECT LIST(coalesce (BEP.ID,&#039;0&#039;) || &#039;,&#039;|| coalesce (BEP.LIEFERTERMIN,&#039;2000-01-01&#039;) || &#039;,&#039;|| coalesce (BEP.VORGABE_KOMM_BEHAELTNIS,&#039;0&#039;) || &#039;,&#039;||coalesce  (BEP.FIXTERMIN,&#039;2000-01-01&#039;),&#039;;&#039;  ) FROM BEP WHERE BEP.BELEGSCHLUESSEL = bek.BELEGSCHLUESSEL&lt;br /&gt;
       ) AS Positionen&lt;br /&gt;
from bek&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5708</id>
		<title>Debian buster lxc vpn</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5708"/>
		<updated>2020-06-26T12:59:06Z</updated>

		<summary type="html">&lt;p&gt;V: /* VPN LXC Container Config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VPN LXC Container Config==&lt;br /&gt;
&lt;br /&gt;
evtl muss tun noch geladen werden&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
modprobe tun&lt;br /&gt;
#bzw zu hinzufügen&lt;br /&gt;
/etc/modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/kernel/security sys/kernel/security none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = mqueue dev/mqueue mqueue rw,relatime,create=dir,optional 0 0&lt;br /&gt;
##&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/xxxx/rootfs&lt;br /&gt;
lxc.uts.name = xxxx&lt;br /&gt;
## Network configuration&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.hwaddr = xx:xx:xx:xx:xx:xx&lt;br /&gt;
lxc.net.0.link = vmbr1&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = XXX.XXX.XXX.2/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = XXX.XXX.XXX.1&lt;br /&gt;
##vpn specific&lt;br /&gt;
lxc.apparmor.profile = unconfined&lt;br /&gt;
lxc.cgroup.devices.allow = c 10:200 rwm&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VPN IN LXC Container ==&lt;br /&gt;
=== Script ===&lt;br /&gt;
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh -O debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
=== Server installieren ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Linux Networkmanager Problem ====&lt;br /&gt;
Ändere Script &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
        if [[ $CUSTOMIZE_ENC == &amp;quot;n&amp;quot; ]];then&lt;br /&gt;
                # Use default, sane and fast parameters&lt;br /&gt;
                ...&lt;br /&gt;
                #TLS_SIG=&amp;quot;1&amp;quot; # tls-crypt&lt;br /&gt;
                TLS_SIG=&amp;quot;2&amp;quot; # tls-auth&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
port 1194&lt;br /&gt;
proto udp&lt;br /&gt;
dev tun&lt;br /&gt;
user nobody&lt;br /&gt;
group nogroup&lt;br /&gt;
persist-key&lt;br /&gt;
persist-tun&lt;br /&gt;
keepalive 10 120&lt;br /&gt;
client-to-client&lt;br /&gt;
topology subnet&lt;br /&gt;
server 10.8.0.0 255.255.255.0&lt;br /&gt;
ifconfig-pool-persist ipp.txt&lt;br /&gt;
push &amp;quot;dhcp-option DNS 8.8.8.8&amp;quot;&lt;br /&gt;
push &amp;quot;dhcp-option DNS 1.1.1.1&amp;quot;&lt;br /&gt;
push &amp;quot;redirect-gateway def1 bypass-dhcp&amp;quot;&lt;br /&gt;
dh none&lt;br /&gt;
ecdh-curve prime256v1&lt;br /&gt;
tls-auth tls-auth.key 0&lt;br /&gt;
crl-verify crl.pem&lt;br /&gt;
ca ca.crt&lt;br /&gt;
cert server_m57DrXUnLIw1lKfL.crt&lt;br /&gt;
key server_m57DrXUnLIw1lKfL.key&lt;br /&gt;
auth SHA256&lt;br /&gt;
cipher AES-128-GCM&lt;br /&gt;
ncp-ciphers AES-128-GCM&lt;br /&gt;
tls-server&lt;br /&gt;
tls-version-min 1.2&lt;br /&gt;
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256&lt;br /&gt;
status /var/log/openvpn/status.log&lt;br /&gt;
verb 3&lt;br /&gt;
client-config-dir ccd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Neuen Client oder clients entfernen ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Den Clients statische Ips geben ===&lt;br /&gt;
Namen der KONFIGURATIONNAME.opvn&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
mkdir /etc/openvpn/ccd/&lt;br /&gt;
cd /etc/openvpn/ccd/&lt;br /&gt;
touch /etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
   ifconfig-push 10.8.0.2 255.255.255.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== openvpn clients ==&lt;br /&gt;
[[Windows#openvpn]]&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5707</id>
		<title>Debian buster lxc vpn</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5707"/>
		<updated>2020-06-26T12:58:53Z</updated>

		<summary type="html">&lt;p&gt;V: /* VPN LXC Container Config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VPN LXC Container Config==&lt;br /&gt;
&lt;br /&gt;
evtl muss tun noch geladen werden&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
modprobe tun&lt;br /&gt;
bzw zu hinzufügen&lt;br /&gt;
/etc/modules&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/kernel/security sys/kernel/security none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = mqueue dev/mqueue mqueue rw,relatime,create=dir,optional 0 0&lt;br /&gt;
##&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/xxxx/rootfs&lt;br /&gt;
lxc.uts.name = xxxx&lt;br /&gt;
## Network configuration&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.hwaddr = xx:xx:xx:xx:xx:xx&lt;br /&gt;
lxc.net.0.link = vmbr1&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = XXX.XXX.XXX.2/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = XXX.XXX.XXX.1&lt;br /&gt;
##vpn specific&lt;br /&gt;
lxc.apparmor.profile = unconfined&lt;br /&gt;
lxc.cgroup.devices.allow = c 10:200 rwm&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VPN IN LXC Container ==&lt;br /&gt;
=== Script ===&lt;br /&gt;
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh -O debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
=== Server installieren ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Linux Networkmanager Problem ====&lt;br /&gt;
Ändere Script &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
        if [[ $CUSTOMIZE_ENC == &amp;quot;n&amp;quot; ]];then&lt;br /&gt;
                # Use default, sane and fast parameters&lt;br /&gt;
                ...&lt;br /&gt;
                #TLS_SIG=&amp;quot;1&amp;quot; # tls-crypt&lt;br /&gt;
                TLS_SIG=&amp;quot;2&amp;quot; # tls-auth&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
port 1194&lt;br /&gt;
proto udp&lt;br /&gt;
dev tun&lt;br /&gt;
user nobody&lt;br /&gt;
group nogroup&lt;br /&gt;
persist-key&lt;br /&gt;
persist-tun&lt;br /&gt;
keepalive 10 120&lt;br /&gt;
client-to-client&lt;br /&gt;
topology subnet&lt;br /&gt;
server 10.8.0.0 255.255.255.0&lt;br /&gt;
ifconfig-pool-persist ipp.txt&lt;br /&gt;
push &amp;quot;dhcp-option DNS 8.8.8.8&amp;quot;&lt;br /&gt;
push &amp;quot;dhcp-option DNS 1.1.1.1&amp;quot;&lt;br /&gt;
push &amp;quot;redirect-gateway def1 bypass-dhcp&amp;quot;&lt;br /&gt;
dh none&lt;br /&gt;
ecdh-curve prime256v1&lt;br /&gt;
tls-auth tls-auth.key 0&lt;br /&gt;
crl-verify crl.pem&lt;br /&gt;
ca ca.crt&lt;br /&gt;
cert server_m57DrXUnLIw1lKfL.crt&lt;br /&gt;
key server_m57DrXUnLIw1lKfL.key&lt;br /&gt;
auth SHA256&lt;br /&gt;
cipher AES-128-GCM&lt;br /&gt;
ncp-ciphers AES-128-GCM&lt;br /&gt;
tls-server&lt;br /&gt;
tls-version-min 1.2&lt;br /&gt;
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256&lt;br /&gt;
status /var/log/openvpn/status.log&lt;br /&gt;
verb 3&lt;br /&gt;
client-config-dir ccd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Neuen Client oder clients entfernen ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Den Clients statische Ips geben ===&lt;br /&gt;
Namen der KONFIGURATIONNAME.opvn&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
mkdir /etc/openvpn/ccd/&lt;br /&gt;
cd /etc/openvpn/ccd/&lt;br /&gt;
touch /etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
   ifconfig-push 10.8.0.2 255.255.255.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== openvpn clients ==&lt;br /&gt;
[[Windows#openvpn]]&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5706</id>
		<title>Debian buster lxc vpn</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5706"/>
		<updated>2020-06-26T12:57:36Z</updated>

		<summary type="html">&lt;p&gt;V: /* VPN LXC Container Config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VPN LXC Container Config==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/kernel/security sys/kernel/security none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = mqueue dev/mqueue mqueue rw,relatime,create=dir,optional 0 0&lt;br /&gt;
##&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/xxxx/rootfs&lt;br /&gt;
lxc.uts.name = xxxx&lt;br /&gt;
## Network configuration&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.hwaddr = xx:xx:xx:xx:xx:xx&lt;br /&gt;
lxc.net.0.link = vmbr1&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = XXX.XXX.XXX.2/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = XXX.XXX.XXX.1&lt;br /&gt;
##vpn specific&lt;br /&gt;
lxc.apparmor.profile = unconfined&lt;br /&gt;
lxc.cgroup.devices.allow = c 10:200 rwm&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VPN IN LXC Container ==&lt;br /&gt;
=== Script ===&lt;br /&gt;
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh -O debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
=== Server installieren ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Linux Networkmanager Problem ====&lt;br /&gt;
Ändere Script &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
        if [[ $CUSTOMIZE_ENC == &amp;quot;n&amp;quot; ]];then&lt;br /&gt;
                # Use default, sane and fast parameters&lt;br /&gt;
                ...&lt;br /&gt;
                #TLS_SIG=&amp;quot;1&amp;quot; # tls-crypt&lt;br /&gt;
                TLS_SIG=&amp;quot;2&amp;quot; # tls-auth&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
port 1194&lt;br /&gt;
proto udp&lt;br /&gt;
dev tun&lt;br /&gt;
user nobody&lt;br /&gt;
group nogroup&lt;br /&gt;
persist-key&lt;br /&gt;
persist-tun&lt;br /&gt;
keepalive 10 120&lt;br /&gt;
client-to-client&lt;br /&gt;
topology subnet&lt;br /&gt;
server 10.8.0.0 255.255.255.0&lt;br /&gt;
ifconfig-pool-persist ipp.txt&lt;br /&gt;
push &amp;quot;dhcp-option DNS 8.8.8.8&amp;quot;&lt;br /&gt;
push &amp;quot;dhcp-option DNS 1.1.1.1&amp;quot;&lt;br /&gt;
push &amp;quot;redirect-gateway def1 bypass-dhcp&amp;quot;&lt;br /&gt;
dh none&lt;br /&gt;
ecdh-curve prime256v1&lt;br /&gt;
tls-auth tls-auth.key 0&lt;br /&gt;
crl-verify crl.pem&lt;br /&gt;
ca ca.crt&lt;br /&gt;
cert server_m57DrXUnLIw1lKfL.crt&lt;br /&gt;
key server_m57DrXUnLIw1lKfL.key&lt;br /&gt;
auth SHA256&lt;br /&gt;
cipher AES-128-GCM&lt;br /&gt;
ncp-ciphers AES-128-GCM&lt;br /&gt;
tls-server&lt;br /&gt;
tls-version-min 1.2&lt;br /&gt;
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256&lt;br /&gt;
status /var/log/openvpn/status.log&lt;br /&gt;
verb 3&lt;br /&gt;
client-config-dir ccd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Neuen Client oder clients entfernen ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Den Clients statische Ips geben ===&lt;br /&gt;
Namen der KONFIGURATIONNAME.opvn&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
mkdir /etc/openvpn/ccd/&lt;br /&gt;
cd /etc/openvpn/ccd/&lt;br /&gt;
touch /etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
   ifconfig-push 10.8.0.2 255.255.255.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== openvpn clients ==&lt;br /&gt;
[[Windows#openvpn]]&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5576</id>
		<title>Debian buster lxc vpn</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5576"/>
		<updated>2020-03-25T16:34:33Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VPN LXC Container Config==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/kernel/security sys/kernel/security none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = mqueue dev/mqueue mqueue rw,relatime,create=dir,optional 0 0&lt;br /&gt;
##&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/xxxx/rootfs&lt;br /&gt;
lxc.uts.name = xxxx&lt;br /&gt;
## Network configuration&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.hwaddr = xx:xx:xx:xx:xx:xx&lt;br /&gt;
lxc.net.0.link = vmbr1&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = XXX.XXX.XXX.2/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = XXX.XXX.XXX.1&lt;br /&gt;
##vpn specific&lt;br /&gt;
lxc.apparmor.profile = unconfined&lt;br /&gt;
lxc.cgroup.devices.allow = c 10:200 rwm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== VPN IN LXC Container ==&lt;br /&gt;
=== Script ===&lt;br /&gt;
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh -O debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
=== Server installieren ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Linux Networkmanager Problem ====&lt;br /&gt;
Ändere Script &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
        if [[ $CUSTOMIZE_ENC == &amp;quot;n&amp;quot; ]];then&lt;br /&gt;
                # Use default, sane and fast parameters&lt;br /&gt;
                ...&lt;br /&gt;
                #TLS_SIG=&amp;quot;1&amp;quot; # tls-crypt&lt;br /&gt;
                TLS_SIG=&amp;quot;2&amp;quot; # tls-auth&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
port 1194&lt;br /&gt;
proto udp&lt;br /&gt;
dev tun&lt;br /&gt;
user nobody&lt;br /&gt;
group nogroup&lt;br /&gt;
persist-key&lt;br /&gt;
persist-tun&lt;br /&gt;
keepalive 10 120&lt;br /&gt;
client-to-client&lt;br /&gt;
topology subnet&lt;br /&gt;
server 10.8.0.0 255.255.255.0&lt;br /&gt;
ifconfig-pool-persist ipp.txt&lt;br /&gt;
push &amp;quot;dhcp-option DNS 8.8.8.8&amp;quot;&lt;br /&gt;
push &amp;quot;dhcp-option DNS 1.1.1.1&amp;quot;&lt;br /&gt;
push &amp;quot;redirect-gateway def1 bypass-dhcp&amp;quot;&lt;br /&gt;
dh none&lt;br /&gt;
ecdh-curve prime256v1&lt;br /&gt;
tls-auth tls-auth.key 0&lt;br /&gt;
crl-verify crl.pem&lt;br /&gt;
ca ca.crt&lt;br /&gt;
cert server_m57DrXUnLIw1lKfL.crt&lt;br /&gt;
key server_m57DrXUnLIw1lKfL.key&lt;br /&gt;
auth SHA256&lt;br /&gt;
cipher AES-128-GCM&lt;br /&gt;
ncp-ciphers AES-128-GCM&lt;br /&gt;
tls-server&lt;br /&gt;
tls-version-min 1.2&lt;br /&gt;
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256&lt;br /&gt;
status /var/log/openvpn/status.log&lt;br /&gt;
verb 3&lt;br /&gt;
client-config-dir ccd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Neuen Client oder clients entfernen ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Den Clients statische Ips geben ===&lt;br /&gt;
Namen der KONFIGURATIONNAME.opvn&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
mkdir /etc/openvpn/ccd/&lt;br /&gt;
cd /etc/openvpn/ccd/&lt;br /&gt;
touch /etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
   ifconfig-push 10.8.0.2 255.255.255.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5575</id>
		<title>Debian buster lxc vpn</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5575"/>
		<updated>2020-03-25T16:34:11Z</updated>

		<summary type="html">&lt;p&gt;V: /* Server Config mit client-to-client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VPN LXC Container Config==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/kernel/security sys/kernel/security none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = mqueue dev/mqueue mqueue rw,relatime,create=dir,optional 0 0&lt;br /&gt;
##&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/xxxx/rootfs&lt;br /&gt;
lxc.uts.name = xxxx&lt;br /&gt;
## Network configuration&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.hwaddr = xx:xx:xx:xx:xx:xx&lt;br /&gt;
lxc.net.0.link = vmbr1&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = XXX.XXX.XXX.2/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = XXX.XXX.XXX.1&lt;br /&gt;
##vpn specific&lt;br /&gt;
lxc.apparmor.profile = unconfined&lt;br /&gt;
lxc.cgroup.devices.allow = c 10:200 rwm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== VPN IN LXC Container ==&lt;br /&gt;
=== Script ===&lt;br /&gt;
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh -O debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
=== Server installieren ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Linux Networkmanager Problem ====&lt;br /&gt;
Ändere Script &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
        if [[ $CUSTOMIZE_ENC == &amp;quot;n&amp;quot; ]];then&lt;br /&gt;
                # Use default, sane and fast parameters&lt;br /&gt;
                ...&lt;br /&gt;
                #TLS_SIG=&amp;quot;1&amp;quot; # tls-crypt&lt;br /&gt;
                TLS_SIG=&amp;quot;2&amp;quot; # tls-auth&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
port 1194&lt;br /&gt;
proto udp&lt;br /&gt;
dev tun&lt;br /&gt;
user nobody&lt;br /&gt;
group nogroup&lt;br /&gt;
persist-key&lt;br /&gt;
persist-tun&lt;br /&gt;
keepalive 10 120&lt;br /&gt;
client-to-client&lt;br /&gt;
topology subnet&lt;br /&gt;
server 10.8.0.0 255.255.255.0&lt;br /&gt;
ifconfig-pool-persist ipp.txt&lt;br /&gt;
push &amp;quot;dhcp-option DNS 8.8.8.8&amp;quot;&lt;br /&gt;
push &amp;quot;dhcp-option DNS 1.1.1.1&amp;quot;&lt;br /&gt;
push &amp;quot;redirect-gateway def1 bypass-dhcp&amp;quot;&lt;br /&gt;
dh none&lt;br /&gt;
ecdh-curve prime256v1&lt;br /&gt;
tls-auth tls-auth.key 0&lt;br /&gt;
crl-verify crl.pem&lt;br /&gt;
ca ca.crt&lt;br /&gt;
cert server_m57DrXUnLIw1lKfL.crt&lt;br /&gt;
key server_m57DrXUnLIw1lKfL.key&lt;br /&gt;
auth SHA256&lt;br /&gt;
cipher AES-128-GCM&lt;br /&gt;
ncp-ciphers AES-128-GCM&lt;br /&gt;
tls-server&lt;br /&gt;
tls-version-min 1.2&lt;br /&gt;
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256&lt;br /&gt;
status /var/log/openvpn/status.log&lt;br /&gt;
verb 3&lt;br /&gt;
client-config-dir ccd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Neuen Client oder clients entfernen ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Den Clients statische Ips geben ===&lt;br /&gt;
Namen der KONFIGURATIONNAME.opvn&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
mkdir /etc/openvpn/ccd/&lt;br /&gt;
cd /etc/openvpn/ccd/&lt;br /&gt;
touch /etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
   ifconfig-push 10.8.0.2 255.255.255.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5574</id>
		<title>Debian buster lxc vpn</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5574"/>
		<updated>2020-03-25T16:33:51Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VPN LXC Container Config==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/kernel/security sys/kernel/security none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = mqueue dev/mqueue mqueue rw,relatime,create=dir,optional 0 0&lt;br /&gt;
##&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/xxxx/rootfs&lt;br /&gt;
lxc.uts.name = xxxx&lt;br /&gt;
## Network configuration&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.hwaddr = xx:xx:xx:xx:xx:xx&lt;br /&gt;
lxc.net.0.link = vmbr1&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = XXX.XXX.XXX.2/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = XXX.XXX.XXX.1&lt;br /&gt;
##vpn specific&lt;br /&gt;
lxc.apparmor.profile = unconfined&lt;br /&gt;
lxc.cgroup.devices.allow = c 10:200 rwm&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
== VPN IN LXC Container ==&lt;br /&gt;
=== Script ===&lt;br /&gt;
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh -O debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
=== Server installieren ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Linux Networkmanager Problem ====&lt;br /&gt;
Ändere Script &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
        if [[ $CUSTOMIZE_ENC == &amp;quot;n&amp;quot; ]];then&lt;br /&gt;
                # Use default, sane and fast parameters&lt;br /&gt;
                ...&lt;br /&gt;
                #TLS_SIG=&amp;quot;1&amp;quot; # tls-crypt&lt;br /&gt;
                TLS_SIG=&amp;quot;2&amp;quot; # tls-auth&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
port 1194&lt;br /&gt;
proto udp&lt;br /&gt;
dev tun&lt;br /&gt;
user nobody&lt;br /&gt;
group nogroup&lt;br /&gt;
persist-key&lt;br /&gt;
persist-tun&lt;br /&gt;
keepalive 10 120&lt;br /&gt;
client-to-client&lt;br /&gt;
topology subnet&lt;br /&gt;
server 10.8.0.0 255.255.255.0&lt;br /&gt;
ifconfig-pool-persist ipp.txt&lt;br /&gt;
push &amp;quot;dhcp-option DNS 8.8.8.8&amp;quot;&lt;br /&gt;
push &amp;quot;dhcp-option DNS 1.1.1.1&amp;quot;&lt;br /&gt;
push &amp;quot;redirect-gateway def1 bypass-dhcp&amp;quot;&lt;br /&gt;
dh none&lt;br /&gt;
ecdh-curve prime256v1&lt;br /&gt;
tls-auth tls-auth.key 0&lt;br /&gt;
crl-verify crl.pem&lt;br /&gt;
ca ca.crt&lt;br /&gt;
cert server_m57DrXUnLIw1lKfL.crt&lt;br /&gt;
key server_m57DrXUnLIw1lKfL.key&lt;br /&gt;
auth SHA256&lt;br /&gt;
cipher AES-128-GCM&lt;br /&gt;
ncp-ciphers AES-128-GCM&lt;br /&gt;
tls-server&lt;br /&gt;
tls-version-min 1.2&lt;br /&gt;
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256&lt;br /&gt;
status /var/log/openvpn/status.log&lt;br /&gt;
verb 3&lt;br /&gt;
client-config-dir ccd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Neuen Client oder clients entfernen ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Den Clients statische Ips geben ===&lt;br /&gt;
Namen der KONFIGURATIONNAME.opvn&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
mkdir /etc/openvpn/ccd/&lt;br /&gt;
cd /etc/openvpn/ccd/&lt;br /&gt;
touch /etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
   ifconfig-push 10.8.0.2 255.255.255.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5573</id>
		<title>Debian buster lxc vpn</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5573"/>
		<updated>2020-03-25T16:32:55Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VPN LXC Container Config==&lt;br /&gt;
##&lt;br /&gt;
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/kernel/security sys/kernel/security none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = mqueue dev/mqueue mqueue rw,relatime,create=dir,optional 0 0&lt;br /&gt;
##&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/xxxx/rootfs&lt;br /&gt;
lxc.uts.name = xxxx&lt;br /&gt;
## Network configuration&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.hwaddr = xx:xx:xx:xx:xx:xx&lt;br /&gt;
lxc.net.0.link = vmbr1&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = XXX.XXX.XXX.2/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = XXX.XXX.XXX.1&lt;br /&gt;
##vpn specific&lt;br /&gt;
lxc.apparmor.profile = unconfined&lt;br /&gt;
lxc.cgroup.devices.allow = c 10:200 rwm&lt;br /&gt;
&lt;br /&gt;
== VPN IN LXC Container ==&lt;br /&gt;
=== Script ===&lt;br /&gt;
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh -O debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
=== Server installieren ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Linux Networkmanager Problem ====&lt;br /&gt;
Ändere Script &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
        if [[ $CUSTOMIZE_ENC == &amp;quot;n&amp;quot; ]];then&lt;br /&gt;
                # Use default, sane and fast parameters&lt;br /&gt;
                ...&lt;br /&gt;
                #TLS_SIG=&amp;quot;1&amp;quot; # tls-crypt&lt;br /&gt;
                TLS_SIG=&amp;quot;2&amp;quot; # tls-auth&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
port 1194&lt;br /&gt;
proto udp&lt;br /&gt;
dev tun&lt;br /&gt;
user nobody&lt;br /&gt;
group nogroup&lt;br /&gt;
persist-key&lt;br /&gt;
persist-tun&lt;br /&gt;
keepalive 10 120&lt;br /&gt;
client-to-client&lt;br /&gt;
topology subnet&lt;br /&gt;
server 10.8.0.0 255.255.255.0&lt;br /&gt;
ifconfig-pool-persist ipp.txt&lt;br /&gt;
push &amp;quot;dhcp-option DNS 8.8.8.8&amp;quot;&lt;br /&gt;
push &amp;quot;dhcp-option DNS 1.1.1.1&amp;quot;&lt;br /&gt;
push &amp;quot;redirect-gateway def1 bypass-dhcp&amp;quot;&lt;br /&gt;
dh none&lt;br /&gt;
ecdh-curve prime256v1&lt;br /&gt;
tls-auth tls-auth.key 0&lt;br /&gt;
crl-verify crl.pem&lt;br /&gt;
ca ca.crt&lt;br /&gt;
cert server_m57DrXUnLIw1lKfL.crt&lt;br /&gt;
key server_m57DrXUnLIw1lKfL.key&lt;br /&gt;
auth SHA256&lt;br /&gt;
cipher AES-128-GCM&lt;br /&gt;
ncp-ciphers AES-128-GCM&lt;br /&gt;
tls-server&lt;br /&gt;
tls-version-min 1.2&lt;br /&gt;
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256&lt;br /&gt;
status /var/log/openvpn/status.log&lt;br /&gt;
verb 3&lt;br /&gt;
client-config-dir ccd&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Neuen Client oder clients entfernen ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Den Clients statische Ips geben ===&lt;br /&gt;
Namen der KONFIGURATIONNAME.opvn&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
mkdir /etc/openvpn/ccd/&lt;br /&gt;
cd /etc/openvpn/ccd/&lt;br /&gt;
touch /etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
   ifconfig-push 10.8.0.2 255.255.255.0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5572</id>
		<title>Debian buster lxc vpn</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5572"/>
		<updated>2020-03-25T16:31:49Z</updated>

		<summary type="html">&lt;p&gt;V: /* Server Config mit client-to-client */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VPN LXC Container Config==&lt;br /&gt;
##&lt;br /&gt;
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/kernel/security sys/kernel/security none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = mqueue dev/mqueue mqueue rw,relatime,create=dir,optional 0 0&lt;br /&gt;
##&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/xxxx/rootfs&lt;br /&gt;
lxc.uts.name = xxxx&lt;br /&gt;
## Network configuration&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.hwaddr = xx:xx:xx:xx:xx:xx&lt;br /&gt;
lxc.net.0.link = vmbr1&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = XXX.XXX.XXX.2/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = XXX.XXX.XXX.1&lt;br /&gt;
##vpn specific&lt;br /&gt;
lxc.apparmor.profile = unconfined&lt;br /&gt;
lxc.cgroup.devices.allow = c 10:200 rwm&lt;br /&gt;
&lt;br /&gt;
== VPN IN LXC Container ==&lt;br /&gt;
=== Script ===&lt;br /&gt;
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh -O debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
=== Server installieren ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Linux Networkmanager Problem ====&lt;br /&gt;
Ändere Script &lt;br /&gt;
&amp;lt;code lang=bash&amp;gt;&lt;br /&gt;
        if [[ $CUSTOMIZE_ENC == &amp;quot;n&amp;quot; ]];then&lt;br /&gt;
                # Use default, sane and fast parameters&lt;br /&gt;
                ...&lt;br /&gt;
                #TLS_SIG=&amp;quot;1&amp;quot; # tls-crypt&lt;br /&gt;
                TLS_SIG=&amp;quot;2&amp;quot; # tls-auth&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&amp;lt;code lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&amp;lt;code lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
port 1194&lt;br /&gt;
proto udp&lt;br /&gt;
dev tun&lt;br /&gt;
user nobody&lt;br /&gt;
group nogroup&lt;br /&gt;
persist-key&lt;br /&gt;
persist-tun&lt;br /&gt;
keepalive 10 120&lt;br /&gt;
client-to-client&lt;br /&gt;
topology subnet&lt;br /&gt;
server 10.8.0.0 255.255.255.0&lt;br /&gt;
ifconfig-pool-persist ipp.txt&lt;br /&gt;
push &amp;quot;dhcp-option DNS 8.8.8.8&amp;quot;&lt;br /&gt;
push &amp;quot;dhcp-option DNS 1.1.1.1&amp;quot;&lt;br /&gt;
push &amp;quot;redirect-gateway def1 bypass-dhcp&amp;quot;&lt;br /&gt;
dh none&lt;br /&gt;
ecdh-curve prime256v1&lt;br /&gt;
tls-auth tls-auth.key 0&lt;br /&gt;
crl-verify crl.pem&lt;br /&gt;
ca ca.crt&lt;br /&gt;
cert server_m57DrXUnLIw1lKfL.crt&lt;br /&gt;
key server_m57DrXUnLIw1lKfL.key&lt;br /&gt;
auth SHA256&lt;br /&gt;
cipher AES-128-GCM&lt;br /&gt;
ncp-ciphers AES-128-GCM&lt;br /&gt;
tls-server&lt;br /&gt;
tls-version-min 1.2&lt;br /&gt;
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256&lt;br /&gt;
status /var/log/openvpn/status.log&lt;br /&gt;
verb 3&lt;br /&gt;
client-config-dir ccd&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Neuen Client oder clients entfernen ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Den Clients statische Ips geben ===&lt;br /&gt;
Namen der KONFIGURATIONNAME.opvn&lt;br /&gt;
&amp;lt;code lang=bash&amp;gt;&lt;br /&gt;
mkdir /etc/openvpn/ccd/&lt;br /&gt;
cd /etc/openvpn/ccd/&lt;br /&gt;
touch /etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;code lang=bash&amp;gt;&lt;br /&gt;
   ifconfig-push 10.8.0.2 255.255.255.0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5571</id>
		<title>Debian buster lxc vpn</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5571"/>
		<updated>2020-03-25T16:31:23Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VPN LXC Container Config==&lt;br /&gt;
##&lt;br /&gt;
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/kernel/security sys/kernel/security none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = mqueue dev/mqueue mqueue rw,relatime,create=dir,optional 0 0&lt;br /&gt;
##&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/xxxx/rootfs&lt;br /&gt;
lxc.uts.name = xxxx&lt;br /&gt;
## Network configuration&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.hwaddr = xx:xx:xx:xx:xx:xx&lt;br /&gt;
lxc.net.0.link = vmbr1&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = XXX.XXX.XXX.2/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = XXX.XXX.XXX.1&lt;br /&gt;
##vpn specific&lt;br /&gt;
lxc.apparmor.profile = unconfined&lt;br /&gt;
lxc.cgroup.devices.allow = c 10:200 rwm&lt;br /&gt;
&lt;br /&gt;
== VPN IN LXC Container ==&lt;br /&gt;
=== Script ===&lt;br /&gt;
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh -O debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
=== Server installieren ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Linux Networkmanager Problem ====&lt;br /&gt;
Ändere Script &lt;br /&gt;
&amp;lt;code lang=bash&amp;gt;&lt;br /&gt;
        if [[ $CUSTOMIZE_ENC == &amp;quot;n&amp;quot; ]];then&lt;br /&gt;
                # Use default, sane and fast parameters&lt;br /&gt;
                ...&lt;br /&gt;
                #TLS_SIG=&amp;quot;1&amp;quot; # tls-crypt&lt;br /&gt;
                TLS_SIG=&amp;quot;2&amp;quot; # tls-auth&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&amp;lt;code lang=bash&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
=== Server Config mit client-to-client ===&lt;br /&gt;
&amp;lt;code lang=bash&amp;gt;&lt;br /&gt;
port 1194&lt;br /&gt;
proto udp&lt;br /&gt;
dev tun&lt;br /&gt;
user nobody&lt;br /&gt;
group nogroup&lt;br /&gt;
persist-key&lt;br /&gt;
persist-tun&lt;br /&gt;
keepalive 10 120&lt;br /&gt;
client-to-client&lt;br /&gt;
topology subnet&lt;br /&gt;
server 10.8.0.0 255.255.255.0&lt;br /&gt;
ifconfig-pool-persist ipp.txt&lt;br /&gt;
push &amp;quot;dhcp-option DNS 8.8.8.8&amp;quot;&lt;br /&gt;
push &amp;quot;dhcp-option DNS 1.1.1.1&amp;quot;&lt;br /&gt;
push &amp;quot;redirect-gateway def1 bypass-dhcp&amp;quot;&lt;br /&gt;
dh none&lt;br /&gt;
ecdh-curve prime256v1&lt;br /&gt;
tls-auth tls-auth.key 0&lt;br /&gt;
crl-verify crl.pem&lt;br /&gt;
ca ca.crt&lt;br /&gt;
cert server_m57DrXUnLIw1lKfL.crt&lt;br /&gt;
key server_m57DrXUnLIw1lKfL.key&lt;br /&gt;
auth SHA256&lt;br /&gt;
cipher AES-128-GCM&lt;br /&gt;
ncp-ciphers AES-128-GCM&lt;br /&gt;
tls-server&lt;br /&gt;
tls-version-min 1.2&lt;br /&gt;
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256&lt;br /&gt;
status /var/log/openvpn/status.log&lt;br /&gt;
verb 3&lt;br /&gt;
client-config-dir ccd&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Neuen Client oder clients entfernen ===&lt;br /&gt;
 ./debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Den Clients statische Ips geben ===&lt;br /&gt;
Namen der KONFIGURATIONNAME.opvn&lt;br /&gt;
&amp;lt;code lang=bash&amp;gt;&lt;br /&gt;
mkdir /etc/openvpn/ccd/&lt;br /&gt;
cd /etc/openvpn/ccd/&lt;br /&gt;
touch /etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/etc/openvpn/ccd/KONFIGURATIONNAME&lt;br /&gt;
&amp;lt;code lang=bash&amp;gt;&lt;br /&gt;
   ifconfig-push 10.8.0.2 255.255.255.0&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5570</id>
		<title>Debian buster lxc vpn</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5570"/>
		<updated>2020-03-25T16:20:51Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VPN LXC Container Config==&lt;br /&gt;
##&lt;br /&gt;
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/kernel/security sys/kernel/security none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = mqueue dev/mqueue mqueue rw,relatime,create=dir,optional 0 0&lt;br /&gt;
##&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/xxxx/rootfs&lt;br /&gt;
lxc.uts.name = xxxx&lt;br /&gt;
## Network configuration&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.hwaddr = xx:xx:xx:xx:xx:xx&lt;br /&gt;
lxc.net.0.link = vmbr1&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = XXX.XXX.XXX.2/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = XXX.XXX.XXX.1&lt;br /&gt;
##vpn specific&lt;br /&gt;
lxc.apparmor.profile = unconfined&lt;br /&gt;
lxc.cgroup.devices.allow = c 10:200 rwm&lt;br /&gt;
&lt;br /&gt;
== VPN IN LXC Container ==&lt;br /&gt;
=== Script ===&lt;br /&gt;
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh -O debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
==== Linux Networkmanager Problem ====&lt;br /&gt;
Ändere Script &lt;br /&gt;
&amp;lt;code lang=bash&amp;gt;&lt;br /&gt;
        if [[ $CUSTOMIZE_ENC == &amp;quot;n&amp;quot; ]];then&lt;br /&gt;
                # Use default, sane and fast parameters&lt;br /&gt;
                ...&lt;br /&gt;
                #TLS_SIG=&amp;quot;1&amp;quot; # tls-crypt&lt;br /&gt;
                TLS_SIG=&amp;quot;2&amp;quot; # tls-auth&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5569</id>
		<title>Debian buster lxc vpn</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Debian_buster_lxc_vpn&amp;diff=5569"/>
		<updated>2020-03-25T16:19:39Z</updated>

		<summary type="html">&lt;p&gt;V: Die Seite wurde neu angelegt: „== VPN LXC Container Config== ## lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0 lxc.mount.entry = /sys/kernel/security sys/kernel/…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== VPN LXC Container Config==&lt;br /&gt;
##&lt;br /&gt;
lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/kernel/security sys/kernel/security none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none bind,optional 0 0&lt;br /&gt;
lxc.mount.entry = mqueue dev/mqueue mqueue rw,relatime,create=dir,optional 0 0&lt;br /&gt;
##&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.mount.entry = /dev/net/tun dev/net/tun none bind,create=file&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/xxxx/rootfs&lt;br /&gt;
lxc.uts.name = xxxx&lt;br /&gt;
## Network configuration&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.hwaddr = xx:xx:xx:xx:xx:xx&lt;br /&gt;
lxc.net.0.link = vmbr1&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = XXX.XXX.XXX.2/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = XXX.XXX.XXX.1&lt;br /&gt;
##vpn specific&lt;br /&gt;
lxc.apparmor.profile = unconfined&lt;br /&gt;
lxc.cgroup.devices.allow = c 10:200 rwm&lt;br /&gt;
&lt;br /&gt;
== VPN IN LXC Container ==&lt;br /&gt;
=== Script ===&lt;br /&gt;
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh -O debian10-vpn.sh&lt;br /&gt;
&lt;br /&gt;
==== Linux Networkmanager Problem ====&lt;br /&gt;
Ändere Script &lt;br /&gt;
&amp;lt;script&amp;gt;&lt;br /&gt;
        if [[ $CUSTOMIZE_ENC == &amp;quot;n&amp;quot; ]];then&lt;br /&gt;
                # Use default, sane and fast parameters&lt;br /&gt;
                ...&lt;br /&gt;
                #TLS_SIG=&amp;quot;1&amp;quot; # tls-crypt&lt;br /&gt;
                TLS_SIG=&amp;quot;2&amp;quot; # tls-auth&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Openvpn&amp;diff=5568</id>
		<title>Openvpn</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Openvpn&amp;diff=5568"/>
		<updated>2020-03-25T16:04:22Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= setup unter lxc debian buser =&lt;br /&gt;
[[debian_buster_lxc_vpn]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= setup unter lxc debian jessie =&lt;br /&gt;
[[debian_jessie_lxc_vpn]]&lt;br /&gt;
&lt;br /&gt;
= Einfaches Setup für zwei Maschinen =&lt;br /&gt;
== Auf beiden Maschinen ==&lt;br /&gt;
 apt-get install openvpn&lt;br /&gt;
&lt;br /&gt;
== Server side ==&lt;br /&gt;
 openvpn --genkey --secret secret.key&lt;br /&gt;
&lt;br /&gt;
 scp secret.key root@&amp;lt;remote host&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 vim /etc/openvpn/simple.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
dev tun&lt;br /&gt;
ifconfig 10.8.0.1 10.8.0.2&lt;br /&gt;
secret secret.key&lt;br /&gt;
keepalive 10 60&lt;br /&gt;
ping-timer-rem&lt;br /&gt;
persist-tun&lt;br /&gt;
persist-key&lt;br /&gt;
user nobody&lt;br /&gt;
group nogroup&lt;br /&gt;
daemon&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Client side ==&lt;br /&gt;
Der &amp;lt;remote.host&amp;gt; muss durch den Clienten aufgelöst werden können.&amp;lt;br&amp;gt;&lt;br /&gt;
Entweder per /etc/hosts oder DNS&lt;br /&gt;
&lt;br /&gt;
 vim /etc/openvpn/simple.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
remote &amp;lt;remote.host&amp;gt;&lt;br /&gt;
dev tun&lt;br /&gt;
ifconfig 10.8.0.2 10.8.0.1&lt;br /&gt;
secret secret.key&lt;br /&gt;
keepalive 10 60&lt;br /&gt;
ping-timer-rem&lt;br /&gt;
persist-tun&lt;br /&gt;
persist-key&lt;br /&gt;
user nobody&lt;br /&gt;
group nogroup&lt;br /&gt;
daemon&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Sternförmiges Setup mit zentralem Server =&lt;br /&gt;
== OpenVPN-Server mit CentOS 7 ==&lt;br /&gt;
=== Installation ===&lt;br /&gt;
OpenVPN befindet sich nicht in den Repos des CentOS-Projektes.&amp;lt;br&amp;gt;&lt;br /&gt;
Deshalb müssen Fedora EPEL repos eingebunden werden.&lt;br /&gt;
 yum install epel-release&lt;br /&gt;
 yum makecache&lt;br /&gt;
&lt;br /&gt;
 yum install openvpn easy-rsa -y&lt;br /&gt;
Ifconfig wird benötigt, es ist per default nicht installiert.&lt;br /&gt;
 yum install net-tools -y&lt;br /&gt;
&lt;br /&gt;
=== Zertifikate erstellen ===&lt;br /&gt;
Wir bauen uns unsere eigene Certification Authority.&amp;lt;br&amp;gt;&lt;br /&gt;
Wichtiger Hinweiß: Aus Sicherheitsgründen sollten der &#039;&#039;&#039;ca.key&#039;&#039;&#039; niemals auf dem Server verbleiben!&lt;br /&gt;
&lt;br /&gt;
Easy-rsa findet sich bei CentOS 7 in &lt;br /&gt;
 /usr/share/easy-rsa/2.0&lt;br /&gt;
Das verzeichniss &#039;&#039;&#039;2.0&#039;&#039;&#039; kopieren wir an einen Platz unserer Wahl, der Ordner kann jeden Namen haben.&amp;lt;br&amp;gt;&lt;br /&gt;
Empfehlenswert ist ein Verzeichnissname, der den Namen des VPN widerspiegelt.&lt;br /&gt;
&lt;br /&gt;
In &#039;&#039;&#039;vars&#039;&#039;&#039; folgende Positionen ändern&lt;br /&gt;
 vim vars&lt;br /&gt;
&lt;br /&gt;
 export KEY_COUNTRY=&amp;quot;&amp;lt;Dein Länderkürzel&amp;gt;&amp;quot;&lt;br /&gt;
 export KEY_PROVINCE=&amp;quot;&amp;lt;Dein Bundesland&amp;gt;&amp;quot;&lt;br /&gt;
 export KEY_CITY=&amp;quot;&amp;lt;Deine Stadt&amp;gt;&amp;quot;&lt;br /&gt;
 export KEY_ORG=&amp;quot;&amp;lt;Deine Organisation/Firma&amp;gt;&amp;quot;&lt;br /&gt;
 export KEY_EMAIL=&amp;quot;&amp;lt;Deine E-Mail-Adresse&amp;gt;&amp;quot;&lt;br /&gt;
 export KEY_OU=&amp;quot;&amp;lt;Abteilung&amp;gt;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 export KEY_NAME=&amp;quot;&amp;lt;irgendwas sinnvollen, VPN-Name mit Name&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Danach folgende Schritte ausführen.&lt;br /&gt;
 . ./vars&lt;br /&gt;
 ./clean-all&lt;br /&gt;
 ./build-ca&lt;br /&gt;
&#039;&#039;&#039; ./build-ca&#039;&#039;&#039; wird die Frage nach dem &#039;&#039;&#039;Common Name&#039;&#039;&#039; aufwerfen.&amp;lt;br&amp;gt;&lt;br /&gt;
Irgendwas sinnvolles, vielleicht VPN-Name.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Server Key und Zertifikat ====&lt;br /&gt;
&amp;lt;Servername&amp;gt; sollte der gleiche String wie &#039;&#039;&#039;Common Name&#039;&#039;&#039;, der bei der Erstellung abgefragt wird, sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Die anfallenden Files weirden den Prefix &amp;lt;Servername&amp;gt; haben.&lt;br /&gt;
 ./build-key-server &amp;lt;Servername&amp;gt; &lt;br /&gt;
&lt;br /&gt;
==== Client Key und Zertifikat ====&lt;br /&gt;
&amp;lt;Clientname&amp;gt; sollte der gleiche String wie &#039;&#039;&#039;Common Name&#039;&#039;&#039;, der bei der Erstellung abgefragt wird, sein.&amp;lt;br&amp;gt;&lt;br /&gt;
Die anfallenden Files weirden den Prefix &amp;lt;Clientname&amp;gt; haben.&lt;br /&gt;
 ./build-key &amp;lt;Clientname&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollen später weitere Clienten in das VPN aufgenommen werden, müssen vorher wieder die Variablen aus vars exportiert werden.&lt;br /&gt;
 . ./vars&lt;br /&gt;
Danach können neue Keys und Zertifikate erstellt werden.&lt;br /&gt;
 ./build-key &amp;lt;neuer Cient&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  Diffie Hellman Parameter erstellen ====&lt;br /&gt;
 ./build-dh&lt;br /&gt;
&lt;br /&gt;
==== Verteilung und Zugriffsrechte der Dateien ==== &lt;br /&gt;
Bei Erstellung der Schlüssel und Zertifikate für den Server und die Clienten wurden folgende Namen verwendet.&amp;lt;br&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 ./build-key-server server&lt;br /&gt;
 ./build-key client1&lt;br /&gt;
 ./build-key client2&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;  border=1&lt;br /&gt;
! Dateiname&lt;br /&gt;
! Benötigt von&lt;br /&gt;
! Zweck&lt;br /&gt;
! Geheim&lt;br /&gt;
|-&lt;br /&gt;
|ca.crt&lt;br /&gt;
|Server + alle Clienten&lt;br /&gt;
|Root CA Zertifikat&lt;br /&gt;
|Nein&lt;br /&gt;
|-&lt;br /&gt;
|ca.key&lt;br /&gt;
|Zertifikat signierende Maschine &lt;br /&gt;
|Root CA Schlüssel&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|dh{n}.pem&lt;br /&gt;
|Nur Server&lt;br /&gt;
|Diffie Hellman parameter&lt;br /&gt;
|Nein&lt;br /&gt;
|-&lt;br /&gt;
|server.crt&lt;br /&gt;
|Nur Server&lt;br /&gt;
|Server Zertifikat&lt;br /&gt;
|Nein&lt;br /&gt;
|-&lt;br /&gt;
|server.key&lt;br /&gt;
|Nur Server&lt;br /&gt;
|Server Schlüssel&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|client1.crt&lt;br /&gt;
|Client1&lt;br /&gt;
|Client1 Zertifikat&lt;br /&gt;
|Nein&lt;br /&gt;
|-&lt;br /&gt;
|client1.key&lt;br /&gt;
|Client1&lt;br /&gt;
|Client1 Schlüssel&lt;br /&gt;
|Ja&lt;br /&gt;
|-&lt;br /&gt;
|client2.crt&lt;br /&gt;
|Client2&lt;br /&gt;
|Client2 Zertifikat&lt;br /&gt;
|Nein&lt;br /&gt;
|-&lt;br /&gt;
|client2.key&lt;br /&gt;
|Client2&lt;br /&gt;
|Client2 Schlüssel&lt;br /&gt;
|Ja&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Config ===&lt;br /&gt;
==== Server Config ====&lt;br /&gt;
 #&lt;br /&gt;
 # /etc/openvpn/newvpn.conf&lt;br /&gt;
 # Files liegen in /etc/openvpn/newvpn&lt;br /&gt;
 # und /etc/openvpn/newvpn/ccd-dir&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 # Port, default ist 1124, alles ist besser als 1124. Minimiert Script-Angriffe.&lt;br /&gt;
 port &amp;lt;Port des VPN-Servers&amp;gt;&lt;br /&gt;
 #Protokoll-Typ&lt;br /&gt;
 proto udp&lt;br /&gt;
 &lt;br /&gt;
 # Device Typ, möglich sind &#039;&#039;&#039;tun&#039;&#039;&#039; und &#039;&#039;&#039;tap&#039;&#039;&#039;&lt;br /&gt;
 dev-type tun&lt;br /&gt;
 # Devicename&lt;br /&gt;
 dev newvpn&lt;br /&gt;
 &lt;br /&gt;
 # Speicherort der Zertifikate, Schlüssel usw. Pfade sind relativ zum Configfile&lt;br /&gt;
 ca newvpn/ca.crt&lt;br /&gt;
 cert newvpn/server.crt&lt;br /&gt;
 key newvpn/server.key&lt;br /&gt;
 dh newvpn/dh2048.pem&lt;br /&gt;
 &lt;br /&gt;
 mode server&lt;br /&gt;
 tls-server&lt;br /&gt;
 # Topologie des Netzwerkes&lt;br /&gt;
 topology subnet&lt;br /&gt;
 # mit &#039;&#039;&#039;push&#039;&#039;&#039; wird die Topologie dem Clienten mitgeteilt&lt;br /&gt;
 push &amp;quot;topology subnet&amp;quot;&lt;br /&gt;
 # IP des Servers und Netzmaske, ergibt zugleich das Netzwerk&lt;br /&gt;
 ifconfig 10.8.100.10 255.255.255.0&lt;br /&gt;
 # Range der frei vergebbaren IPs, vergleichbar mit Range aus DHCP &lt;br /&gt;
 ifconfig-pool 10.8.0.11 10.8.0.199 255.255.255.0&lt;br /&gt;
 &lt;br /&gt;
 # Hier werden die IPs der Clienten hinterlegt, vergleichbar mit &lt;br /&gt;
 # host win01 { hardware ethernet 00:00:00:00:00:00;  fixed-address 192.168.0.5; }&lt;br /&gt;
 # Zuweisung erfolgt über den Dateinamen, der der selbe sein muss wie Common Name im Schlüssel des Clienten&lt;br /&gt;
 #Pfade sind relativ zum Configfile&lt;br /&gt;
 client-config-dir newvpn/ccd-dir&lt;br /&gt;
 &lt;br /&gt;
 ifconfig-pool-persist ipp.txt&lt;br /&gt;
 &lt;br /&gt;
 # Dadurch können sich Clienten untereinander verbinden  &lt;br /&gt;
 client-to-client&lt;br /&gt;
 &lt;br /&gt;
 keepalive 10 120&lt;br /&gt;
 # Kommpression der Verbindung&lt;br /&gt;
 comp-lzo&lt;br /&gt;
 &lt;br /&gt;
 # openvpns user-ID&lt;br /&gt;
 user nobody&lt;br /&gt;
 # openvpns group-ID&lt;br /&gt;
 group nobody&lt;br /&gt;
 &lt;br /&gt;
 # Schlüssel wird bei Erhalt von SIGUSR1 nicht neu geladen&lt;br /&gt;
 persist-key&lt;br /&gt;
 # Tun-Device wird bei Erhalt von SIGUSR1 nicht neu geladen&lt;br /&gt;
 persist-tun&lt;br /&gt;
 # Pfad ist relativ zum Configfile&lt;br /&gt;
 status openvpn-status.log&lt;br /&gt;
 # Verbosity Level&lt;br /&gt;
 verb 3&lt;br /&gt;
 &lt;br /&gt;
 # Achtung: funktionier so nicht. Vielleicht ist der Eintrag eines Gateways notwendig!&lt;br /&gt;
 # Route for all Clients to this network&lt;br /&gt;
 push &amp;quot;route 10.8.88.0 255.255.255.0&amp;quot;&lt;br /&gt;
 route 10.8.88.0 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
Workaround. Wird auf allen Maschinen ausgeführt, die das Netzwerk erreichen sollen.&lt;br /&gt;
 route add -net 10.8.88.0/24 gw 10.8.100.200 newvpn&lt;br /&gt;
&lt;br /&gt;
===== IP Zuweisung an Client =====&lt;br /&gt;
Im Verzeichniss newvpn/ccd-dir liegen die Dateien, die den Clienten feste IPs zuweisen können.&amp;lt;br&amp;gt;&lt;br /&gt;
Die Datei hat den selben Namen wie der Common Name im Key des Clienten &lt;br /&gt;
&lt;br /&gt;
Ist der Client-PC der Router eines Netzerkes, auf dass durch andere Client-PCs zugegriffen werden soll, ist der &#039;&#039;&#039;iroute&#039;&#039;&#039; Eintrag notwendig.&lt;br /&gt;
Dadurch weiß der VPN Server, über welche Maschine er ein Netzwerk erreichen kann.&lt;br /&gt;
&lt;br /&gt;
 vim &amp;lt;Common Name&amp;gt; &lt;br /&gt;
Inhalt der Datei&lt;br /&gt;
 ifconfig-push 10.8.100.201 255.255.255.0&lt;br /&gt;
 iroute 10.8.88.0 255.255.255.0 &lt;br /&gt;
&lt;br /&gt;
===== Files in newvpn =====&lt;br /&gt;
 ca.crt&lt;br /&gt;
 dh2048.pem&lt;br /&gt;
 server.crt&lt;br /&gt;
 server.key&lt;br /&gt;
&lt;br /&gt;
===== Service starten =====&lt;br /&gt;
Startet automatisch bei Systemstart.&amp;lt;br&amp;gt;&lt;br /&gt;
String zwischen &#039;&#039;&#039;@&#039;&#039;&#039; und &#039;&#039;&#039;.service&#039;&#039;&#039; ergibt sich aus dem Confignamen&lt;br /&gt;
 systemctl enable openvpn@server.service &lt;br /&gt;
&lt;br /&gt;
Händischer Start &lt;br /&gt;
 systemctl start openvpn@server.service&lt;br /&gt;
&lt;br /&gt;
==== Client Config ====&lt;br /&gt;
&lt;br /&gt;
 #&lt;br /&gt;
 # /etc/openvpn/newvpn.conf&lt;br /&gt;
 # Files liegen in /etc/openvpn/newvpn&lt;br /&gt;
 &lt;br /&gt;
 tls-client&lt;br /&gt;
 &lt;br /&gt;
 remote &amp;lt;IP oder FQDN des VPN-Servers&amp;gt; &amp;lt;Port des VPN-Servers&amp;gt;&lt;br /&gt;
 proto udp&lt;br /&gt;
 &lt;br /&gt;
 dev-type tun&lt;br /&gt;
 dev newvpn&lt;br /&gt;
 &lt;br /&gt;
 ca      newvpn/ca.crt&lt;br /&gt;
 cert    newvpn/client1.crt&lt;br /&gt;
 key     newvpn/client1.key&lt;br /&gt;
 &lt;br /&gt;
 # Holt Config vom Server, z.B. IP-Adresse&lt;br /&gt;
 pull&lt;br /&gt;
 &lt;br /&gt;
 keepalive 10 120&lt;br /&gt;
 &lt;br /&gt;
 comp-lzo&lt;br /&gt;
 &lt;br /&gt;
 persist-key&lt;br /&gt;
 persist-tun&lt;br /&gt;
 &lt;br /&gt;
 verb 3&lt;br /&gt;
&lt;br /&gt;
===== Files in newvpn =====&lt;br /&gt;
 ca.crt&lt;br /&gt;
 client1.crt&lt;br /&gt;
 client1.key&lt;br /&gt;
&lt;br /&gt;
=== Remote Network ===&lt;br /&gt;
Ein Client-PC soll Zugriff auf das Netzwerk eines anderen Clienten bekommen.&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;Service-PC&amp;gt;: Der PC, der auf das Remote Network zugreifen soll.&lt;br /&gt;
* &amp;lt;Remote Network Router&amp;gt;: Der Router des Remote Networks.&lt;br /&gt;
&lt;br /&gt;
==== Zusätzlicher Eintrag in das CCD-File des zugreifenden Clienten ====&lt;br /&gt;
Damit der Client-PC, über den der Fernzugriff auf das Remote Network erfolgen soll, weiß, wie er das Remote Network erreichen kann, enötigt er eine zusätzliche Route.&amp;lt;br&amp;gt;&lt;br /&gt;
Dies geschieht per &#039;&#039;&#039;push &amp;quot;route &amp;lt;Network&amp;gt; &amp;lt;Netmask&amp;gt; &amp;lt;Gateway&amp;gt;&amp;quot;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Der Eintrag sollte im CCD-File gemacht werde und nicht im globalen Config-File, damit nicht unerwünschte Routen zwischen den Netzwerken entstehen.&amp;lt;br&amp;gt;&lt;br /&gt;
Ein &#039;&#039;&#039;push&#039;&#039;&#039; Eintrag in der globalen Config gilt für alle Clienten.&lt;br /&gt;
Eine erweiterte Firewall-Regel kann nicht schaden, am besten whitelisting.&lt;br /&gt;
&lt;br /&gt;
 vim &amp;lt;Service-PC&amp;gt; &lt;br /&gt;
Inhalt der Datei&lt;br /&gt;
 ifconfig-push 10.8.100.231 255.255.255.0&lt;br /&gt;
 push &amp;quot;route 10.8.88.0 255.255.255.0 10.8.100.200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Zusätzlicher Eintrag in das CCD-File des Routers des zu erreichenden Netzwerkes ====&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Der Client-PC ist der Router eines Netzerkes, auf dass durch andere Client-PCs zugegriffen werden soll&lt;br /&gt;
Dazu ist der &#039;&#039;&#039;iroute&#039;&#039;&#039; Eintrag notwendig.&lt;br /&gt;
Dadurch weiß der VPN Server, über welche Maschine er das Netzwerk erreichen kann.&lt;br /&gt;
&lt;br /&gt;
 vim &amp;lt;Remote Network Router&amp;gt; &lt;br /&gt;
Inhalt der Datei&lt;br /&gt;
 ifconfig-push 10.8.100.200 255.255.255.0&lt;br /&gt;
 iroute 10.8.88.0 255.255.255.0&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* https://openvpn.net/index.php/open-source/documentation/howto.html#pki&lt;br /&gt;
* https://www.digitalocean.com/community/tutorials/how-to-setup-and-configure-an-openvpn-server-on-centos-7&lt;br /&gt;
* http://backreference.org/2009/11/15/openvpn-and-iroute/&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=LXC_Routed_Setup_2019&amp;diff=5437</id>
		<title>LXC Routed Setup 2019</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=LXC_Routed_Setup_2019&amp;diff=5437"/>
		<updated>2019-11-25T16:17:09Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Warum dieses Setup==&lt;br /&gt;
&lt;br /&gt;
Es soll nur über die MAC-Adresse(n) der Netzwerkkarte(n) gerouted werden.&lt;br /&gt;
Die virtuelen MAC sollen nicht am Interface auftauchen.&lt;br /&gt;
&lt;br /&gt;
=== Host ===&lt;br /&gt;
 /etc/lxc/default.conf&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.hwaddr = 00:11:4a:xx:xx:xx&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
USE_LXC_BRIDGE=&amp;quot;false&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 /etc/network/interfaces&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface lo inet6 loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Server Ip = 1.2.3.4&lt;br /&gt;
# netmask = 255.255.255.0&lt;br /&gt;
# Main Ip subnet = 2.2.3.1 (2.2.3.1 ,2.2.3.2,2.2.3.3...)&lt;br /&gt;
# Single IP I =3.2.3.1&lt;br /&gt;
# Single IP II =4.2.3.1&lt;br /&gt;
&lt;br /&gt;
# device: eth0&lt;br /&gt;
auto  eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
  address   1.2.3.4&lt;br /&gt;
  netmask   255.255.255.0&lt;br /&gt;
  gateway   1.2.3.5&lt;br /&gt;
  pointopoint   1.2.3.5&lt;br /&gt;
  # default route to access subnet&lt;br /&gt;
  up route add -net x.x.x.1 netmask 255.255.255.192 gw x.x.x.2 eth0&lt;br /&gt;
&lt;br /&gt;
iface eth0 inet6 static&lt;br /&gt;
  address 3a02:5f4:172:11ce::1&lt;br /&gt;
  netmask 64&lt;br /&gt;
  gateway fe80::1&lt;br /&gt;
  up sysctl -p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# fuer Einzel-IPs&lt;br /&gt;
auto vmbr0&lt;br /&gt;
iface vmbr0 inet static&lt;br /&gt;
  address 1.2.3.4&lt;br /&gt;
  netmask 255.255.255.255&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  bridge_stp off&lt;br /&gt;
  bridge_fd 0&lt;br /&gt;
  up ip route add 3.2.3.1/32 dev vmbr0&lt;br /&gt;
  up ip route add 4.2.3.1/32 dev vmbr0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# fuer ein Subnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
auto vmbr1&lt;br /&gt;
iface vmbr1 inet static&lt;br /&gt;
  address 2.2.3.1&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  bridge_stp off&lt;br /&gt;
  bridge_fd 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Container ===&lt;br /&gt;
&lt;br /&gt;
==== Subnet ====&lt;br /&gt;
 /var/lib/lxc/CONTAINER/config&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/CONTAINER/rootfs&lt;br /&gt;
lxc.uts.name = CONTAINER&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.link = vmbr1&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = 2.2.3.2/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = 2.2.3.1&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Single IP ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/CONTAINER/rootfs&lt;br /&gt;
lxc.uts.name = CONTAINER&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.link = vmbr0&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = 3.2.3.1/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = 1.2.3.4&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Überprüfen ===&lt;br /&gt;
auf dem Host :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
tcpdump -n -i eth0 -e  |egrep  &#039;00:11:4a&#039;&lt;br /&gt;
darf nicht auftauchen &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=LXC_Routed_Setup_2019&amp;diff=5436</id>
		<title>LXC Routed Setup 2019</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=LXC_Routed_Setup_2019&amp;diff=5436"/>
		<updated>2019-11-25T16:09:55Z</updated>

		<summary type="html">&lt;p&gt;V: /* Container */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Host ===&lt;br /&gt;
 /etc/lxc/default.conf&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.hwaddr = 00:11:4a:xx:xx:xx&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
USE_LXC_BRIDGE=&amp;quot;false&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 /etc/network/interfaces&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface lo inet6 loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Server Ip = 1.2.3.4&lt;br /&gt;
# netmask = 255.255.255.0&lt;br /&gt;
# Main Ip subnet = 2.2.3.1 (2.2.3.1 ,2.2.3.2,2.2.3.3...)&lt;br /&gt;
# Single IP I =3.2.3.1&lt;br /&gt;
# Single IP II =4.2.3.1&lt;br /&gt;
&lt;br /&gt;
# device: eth0&lt;br /&gt;
auto  eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
  address   1.2.3.4&lt;br /&gt;
  netmask   255.255.255.0&lt;br /&gt;
  gateway   1.2.3.5&lt;br /&gt;
  pointopoint   1.2.3.5&lt;br /&gt;
  # default route to access subnet&lt;br /&gt;
  up route add -net x.x.x.1 netmask 255.255.255.192 gw x.x.x.2 eth0&lt;br /&gt;
&lt;br /&gt;
iface eth0 inet6 static&lt;br /&gt;
  address 3a02:5f4:172:11ce::1&lt;br /&gt;
  netmask 64&lt;br /&gt;
  gateway fe80::1&lt;br /&gt;
  up sysctl -p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# fuer Einzel-IPs&lt;br /&gt;
auto vmbr0&lt;br /&gt;
iface vmbr0 inet static&lt;br /&gt;
  address 1.2.3.4&lt;br /&gt;
  netmask 255.255.255.255&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  bridge_stp off&lt;br /&gt;
  bridge_fd 0&lt;br /&gt;
  up ip route add 3.2.3.1/32 dev vmbr0&lt;br /&gt;
  up ip route add 4.2.3.1/32 dev vmbr0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# fuer ein Subnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
auto vmbr1&lt;br /&gt;
iface vmbr1 inet static&lt;br /&gt;
  address 2.2.3.1&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  bridge_stp off&lt;br /&gt;
  bridge_fd 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Container ===&lt;br /&gt;
&lt;br /&gt;
==== Subnet ====&lt;br /&gt;
 /var/lib/lxc/CONTAINER/config&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/CONTAINER/rootfs&lt;br /&gt;
lxc.uts.name = CONTAINER&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.link = vmbr1&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = 2.2.3.2/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = 2.2.3.1&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Single IP ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lxc.arch = linux64&lt;br /&gt;
lxc.rootfs.path = dir:/var/lib/lxc/CONTAINER/rootfs&lt;br /&gt;
lxc.uts.name = CONTAINER&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.link = vmbr0&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.ipv4.address = 3.2.3.1/32&lt;br /&gt;
lxc.net.0.ipv4.gateway = 1.2.3.4&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=LXC_Routed_Setup_2019&amp;diff=5435</id>
		<title>LXC Routed Setup 2019</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=LXC_Routed_Setup_2019&amp;diff=5435"/>
		<updated>2019-11-25T16:02:16Z</updated>

		<summary type="html">&lt;p&gt;V: /* Host */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Host ===&lt;br /&gt;
 /etc/lxc/default.conf&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lxc.net.0.type = veth&lt;br /&gt;
lxc.net.0.flags = up&lt;br /&gt;
lxc.net.0.hwaddr = 00:11:4a:xx:xx:xx&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 /etc/default/lxc-net&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
USE_LXC_BRIDGE=&amp;quot;false&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 /etc/network/interfaces&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
iface lo inet6 loopback&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# Server Ip = 1.2.3.4&lt;br /&gt;
# netmask = 255.255.255.0&lt;br /&gt;
# Main Ip subnet = 2.2.3.1 (2.2.3.1 ,2.2.3.2,2.2.3.3...)&lt;br /&gt;
# Single IP I =3.2.3.1&lt;br /&gt;
# Single IP II =4.2.3.1&lt;br /&gt;
&lt;br /&gt;
# device: eth0&lt;br /&gt;
auto  eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
  address   1.2.3.4&lt;br /&gt;
  netmask   255.255.255.0&lt;br /&gt;
  gateway   1.2.3.5&lt;br /&gt;
  pointopoint   1.2.3.5&lt;br /&gt;
  # default route to access subnet&lt;br /&gt;
  up route add -net x.x.x.1 netmask 255.255.255.192 gw x.x.x.2 eth0&lt;br /&gt;
&lt;br /&gt;
iface eth0 inet6 static&lt;br /&gt;
  address 3a02:5f4:172:11ce::1&lt;br /&gt;
  netmask 64&lt;br /&gt;
  gateway fe80::1&lt;br /&gt;
  up sysctl -p&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# fuer Einzel-IPs&lt;br /&gt;
auto vmbr0&lt;br /&gt;
iface vmbr0 inet static&lt;br /&gt;
  address 1.2.3.4&lt;br /&gt;
  netmask 255.255.255.255&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  bridge_stp off&lt;br /&gt;
  bridge_fd 0&lt;br /&gt;
  up ip route add 3.2.3.1/32 dev vmbr0&lt;br /&gt;
  up ip route add 4.2.3.1/32 dev vmbr0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# fuer ein Subnet&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
auto vmbr1&lt;br /&gt;
iface vmbr1 inet static&lt;br /&gt;
  address 2.2.3.1&lt;br /&gt;
  netmask 255.255.255.0&lt;br /&gt;
  bridge_ports none&lt;br /&gt;
  bridge_stp off&lt;br /&gt;
  bridge_fd 0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Container ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=LXC_Routed_Setup_2019&amp;diff=5434</id>
		<title>LXC Routed Setup 2019</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=LXC_Routed_Setup_2019&amp;diff=5434"/>
		<updated>2019-11-25T15:47:47Z</updated>

		<summary type="html">&lt;p&gt;V: Die Seite wurde neu angelegt: „  === Host === &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;  &amp;lt;/source&amp;gt;    === Container ===  &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;  &amp;lt;/source&amp;gt;    &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;  &amp;lt;/source&amp;gt;    &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
=== Host ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Container ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=Lxc&amp;diff=5433</id>
		<title>Lxc</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=Lxc&amp;diff=5433"/>
		<updated>2019-11-25T15:46:20Z</updated>

		<summary type="html">&lt;p&gt;V: /* LXC Notizen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== LXC Notizen ==&lt;br /&gt;
* [[ LXC auf Ubuntu 14.04-2 LTS ]]&lt;br /&gt;
* [[ LXC auf CentOS 7 ]]&lt;br /&gt;
* [[ LXC Routed Setup 2019]]&lt;br /&gt;
=== Host Allgemein ===&lt;br /&gt;
==== Passwort im Container setzen ====&lt;br /&gt;
 Passwörter können vom Host aus bequem mit chroot gesetzt werden&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 cd /var/lib/lxc/CONTAINER&lt;br /&gt;
 chroot rootfs /bin/bash&lt;br /&gt;
 passwd&lt;br /&gt;
&amp;lt;/source&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
====Container Allgemein ====&lt;br /&gt;
 Die Netzwerkeinstellungen und der Hostname des Containers können automatischüber die config erzeugt werden &lt;br /&gt;
 Im Container:&lt;br /&gt;
 &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 rm /etc/network/interfaces&lt;br /&gt;
 rm /etc/hostname&lt;br /&gt;
 &amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 In der Containerconfig:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
 vim /var/lib/lxc/CONTAINER/config&lt;br /&gt;
 lxc.network.type = veth&lt;br /&gt;
 lxc.network.flags = up&lt;br /&gt;
 lxc.network.link = lxcbr0 # Unter Debian benutzen wir br0&lt;br /&gt;
 lxc.network.hwaddr = XX:XX:XX:XX:XX:XX&lt;br /&gt;
 lxc.network.ipv4 = XXX.XXX.XXX.XXX/32 # IP des Containers&lt;br /&gt;
 lxc.network.ipv4.gateway = XXX.XXX.XXX.XXX # IP des Hosts&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Host Debian ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Host Ubuntu 14.04===&lt;br /&gt;
&lt;br /&gt;
==== Container mit Systemd starten ====&lt;br /&gt;
 Anpassen der Config des Containers&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
Fehlermeldung verursacht von Apparmor:&lt;br /&gt;
Failed to mount cgroup at /sys/fs/cgroup/systemd: Permission denied       &lt;br /&gt;
&lt;br /&gt;
 vim /var/lib/lxc/CONTAINER/config&lt;br /&gt;
 lxc.kmsg = 0&lt;br /&gt;
 lxc.aa_profile = unconfined&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installation eines Containers == &lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /var/lib/lxc&lt;br /&gt;
lxc-create -t download -n  ncphp73  -- --dist ubuntu --release bionic --arch amd64&lt;br /&gt;
cp  /var/lib/lxc/ncphp73/config  /var/lib/lxc/ncphp73/config.original20190418&lt;br /&gt;
vim /var/lib/lxc/ncphp73/config &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
lxc-ls -f&lt;br /&gt;
lxc-start -n ncphp73 &lt;br /&gt;
lxc-ls -f&lt;br /&gt;
lxc-attach -n ncphp73 &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Konfiguration ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
echo &amp;quot;nameserver 8.8.8.8&amp;quot; &amp;gt;&amp;gt; /etc/resolv.conf&lt;br /&gt;
&lt;br /&gt;
vim /etc/bash.bashrc &lt;br /&gt;
# bash-completion auskommentieren&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation von Software ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install wget bash-completion zip unzip rsync openssh-server openssh-sftp-server&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
==== Ex-Kurs apache mit php 7.3 ====&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt-get install software-properties-common&lt;br /&gt;
add-apt-repository ppa:ondrej/php&lt;br /&gt;
add-apt-repository ppa:ondrej/apache2&lt;br /&gt;
apt-get update &lt;br /&gt;
apt-get install php7.3 php7.3-cli php7.3-common&lt;br /&gt;
apt-get install imagemagick apache2 libapache2-mod-php7.3 php7.3-cli php7.3 php7.3-common php7.3-imap php7.3-intl php7.3-mysql php7.3-readline php7.3-soap php7.3-zip php7.3-zip php7.3-gd php7.3-xml php7.3-gd php7.3-json php7.3-opcache php-imagick php7.3-curl php7.3-mbstring php7.3-bcmath php7.3-gmp php7.3-zip composer php7.3-curl php7.3-dev php7.3-gd php7.3-mbstring php7.3-zip php7.3-mysql php7.3-xml php7.3-fpm libapache2-mod-php7.3 php7.3-imagick php7.3-recode php7.3-tidy php7.3-xmlrpc php7.3-intl mysql-server-5.7 phpmyadmin apache2-utils&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [https://wiki.ubuntuusers.de/MySQL/#Besonderheiten-beim-root-Passwort mysql: Besonderheiten beim root Passwort]&lt;br /&gt;
&lt;br /&gt;
=== Konfiguration von Software ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
a2enmod ssl&lt;br /&gt;
systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=FastReport_6&amp;diff=5352</id>
		<title>FastReport 6</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=FastReport_6&amp;diff=5352"/>
		<updated>2019-10-29T16:23:49Z</updated>

		<summary type="html">&lt;p&gt;V: /* Zero length identifiers are not allowed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
= Fast Report 6=&lt;br /&gt;
&lt;br /&gt;
== Anweisungen ==&lt;br /&gt;
&lt;br /&gt;
=== IF ELSE:===&lt;br /&gt;
&#039;&#039;&#039;Im Memo&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt; &lt;br /&gt;
[IIF(&amp;lt;KOPF_Fuss.&amp;quot;LIEFERTERMIN&amp;quot;&amp;gt;= 0,&#039;_if_&#039;, &#039;_else_&#039;)]   [IIF(&amp;lt;Kopf_Fuss.&amp;quot;LIEFERTERMIN&amp;quot;&amp;gt;= 0,  &#039; &#039;, &amp;lt;Kopf_Fuss.&amp;quot;LIEFERTERMIN&amp;quot;&amp;gt;)]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Pascal Script&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt; &lt;br /&gt;
if( &amp;lt;Kopf_Fuss.&amp;quot;ZAHLART&amp;quot;&amp;gt;=&#039;VK&#039; ) then&lt;br /&gt;
   begin&lt;br /&gt;
      AncMemoSpecialInfo.Text :=  &#039;&#039;;&lt;br /&gt;
      AncMemoSpecialInfo.Visible := False;&lt;br /&gt;
   end&lt;br /&gt;
else&lt;br /&gt;
   begin&lt;br /&gt;
      AncMemoSpecialInfo.Visible := True;&lt;br /&gt;
      AncMemoSpecialInfo.Text := &#039;Text &#039;;&lt;br /&gt;
   end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Case ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
case &amp;lt;Kopf_Fuss.&amp;quot;BELEGART&amp;quot;&amp;gt; of&lt;br /&gt;
  &#039;0100&#039;:&lt;br /&gt;
      begin&lt;br /&gt;
         Zahl.visible := True&lt;br /&gt;
      end;&lt;br /&gt;
  &#039;0200&#039;:&lt;br /&gt;
      begin&lt;br /&gt;
         Zahl.visible := True&lt;br /&gt;
      end;&lt;br /&gt;
  &#039;0400&#039;:&lt;br /&gt;
      begin&lt;br /&gt;
         Zahl.visible := True&lt;br /&gt;
      end;&lt;br /&gt;
   else&lt;br /&gt;
      begin&lt;br /&gt;
         Zahl.visible := FALSE;&lt;br /&gt;
      end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Trim:===&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt; &lt;br /&gt;
[TRIM(&amp;lt;Kopf_Fuss.&amp;quot;KOPFTEXT&amp;quot;&amp;gt;)]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Leerzeilen unterdrücken:===&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt; &lt;br /&gt;
[vLeerzeilenUnterdruecken(&amp;lt;Lieferanschrift.&amp;quot;AUSGABE&amp;quot;&amp;gt;)]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&#039;&#039;&#039;Hier Soll Ein Element Prozedural versteckt werden, normalerweise ist das ja nicht nötig &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es Muss ein MasterData Band existieren und das Child&lt;br /&gt;
 ancAncMasterData1HideIfNoData&lt;br /&gt;
&lt;br /&gt;
Im Child Ereignisse&lt;br /&gt;
 OnBeforePrint: ancAncMasterData1HideIfNoData  &lt;br /&gt;
=== Zeige nicht bei 0 Datensätzen === &lt;br /&gt;
&amp;lt;source lang=pascal&amp;gt; &lt;br /&gt;
procedure ancAncMasterData1HideIfNoData(Sender: TfrxComponent);&lt;br /&gt;
begin&lt;br /&gt;
  if AncMasterData1.RowCount = 0 then&lt;br /&gt;
  begin&lt;br /&gt;
   Engine.ShowBand(AncHeaderDatenNichtVersendet);&lt;br /&gt;
   AncHeaderDatenNichtVersendet.Visible := True;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== String mit Datum verknüfen und anzeiogen === &lt;br /&gt;
&amp;lt;source lang=pascal&amp;gt; &lt;br /&gt;
procedure FixdatumOnBeforePrint(Sender: TfrxComponent);&lt;br /&gt;
begin&lt;br /&gt;
         if  &amp;lt;qrBEK.&amp;quot;FIXDATUM&amp;quot;&amp;gt; &amp;gt; 0 then&lt;br /&gt;
            Fixdatum.Text := &#039;Fixtermin: &#039;+ FormatDateTime(  &#039;d-mmm-yyyy&#039; ,  &amp;lt;qrBEK.&amp;quot;FIXDATUM&amp;quot;&amp;gt; )   +&#039;!&#039;           &lt;br /&gt;
         else&lt;br /&gt;
            Fixdatum.Text :=&#039;&#039;;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;vs. als Memo&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;source lang=pascal&amp;gt; &lt;br /&gt;
[IIF(&amp;lt;qrBEK.&amp;quot;FIXDATUM&amp;quot;&amp;gt; &amp;gt;0,  &#039;Fixtermin: &#039;+ FormatDateTime( &#039;d-mmm-yyyy&#039; ,&amp;lt;qrBEK.&amp;quot;FIXDATUM&amp;quot;&amp;gt;)+&#039;!&#039;,&#039;&#039; )]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Zeige nur auf der ersten Seite ===&lt;br /&gt;
&amp;lt;source lang=pascal&amp;gt; &lt;br /&gt;
procedure Memo67OnBeforePrint(Sender: TfrxComponent);&lt;br /&gt;
begin&lt;br /&gt;
  // Zeige nur auf der ersten Seite                                                                              &lt;br /&gt;
  if &amp;lt;Page#&amp;gt; &amp;gt; 1 then&lt;br /&gt;
    begin&lt;br /&gt;
       Memo67.Visible := False&lt;br /&gt;
    end&lt;br /&gt;
  else&lt;br /&gt;
    begin&lt;br /&gt;
       Memo67.Visible := True&lt;br /&gt;
    end              &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datenband mit Liste, Gruppierung und Überschrift ==&lt;br /&gt;
&lt;br /&gt;
Über dem Datenbankband wird ein Gruppenkopfband angelegt mit dem Gruppienwechsel bei Datenfeld. &lt;br /&gt;
Darüber kommt der Kopf.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Probleme Bei der Übernahme von firebird 2.5 auf 3 Querys==&lt;br /&gt;
===  Zero length identifiers are not allowed ===&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt; &lt;br /&gt;
select &lt;br /&gt;
  bek.id bek_id,&lt;br /&gt;
  bek.belegnr,&lt;br /&gt;
  iif(coalesce(adr.kurzname, &amp;quot;&amp;quot;) &amp;lt;&amp;gt; &amp;quot;&amp;quot;, adr.kurzname, adr.name1) kurzname,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quotes müssen einfach sein:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=sql&amp;gt; &lt;br /&gt;
select &lt;br /&gt;
  bek.id bek_id,&lt;br /&gt;
  bek.belegnr,&lt;br /&gt;
  iif(coalesce(adr.kurzname, &#039;&#039;) &amp;lt;&amp;gt; &#039;&#039;, adr.kurzname, adr.name1) kurzname,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=FastReport_6&amp;diff=5351</id>
		<title>FastReport 6</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=FastReport_6&amp;diff=5351"/>
		<updated>2019-10-29T16:23:23Z</updated>

		<summary type="html">&lt;p&gt;V: /* Zero length identifiers are not allowed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
= Fast Report 6=&lt;br /&gt;
&lt;br /&gt;
== Anweisungen ==&lt;br /&gt;
&lt;br /&gt;
=== IF ELSE:===&lt;br /&gt;
&#039;&#039;&#039;Im Memo&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt; &lt;br /&gt;
[IIF(&amp;lt;KOPF_Fuss.&amp;quot;LIEFERTERMIN&amp;quot;&amp;gt;= 0,&#039;_if_&#039;, &#039;_else_&#039;)]   [IIF(&amp;lt;Kopf_Fuss.&amp;quot;LIEFERTERMIN&amp;quot;&amp;gt;= 0,  &#039; &#039;, &amp;lt;Kopf_Fuss.&amp;quot;LIEFERTERMIN&amp;quot;&amp;gt;)]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Pascal Script&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt; &lt;br /&gt;
if( &amp;lt;Kopf_Fuss.&amp;quot;ZAHLART&amp;quot;&amp;gt;=&#039;VK&#039; ) then&lt;br /&gt;
   begin&lt;br /&gt;
      AncMemoSpecialInfo.Text :=  &#039;&#039;;&lt;br /&gt;
      AncMemoSpecialInfo.Visible := False;&lt;br /&gt;
   end&lt;br /&gt;
else&lt;br /&gt;
   begin&lt;br /&gt;
      AncMemoSpecialInfo.Visible := True;&lt;br /&gt;
      AncMemoSpecialInfo.Text := &#039;Text &#039;;&lt;br /&gt;
   end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Case ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
case &amp;lt;Kopf_Fuss.&amp;quot;BELEGART&amp;quot;&amp;gt; of&lt;br /&gt;
  &#039;0100&#039;:&lt;br /&gt;
      begin&lt;br /&gt;
         Zahl.visible := True&lt;br /&gt;
      end;&lt;br /&gt;
  &#039;0200&#039;:&lt;br /&gt;
      begin&lt;br /&gt;
         Zahl.visible := True&lt;br /&gt;
      end;&lt;br /&gt;
  &#039;0400&#039;:&lt;br /&gt;
      begin&lt;br /&gt;
         Zahl.visible := True&lt;br /&gt;
      end;&lt;br /&gt;
   else&lt;br /&gt;
      begin&lt;br /&gt;
         Zahl.visible := FALSE;&lt;br /&gt;
      end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Trim:===&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt; &lt;br /&gt;
[TRIM(&amp;lt;Kopf_Fuss.&amp;quot;KOPFTEXT&amp;quot;&amp;gt;)]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Leerzeilen unterdrücken:===&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt; &lt;br /&gt;
[vLeerzeilenUnterdruecken(&amp;lt;Lieferanschrift.&amp;quot;AUSGABE&amp;quot;&amp;gt;)]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&#039;&#039;&#039;Hier Soll Ein Element Prozedural versteckt werden, normalerweise ist das ja nicht nötig &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es Muss ein MasterData Band existieren und das Child&lt;br /&gt;
 ancAncMasterData1HideIfNoData&lt;br /&gt;
&lt;br /&gt;
Im Child Ereignisse&lt;br /&gt;
 OnBeforePrint: ancAncMasterData1HideIfNoData  &lt;br /&gt;
=== Zeige nicht bei 0 Datensätzen === &lt;br /&gt;
&amp;lt;source lang=pascal&amp;gt; &lt;br /&gt;
procedure ancAncMasterData1HideIfNoData(Sender: TfrxComponent);&lt;br /&gt;
begin&lt;br /&gt;
  if AncMasterData1.RowCount = 0 then&lt;br /&gt;
  begin&lt;br /&gt;
   Engine.ShowBand(AncHeaderDatenNichtVersendet);&lt;br /&gt;
   AncHeaderDatenNichtVersendet.Visible := True;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== String mit Datum verknüfen und anzeiogen === &lt;br /&gt;
&amp;lt;source lang=pascal&amp;gt; &lt;br /&gt;
procedure FixdatumOnBeforePrint(Sender: TfrxComponent);&lt;br /&gt;
begin&lt;br /&gt;
         if  &amp;lt;qrBEK.&amp;quot;FIXDATUM&amp;quot;&amp;gt; &amp;gt; 0 then&lt;br /&gt;
            Fixdatum.Text := &#039;Fixtermin: &#039;+ FormatDateTime(  &#039;d-mmm-yyyy&#039; ,  &amp;lt;qrBEK.&amp;quot;FIXDATUM&amp;quot;&amp;gt; )   +&#039;!&#039;           &lt;br /&gt;
         else&lt;br /&gt;
            Fixdatum.Text :=&#039;&#039;;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;vs. als Memo&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;source lang=pascal&amp;gt; &lt;br /&gt;
[IIF(&amp;lt;qrBEK.&amp;quot;FIXDATUM&amp;quot;&amp;gt; &amp;gt;0,  &#039;Fixtermin: &#039;+ FormatDateTime( &#039;d-mmm-yyyy&#039; ,&amp;lt;qrBEK.&amp;quot;FIXDATUM&amp;quot;&amp;gt;)+&#039;!&#039;,&#039;&#039; )]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Zeige nur auf der ersten Seite ===&lt;br /&gt;
&amp;lt;source lang=pascal&amp;gt; &lt;br /&gt;
procedure Memo67OnBeforePrint(Sender: TfrxComponent);&lt;br /&gt;
begin&lt;br /&gt;
  // Zeige nur auf der ersten Seite                                                                              &lt;br /&gt;
  if &amp;lt;Page#&amp;gt; &amp;gt; 1 then&lt;br /&gt;
    begin&lt;br /&gt;
       Memo67.Visible := False&lt;br /&gt;
    end&lt;br /&gt;
  else&lt;br /&gt;
    begin&lt;br /&gt;
       Memo67.Visible := True&lt;br /&gt;
    end              &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datenband mit Liste, Gruppierung und Überschrift ==&lt;br /&gt;
&lt;br /&gt;
Über dem Datenbankband wird ein Gruppenkopfband angelegt mit dem Gruppienwechsel bei Datenfeld. &lt;br /&gt;
Darüber kommt der Kopf.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Probleme Bei der Übernahme von firebird 2.5 auf 3 Querys==&lt;br /&gt;
===  Zero length identifiers are not allowed ===&lt;br /&gt;
&amp;lt;source lang=firebird&amp;gt; &lt;br /&gt;
select &lt;br /&gt;
  bek.id bek_id,&lt;br /&gt;
  bek.belegnr,&lt;br /&gt;
  iif(coalesce(adr.kurzname, &amp;quot;&amp;quot;) &amp;lt;&amp;gt; &amp;quot;&amp;quot;, adr.kurzname, adr.name1) kurzname,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Quotes müssen einfach sein:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=firebird&amp;gt; &lt;br /&gt;
select &lt;br /&gt;
  bek.id bek_id,&lt;br /&gt;
  bek.belegnr,&lt;br /&gt;
  iif(coalesce(adr.kurzname, &#039;&#039;) &amp;lt;&amp;gt; &#039;&#039;, adr.kurzname, adr.name1) kurzname,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
	<entry>
		<id>https://vosp.freesn.de/index.php?title=FastReport_6&amp;diff=5350</id>
		<title>FastReport 6</title>
		<link rel="alternate" type="text/html" href="https://vosp.freesn.de/index.php?title=FastReport_6&amp;diff=5350"/>
		<updated>2019-10-29T16:22:34Z</updated>

		<summary type="html">&lt;p&gt;V: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;br /&gt;
= Fast Report 6=&lt;br /&gt;
&lt;br /&gt;
== Anweisungen ==&lt;br /&gt;
&lt;br /&gt;
=== IF ELSE:===&lt;br /&gt;
&#039;&#039;&#039;Im Memo&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt; &lt;br /&gt;
[IIF(&amp;lt;KOPF_Fuss.&amp;quot;LIEFERTERMIN&amp;quot;&amp;gt;= 0,&#039;_if_&#039;, &#039;_else_&#039;)]   [IIF(&amp;lt;Kopf_Fuss.&amp;quot;LIEFERTERMIN&amp;quot;&amp;gt;= 0,  &#039; &#039;, &amp;lt;Kopf_Fuss.&amp;quot;LIEFERTERMIN&amp;quot;&amp;gt;)]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Pascal Script&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt; &lt;br /&gt;
if( &amp;lt;Kopf_Fuss.&amp;quot;ZAHLART&amp;quot;&amp;gt;=&#039;VK&#039; ) then&lt;br /&gt;
   begin&lt;br /&gt;
      AncMemoSpecialInfo.Text :=  &#039;&#039;;&lt;br /&gt;
      AncMemoSpecialInfo.Visible := False;&lt;br /&gt;
   end&lt;br /&gt;
else&lt;br /&gt;
   begin&lt;br /&gt;
      AncMemoSpecialInfo.Visible := True;&lt;br /&gt;
      AncMemoSpecialInfo.Text := &#039;Text &#039;;&lt;br /&gt;
   end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Case ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;pascal&amp;quot;&amp;gt;&lt;br /&gt;
case &amp;lt;Kopf_Fuss.&amp;quot;BELEGART&amp;quot;&amp;gt; of&lt;br /&gt;
  &#039;0100&#039;:&lt;br /&gt;
      begin&lt;br /&gt;
         Zahl.visible := True&lt;br /&gt;
      end;&lt;br /&gt;
  &#039;0200&#039;:&lt;br /&gt;
      begin&lt;br /&gt;
         Zahl.visible := True&lt;br /&gt;
      end;&lt;br /&gt;
  &#039;0400&#039;:&lt;br /&gt;
      begin&lt;br /&gt;
         Zahl.visible := True&lt;br /&gt;
      end;&lt;br /&gt;
   else&lt;br /&gt;
      begin&lt;br /&gt;
         Zahl.visible := FALSE;&lt;br /&gt;
      end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Trim:===&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt; &lt;br /&gt;
[TRIM(&amp;lt;Kopf_Fuss.&amp;quot;KOPFTEXT&amp;quot;&amp;gt;)]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Leerzeilen unterdrücken:===&lt;br /&gt;
&amp;lt;source lang=bash&amp;gt; &lt;br /&gt;
[vLeerzeilenUnterdruecken(&amp;lt;Lieferanschrift.&amp;quot;AUSGABE&amp;quot;&amp;gt;)]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Funktionen ==&lt;br /&gt;
&#039;&#039;&#039;Hier Soll Ein Element Prozedural versteckt werden, normalerweise ist das ja nicht nötig &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Es Muss ein MasterData Band existieren und das Child&lt;br /&gt;
 ancAncMasterData1HideIfNoData&lt;br /&gt;
&lt;br /&gt;
Im Child Ereignisse&lt;br /&gt;
 OnBeforePrint: ancAncMasterData1HideIfNoData  &lt;br /&gt;
=== Zeige nicht bei 0 Datensätzen === &lt;br /&gt;
&amp;lt;source lang=pascal&amp;gt; &lt;br /&gt;
procedure ancAncMasterData1HideIfNoData(Sender: TfrxComponent);&lt;br /&gt;
begin&lt;br /&gt;
  if AncMasterData1.RowCount = 0 then&lt;br /&gt;
  begin&lt;br /&gt;
   Engine.ShowBand(AncHeaderDatenNichtVersendet);&lt;br /&gt;
   AncHeaderDatenNichtVersendet.Visible := True;&lt;br /&gt;
  end;&lt;br /&gt;
end;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== String mit Datum verknüfen und anzeiogen === &lt;br /&gt;
&amp;lt;source lang=pascal&amp;gt; &lt;br /&gt;
procedure FixdatumOnBeforePrint(Sender: TfrxComponent);&lt;br /&gt;
begin&lt;br /&gt;
         if  &amp;lt;qrBEK.&amp;quot;FIXDATUM&amp;quot;&amp;gt; &amp;gt; 0 then&lt;br /&gt;
            Fixdatum.Text := &#039;Fixtermin: &#039;+ FormatDateTime(  &#039;d-mmm-yyyy&#039; ,  &amp;lt;qrBEK.&amp;quot;FIXDATUM&amp;quot;&amp;gt; )   +&#039;!&#039;           &lt;br /&gt;
         else&lt;br /&gt;
            Fixdatum.Text :=&#039;&#039;;  &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;vs. als Memo&#039;&#039;&#039; &lt;br /&gt;
&amp;lt;source lang=pascal&amp;gt; &lt;br /&gt;
[IIF(&amp;lt;qrBEK.&amp;quot;FIXDATUM&amp;quot;&amp;gt; &amp;gt;0,  &#039;Fixtermin: &#039;+ FormatDateTime( &#039;d-mmm-yyyy&#039; ,&amp;lt;qrBEK.&amp;quot;FIXDATUM&amp;quot;&amp;gt;)+&#039;!&#039;,&#039;&#039; )]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
=== Zeige nur auf der ersten Seite ===&lt;br /&gt;
&amp;lt;source lang=pascal&amp;gt; &lt;br /&gt;
procedure Memo67OnBeforePrint(Sender: TfrxComponent);&lt;br /&gt;
begin&lt;br /&gt;
  // Zeige nur auf der ersten Seite                                                                              &lt;br /&gt;
  if &amp;lt;Page#&amp;gt; &amp;gt; 1 then&lt;br /&gt;
    begin&lt;br /&gt;
       Memo67.Visible := False&lt;br /&gt;
    end&lt;br /&gt;
  else&lt;br /&gt;
    begin&lt;br /&gt;
       Memo67.Visible := True&lt;br /&gt;
    end              &lt;br /&gt;
end;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Datenband mit Liste, Gruppierung und Überschrift ==&lt;br /&gt;
&lt;br /&gt;
Über dem Datenbankband wird ein Gruppenkopfband angelegt mit dem Gruppienwechsel bei Datenfeld. &lt;br /&gt;
Darüber kommt der Kopf.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Probleme Bei der Übernahme von firebird 2.5 auf 3 Querys==&lt;br /&gt;
===  Zero length identifiers are not allowed ===&lt;br /&gt;
&amp;lt;source lang=firebird&amp;gt; &lt;br /&gt;
select &lt;br /&gt;
  bek.id bek_id,&lt;br /&gt;
  bek.belegnr,&lt;br /&gt;
  iif(coalesce(adr.kurzname, &amp;quot;&amp;quot;) &amp;lt;&amp;gt; &amp;quot;&amp;quot;, adr.kurzname, adr.name1) kurzname,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Quotes müssen einfach sein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=firebird&amp;gt; &lt;br /&gt;
select &lt;br /&gt;
  bek.id bek_id,&lt;br /&gt;
  bek.belegnr,&lt;br /&gt;
  iif(coalesce(adr.kurzname, &#039;&#039;) &amp;lt;&amp;gt; &#039;&#039;, adr.kurzname, adr.name1) kurzname,&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>V</name></author>
	</entry>
</feed>