<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://localhost:8082/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Finedav</id>
	<title>fine4 - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://localhost:8082/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Finedav"/>
	<link rel="alternate" type="text/html" href="http://localhost:8082/index.php/Special:Contributions/Finedav"/>
	<updated>2026-04-23T08:35:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>http://localhost:8082/index.php?title=Main_Page&amp;diff=11</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://localhost:8082/index.php?title=Main_Page&amp;diff=11"/>
		<updated>2026-03-25T09:30:05Z</updated>

		<summary type="html">&lt;p&gt;Finedav: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeine Linux-Systemadministration ==&lt;br /&gt;
&lt;br /&gt;
=== Vi kommentare entfernen (erste Zeile #) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;:%s/^\s*#\s\?//&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux/Debian Version auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsb_release -d &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; cat /etc/debian_version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kernel auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; uname -a &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemressourcen überwachen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; top / htop &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CPU Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lscpu &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t processor &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RAM Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; free -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t memory&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkverbindungen und -schnittstellen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ifconfig &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ip a &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ss -tulnp &amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; netstat -tulnp &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; netstat -tnap &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ifup/ifdown ${interface} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateien suchen / durchsuchen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /path -iname ${file} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; (r)grep &amp;quot;word&amp;quot; /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemeine Befehle ===&lt;br /&gt;
&lt;br /&gt;
==== Anzahl der Zeilen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | wc -l &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teil der Ausgabe ausschneiden ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n = number&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk -F \: &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-F \$  -&amp;gt; trennt am Zeichen $ (Beispiel -F\: , trennt am &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
== DRBD Cluster ==&lt;br /&gt;
&lt;br /&gt;
=== Cluster auf maintenance setzen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance stonith_node$&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster nach maintenance zusammenfügen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance ${res} off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;service pacemaker restart&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Cluster auf constraint prüfen und ggf. constraint entfernen&lt;br /&gt;
&lt;br /&gt;
=== constraint entfernen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure show &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure delete &amp;lt;contraint_id&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster zusammenfügen Case: Primary - Secondary ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überprüfen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cat /proc/drbd &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Primary Node: Standalone Primary/Unknown UpToDate/Outdated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Secondary Node: Standalone Secondary/Unknown UpToDate/Unknown&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Clone Set: res [res]:&amp;lt;br&amp;gt;&lt;br /&gt;
Masters: [Primary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
Slaves: [Secondary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lösung:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Secondary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] --discard-my-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Primary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ggf. Constraint entfernen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource clear/cleanup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generell ===&lt;br /&gt;
&amp;lt;code&amp;gt;cat /proc/net/bonding/bond0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VMs / Virtual Machines ==&lt;br /&gt;
&lt;br /&gt;
=== VM zwischen CRM/DRBD Cluster schwenken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm resource move ${res} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Überprüfen ob eine VM auf Server läuft ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
bzw.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list --all&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
oder:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ps aux | grep quemu-kvm / VBOXHeadless / vmware-vmx &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disks == &lt;br /&gt;
&lt;br /&gt;
=== useful commands ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; df -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; fdisk -l&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
(Falls installiert: )&amp;lt;code&amp;gt; ncdu /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; du -sh&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ls -rtlh &amp;lt;/code&amp;gt;&lt;br /&gt;
====  biggest files / folders ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -ah . | sort -rh | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  biggest folders in the root directory ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -hxd1 / | sort -hr | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gelöschte (deleted) Dateien finden und entfernen ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== finden von geöffneten gelöschten Dateien ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /proc/*/fd -ls | grep &#039;(deleted)&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Script zum freigeben der gelöschten Dateien (gefiltert nach einem Dienst) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /proc/*/fd -ls | grep &#039;(deleted)&#039; | grep &#039;${Dienst}&#039; | awk &#039;{ print $11}&#039; | awk -F \/ &#039;{ print &amp;quot;&amp;gt; proc/&amp;quot;$3&amp;quot;/fd/&amp;quot;$5 }&#039; &amp;gt;truncate-fds.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach script ausführen mit &amp;quot;bash truncate-fds.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Versionskontrolle mit Git ==&lt;br /&gt;
&lt;br /&gt;
=== Repo klonen ===&lt;br /&gt;
&amp;lt;code&amp;gt; git clone https://github.com/user/repository.git &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Änderungen verfolgen und committen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; git status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git add . &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git commit -m &amp;quot;Message&amp;quot;&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Container / Docker ==&lt;br /&gt;
&lt;br /&gt;
=== Laufende Container anzeigen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker ps &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== In einen Container einloggen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker exec -it ${container} /bin/bash &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
=== Zertifikat auslesen ===&lt;br /&gt;
&lt;br /&gt;
==== Zertifikat beantragen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout domain.key -out domain.csr &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Inhalt des Zertifikats auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${crt-file} -noout -text &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Abgleich, ob ca-zertifikat und server-zertifikat korrekt verknüpft sind  ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify -CAfile ${ca.crt} ${server.crt} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Server-Zertifikat-Ersteller auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${server.crt} -noout -issuer &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CA-Zertifikat-Inhaber auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${ca.pem} -noout -subject &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gehört Server-Zertifikat zum CA-Zertifikat ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify -CAfile ${ca.crt} ${server.crt} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl rsa -noout -modulus -in server.key | openssl md5 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -noout -modulus -in server.crt | openssl md5 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl openssl req -noout -modulus -in server.csr | openssl md5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== APT GPG Keys==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; gpg --show-key ${gpg.key} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;  gpg --deamor ${gpg.key} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Muss Rechte 644 haben in /etc/apt/keysrings&lt;/div&gt;</summary>
		<author><name>Finedav</name></author>
	</entry>
	<entry>
		<id>http://localhost:8082/index.php?title=Main_Page&amp;diff=10</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://localhost:8082/index.php?title=Main_Page&amp;diff=10"/>
		<updated>2025-11-20T08:36:43Z</updated>

		<summary type="html">&lt;p&gt;Finedav: /* Gehört Server-Zertifikat zum CA-Zertifikat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeine Linux-Systemadministration ==&lt;br /&gt;
&lt;br /&gt;
=== Vi kommentare entfernen (erste Zeile #) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;:%s/^\s*#\s\?//&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux/Debian Version auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsb_release -d &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; cat /etc/debian_version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kernel auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; uname -a &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemressourcen überwachen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; top / htop &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CPU Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lscpu &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t processor &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RAM Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; free -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t memory&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkverbindungen und -schnittstellen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ifconfig &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ip a &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ss -tulnp &amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; netstat -tulnp &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; netstat -tnap &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ifup/ifdown ${interface} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateien suchen / durchsuchen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /path -iname ${file} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; (r)grep &amp;quot;word&amp;quot; /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemeine Befehle ===&lt;br /&gt;
&lt;br /&gt;
==== Anzahl der Zeilen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | wc -l &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teil der Ausgabe ausschneiden ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n = number&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk -F \: &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-F \$  -&amp;gt; trennt am Zeichen $ (Beispiel -F\: , trennt am &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
== DRBD Cluster ==&lt;br /&gt;
&lt;br /&gt;
=== Cluster auf maintenance setzen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance stonith_node$&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster nach maintenance zusammenfügen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance ${res} off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;service pacemaker restart&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Cluster auf constraint prüfen und ggf. constraint entfernen&lt;br /&gt;
&lt;br /&gt;
=== constraint entfernen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure show &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure delete &amp;lt;contraint_id&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster zusammenfügen Case: Primary - Secondary ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überprüfen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cat /proc/drbd &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Primary Node: Standalone Primary/Unknown UpToDate/Outdated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Secondary Node: Standalone Secondary/Unknown UpToDate/Unknown&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Clone Set: res [res]:&amp;lt;br&amp;gt;&lt;br /&gt;
Masters: [Primary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
Slaves: [Secondary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lösung:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Secondary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] --discard-my-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Primary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ggf. Constraint entfernen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource clear/cleanup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generell ===&lt;br /&gt;
&amp;lt;code&amp;gt;cat /proc/net/bonding/bond0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VMs / Virtual Machines ==&lt;br /&gt;
&lt;br /&gt;
=== VM zwischen CRM/DRBD Cluster schwenken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm resource move ${res} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Überprüfen ob eine VM auf Server läuft ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
bzw.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list --all&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
oder:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ps aux | grep quemu-kvm / VBOXHeadless / vmware-vmx &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disks == &lt;br /&gt;
&lt;br /&gt;
=== useful commands ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; df -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; fdisk -l&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
(Falls installiert: )&amp;lt;code&amp;gt; ncdu /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; du -sh&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ls -rtlh &amp;lt;/code&amp;gt;&lt;br /&gt;
====  biggest files / folders ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -ah . | sort -rh | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  biggest folders in the root directory ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -hxd1 / | sort -hr | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gelöschte (deleted) Dateien finden und entfernen ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== finden von geöffneten gelöschten Dateien ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /proc/*/fd -ls | grep &#039;(deleted)&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Script zum freigeben der gelöschten Dateien (gefiltert nach einem Dienst) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /proc/*/fd -ls | grep &#039;(deleted)&#039; | grep &#039;${Dienst}&#039; | awk &#039;{ print $11}&#039; | awk -F \/ &#039;{ print &amp;quot;&amp;gt; proc/&amp;quot;$3&amp;quot;/fd/&amp;quot;$5 }&#039; &amp;gt;truncate-fds.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach script ausführen mit &amp;quot;bash truncate-fds.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Versionskontrolle mit Git ==&lt;br /&gt;
&lt;br /&gt;
=== Repo klonen ===&lt;br /&gt;
&amp;lt;code&amp;gt; git clone https://github.com/user/repository.git &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Änderungen verfolgen und committen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; git status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git add . &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git commit -m &amp;quot;Message&amp;quot;&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Container / Docker ==&lt;br /&gt;
&lt;br /&gt;
=== Laufende Container anzeigen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker ps &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== In einen Container einloggen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker exec -it ${container} /bin/bash &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
=== Zertifikat auslesen ===&lt;br /&gt;
&lt;br /&gt;
==== Zertifikat beantragen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout domain.key -out domain.csr &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Inhalt des Zertifikats auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${crt-file} -noout -text &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Abgleich, ob ca-zertifikat und server-zertifikat korrekt verknüpft sind  ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify -CAfile ${ca.crt} ${server.crt} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Server-Zertifikat-Ersteller auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${server.crt} -noout -issuer &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CA-Zertifikat-Inhaber auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${ca.pem} -noout -subject &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gehört Server-Zertifikat zum CA-Zertifikat ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify -CAfile ${ca.crt} ${server.crt} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl rsa -noout -modulus -in server.key | openssl md5 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -noout -modulus -in server.crt | openssl md5 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl openssl req -noout -modulus -in server.csr | openssl md5 &amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finedav</name></author>
	</entry>
	<entry>
		<id>http://localhost:8082/index.php?title=Main_Page&amp;diff=9</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://localhost:8082/index.php?title=Main_Page&amp;diff=9"/>
		<updated>2025-11-20T08:36:26Z</updated>

		<summary type="html">&lt;p&gt;Finedav: /* Abgleich, ob ca-zertifikat und server-zertifikat korrekt verknüpft sind */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeine Linux-Systemadministration ==&lt;br /&gt;
&lt;br /&gt;
=== Vi kommentare entfernen (erste Zeile #) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;:%s/^\s*#\s\?//&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux/Debian Version auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsb_release -d &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; cat /etc/debian_version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kernel auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; uname -a &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemressourcen überwachen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; top / htop &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CPU Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lscpu &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t processor &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RAM Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; free -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t memory&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkverbindungen und -schnittstellen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ifconfig &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ip a &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ss -tulnp &amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; netstat -tulnp &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; netstat -tnap &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ifup/ifdown ${interface} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateien suchen / durchsuchen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /path -iname ${file} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; (r)grep &amp;quot;word&amp;quot; /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemeine Befehle ===&lt;br /&gt;
&lt;br /&gt;
==== Anzahl der Zeilen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | wc -l &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teil der Ausgabe ausschneiden ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n = number&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk -F \: &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-F \$  -&amp;gt; trennt am Zeichen $ (Beispiel -F\: , trennt am &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
== DRBD Cluster ==&lt;br /&gt;
&lt;br /&gt;
=== Cluster auf maintenance setzen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance stonith_node$&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster nach maintenance zusammenfügen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance ${res} off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;service pacemaker restart&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Cluster auf constraint prüfen und ggf. constraint entfernen&lt;br /&gt;
&lt;br /&gt;
=== constraint entfernen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure show &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure delete &amp;lt;contraint_id&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster zusammenfügen Case: Primary - Secondary ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überprüfen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cat /proc/drbd &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Primary Node: Standalone Primary/Unknown UpToDate/Outdated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Secondary Node: Standalone Secondary/Unknown UpToDate/Unknown&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Clone Set: res [res]:&amp;lt;br&amp;gt;&lt;br /&gt;
Masters: [Primary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
Slaves: [Secondary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lösung:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Secondary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] --discard-my-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Primary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ggf. Constraint entfernen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource clear/cleanup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generell ===&lt;br /&gt;
&amp;lt;code&amp;gt;cat /proc/net/bonding/bond0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VMs / Virtual Machines ==&lt;br /&gt;
&lt;br /&gt;
=== VM zwischen CRM/DRBD Cluster schwenken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm resource move ${res} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Überprüfen ob eine VM auf Server läuft ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
bzw.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list --all&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
oder:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ps aux | grep quemu-kvm / VBOXHeadless / vmware-vmx &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disks == &lt;br /&gt;
&lt;br /&gt;
=== useful commands ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; df -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; fdisk -l&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
(Falls installiert: )&amp;lt;code&amp;gt; ncdu /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; du -sh&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ls -rtlh &amp;lt;/code&amp;gt;&lt;br /&gt;
====  biggest files / folders ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -ah . | sort -rh | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  biggest folders in the root directory ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -hxd1 / | sort -hr | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gelöschte (deleted) Dateien finden und entfernen ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== finden von geöffneten gelöschten Dateien ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /proc/*/fd -ls | grep &#039;(deleted)&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Script zum freigeben der gelöschten Dateien (gefiltert nach einem Dienst) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /proc/*/fd -ls | grep &#039;(deleted)&#039; | grep &#039;${Dienst}&#039; | awk &#039;{ print $11}&#039; | awk -F \/ &#039;{ print &amp;quot;&amp;gt; proc/&amp;quot;$3&amp;quot;/fd/&amp;quot;$5 }&#039; &amp;gt;truncate-fds.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach script ausführen mit &amp;quot;bash truncate-fds.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Versionskontrolle mit Git ==&lt;br /&gt;
&lt;br /&gt;
=== Repo klonen ===&lt;br /&gt;
&amp;lt;code&amp;gt; git clone https://github.com/user/repository.git &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Änderungen verfolgen und committen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; git status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git add . &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git commit -m &amp;quot;Message&amp;quot;&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Container / Docker ==&lt;br /&gt;
&lt;br /&gt;
=== Laufende Container anzeigen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker ps &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== In einen Container einloggen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker exec -it ${container} /bin/bash &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
=== Zertifikat auslesen ===&lt;br /&gt;
&lt;br /&gt;
==== Zertifikat beantragen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout domain.key -out domain.csr &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Inhalt des Zertifikats auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${crt-file} -noout -text &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Abgleich, ob ca-zertifikat und server-zertifikat korrekt verknüpft sind  ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify -CAfile ${ca.crt} ${server.crt} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Server-Zertifikat-Ersteller auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${server.crt} -noout -issuer &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CA-Zertifikat-Inhaber auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${ca.pem} -noout -subject &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gehört Server-Zertifikat zum CA-Zertifikat ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify -CAfile ${ca.pem} ${server.crt} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl rsa -noout -modulus -in server.key | openssl md5 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -noout -modulus -in server.crt | openssl md5 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl openssl req -noout -modulus -in server.csr | openssl md5 &amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finedav</name></author>
	</entry>
	<entry>
		<id>http://localhost:8082/index.php?title=Main_Page&amp;diff=8</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://localhost:8082/index.php?title=Main_Page&amp;diff=8"/>
		<updated>2025-11-14T10:58:21Z</updated>

		<summary type="html">&lt;p&gt;Finedav: /* Netzwerkverbindungen und -schnittstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeine Linux-Systemadministration ==&lt;br /&gt;
&lt;br /&gt;
=== Vi kommentare entfernen (erste Zeile #) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;:%s/^\s*#\s\?//&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux/Debian Version auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsb_release -d &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; cat /etc/debian_version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kernel auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; uname -a &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemressourcen überwachen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; top / htop &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CPU Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lscpu &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t processor &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RAM Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; free -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t memory&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkverbindungen und -schnittstellen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ifconfig &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ip a &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ss -tulnp &amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; netstat -tulnp &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; netstat -tnap &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ifup/ifdown ${interface} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateien suchen / durchsuchen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /path -iname ${file} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; (r)grep &amp;quot;word&amp;quot; /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemeine Befehle ===&lt;br /&gt;
&lt;br /&gt;
==== Anzahl der Zeilen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | wc -l &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teil der Ausgabe ausschneiden ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n = number&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk -F \: &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-F \$  -&amp;gt; trennt am Zeichen $ (Beispiel -F\: , trennt am &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
== DRBD Cluster ==&lt;br /&gt;
&lt;br /&gt;
=== Cluster auf maintenance setzen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance stonith_node$&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster nach maintenance zusammenfügen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance ${res} off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;service pacemaker restart&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Cluster auf constraint prüfen und ggf. constraint entfernen&lt;br /&gt;
&lt;br /&gt;
=== constraint entfernen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure show &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure delete &amp;lt;contraint_id&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster zusammenfügen Case: Primary - Secondary ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überprüfen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cat /proc/drbd &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Primary Node: Standalone Primary/Unknown UpToDate/Outdated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Secondary Node: Standalone Secondary/Unknown UpToDate/Unknown&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Clone Set: res [res]:&amp;lt;br&amp;gt;&lt;br /&gt;
Masters: [Primary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
Slaves: [Secondary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lösung:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Secondary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] --discard-my-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Primary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ggf. Constraint entfernen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource clear/cleanup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generell ===&lt;br /&gt;
&amp;lt;code&amp;gt;cat /proc/net/bonding/bond0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VMs / Virtual Machines ==&lt;br /&gt;
&lt;br /&gt;
=== VM zwischen CRM/DRBD Cluster schwenken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm resource move ${res} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Überprüfen ob eine VM auf Server läuft ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
bzw.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list --all&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
oder:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ps aux | grep quemu-kvm / VBOXHeadless / vmware-vmx &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disks == &lt;br /&gt;
&lt;br /&gt;
=== useful commands ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; df -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; fdisk -l&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
(Falls installiert: )&amp;lt;code&amp;gt; ncdu /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; du -sh&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ls -rtlh &amp;lt;/code&amp;gt;&lt;br /&gt;
====  biggest files / folders ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -ah . | sort -rh | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  biggest folders in the root directory ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -hxd1 / | sort -hr | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gelöschte (deleted) Dateien finden und entfernen ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== finden von geöffneten gelöschten Dateien ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /proc/*/fd -ls | grep &#039;(deleted)&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Script zum freigeben der gelöschten Dateien (gefiltert nach einem Dienst) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /proc/*/fd -ls | grep &#039;(deleted)&#039; | grep &#039;${Dienst}&#039; | awk &#039;{ print $11}&#039; | awk -F \/ &#039;{ print &amp;quot;&amp;gt; proc/&amp;quot;$3&amp;quot;/fd/&amp;quot;$5 }&#039; &amp;gt;truncate-fds.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach script ausführen mit &amp;quot;bash truncate-fds.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Versionskontrolle mit Git ==&lt;br /&gt;
&lt;br /&gt;
=== Repo klonen ===&lt;br /&gt;
&amp;lt;code&amp;gt; git clone https://github.com/user/repository.git &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Änderungen verfolgen und committen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; git status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git add . &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git commit -m &amp;quot;Message&amp;quot;&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Container / Docker ==&lt;br /&gt;
&lt;br /&gt;
=== Laufende Container anzeigen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker ps &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== In einen Container einloggen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker exec -it ${container} /bin/bash &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
=== Zertifikat auslesen ===&lt;br /&gt;
&lt;br /&gt;
==== Zertifikat beantragen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout domain.key -out domain.csr &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Inhalt des Zertifikats auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${crt-file} -noout -text &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Abgleich, ob ca-zertifikat und server-zertifikat korrekt verknüpft sind  ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify ${server.crt} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Server-Zertifikat-Ersteller auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${server.crt} -noout -issuer &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CA-Zertifikat-Inhaber auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${ca.pem} -noout -subject &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gehört Server-Zertifikat zum CA-Zertifikat ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify -CAfile ${ca.pem} ${server.crt} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl rsa -noout -modulus -in server.key | openssl md5 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -noout -modulus -in server.crt | openssl md5 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl openssl req -noout -modulus -in server.csr | openssl md5 &amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finedav</name></author>
	</entry>
	<entry>
		<id>http://localhost:8082/index.php?title=Main_Page&amp;diff=7</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://localhost:8082/index.php?title=Main_Page&amp;diff=7"/>
		<updated>2025-11-14T10:57:55Z</updated>

		<summary type="html">&lt;p&gt;Finedav: /* Netzwerkverbindungen und -schnittstellen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeine Linux-Systemadministration ==&lt;br /&gt;
&lt;br /&gt;
=== Vi kommentare entfernen (erste Zeile #) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;:%s/^\s*#\s\?//&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux/Debian Version auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsb_release -d &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; cat /etc/debian_version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kernel auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; uname -a &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemressourcen überwachen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; top / htop &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CPU Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lscpu &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t processor &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RAM Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; free -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t memory&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkverbindungen und -schnittstellen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ifconfig &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ip a &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ss -tulnp &amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; netstat -tulnp &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; netstat -tnap &amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; netstat -tulnp &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ifup/ifdown ${interface} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateien suchen / durchsuchen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /path -iname ${file} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; (r)grep &amp;quot;word&amp;quot; /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemeine Befehle ===&lt;br /&gt;
&lt;br /&gt;
==== Anzahl der Zeilen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | wc -l &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teil der Ausgabe ausschneiden ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n = number&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk -F \: &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-F \$  -&amp;gt; trennt am Zeichen $ (Beispiel -F\: , trennt am &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
== DRBD Cluster ==&lt;br /&gt;
&lt;br /&gt;
=== Cluster auf maintenance setzen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance stonith_node$&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster nach maintenance zusammenfügen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance ${res} off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;service pacemaker restart&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Cluster auf constraint prüfen und ggf. constraint entfernen&lt;br /&gt;
&lt;br /&gt;
=== constraint entfernen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure show &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure delete &amp;lt;contraint_id&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster zusammenfügen Case: Primary - Secondary ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überprüfen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cat /proc/drbd &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Primary Node: Standalone Primary/Unknown UpToDate/Outdated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Secondary Node: Standalone Secondary/Unknown UpToDate/Unknown&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Clone Set: res [res]:&amp;lt;br&amp;gt;&lt;br /&gt;
Masters: [Primary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
Slaves: [Secondary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lösung:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Secondary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] --discard-my-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Primary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ggf. Constraint entfernen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource clear/cleanup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generell ===&lt;br /&gt;
&amp;lt;code&amp;gt;cat /proc/net/bonding/bond0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VMs / Virtual Machines ==&lt;br /&gt;
&lt;br /&gt;
=== VM zwischen CRM/DRBD Cluster schwenken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm resource move ${res} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Überprüfen ob eine VM auf Server läuft ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
bzw.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list --all&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
oder:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ps aux | grep quemu-kvm / VBOXHeadless / vmware-vmx &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disks == &lt;br /&gt;
&lt;br /&gt;
=== useful commands ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; df -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; fdisk -l&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
(Falls installiert: )&amp;lt;code&amp;gt; ncdu /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; du -sh&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ls -rtlh &amp;lt;/code&amp;gt;&lt;br /&gt;
====  biggest files / folders ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -ah . | sort -rh | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  biggest folders in the root directory ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -hxd1 / | sort -hr | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gelöschte (deleted) Dateien finden und entfernen ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== finden von geöffneten gelöschten Dateien ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /proc/*/fd -ls | grep &#039;(deleted)&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Script zum freigeben der gelöschten Dateien (gefiltert nach einem Dienst) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /proc/*/fd -ls | grep &#039;(deleted)&#039; | grep &#039;${Dienst}&#039; | awk &#039;{ print $11}&#039; | awk -F \/ &#039;{ print &amp;quot;&amp;gt; proc/&amp;quot;$3&amp;quot;/fd/&amp;quot;$5 }&#039; &amp;gt;truncate-fds.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach script ausführen mit &amp;quot;bash truncate-fds.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Versionskontrolle mit Git ==&lt;br /&gt;
&lt;br /&gt;
=== Repo klonen ===&lt;br /&gt;
&amp;lt;code&amp;gt; git clone https://github.com/user/repository.git &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Änderungen verfolgen und committen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; git status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git add . &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git commit -m &amp;quot;Message&amp;quot;&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Container / Docker ==&lt;br /&gt;
&lt;br /&gt;
=== Laufende Container anzeigen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker ps &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== In einen Container einloggen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker exec -it ${container} /bin/bash &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
=== Zertifikat auslesen ===&lt;br /&gt;
&lt;br /&gt;
==== Zertifikat beantragen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout domain.key -out domain.csr &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Inhalt des Zertifikats auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${crt-file} -noout -text &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Abgleich, ob ca-zertifikat und server-zertifikat korrekt verknüpft sind  ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify ${server.crt} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Server-Zertifikat-Ersteller auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${server.crt} -noout -issuer &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CA-Zertifikat-Inhaber auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${ca.pem} -noout -subject &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gehört Server-Zertifikat zum CA-Zertifikat ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify -CAfile ${ca.pem} ${server.crt} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl rsa -noout -modulus -in server.key | openssl md5 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -noout -modulus -in server.crt | openssl md5 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl openssl req -noout -modulus -in server.csr | openssl md5 &amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finedav</name></author>
	</entry>
	<entry>
		<id>http://localhost:8082/index.php?title=Main_Page&amp;diff=6</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://localhost:8082/index.php?title=Main_Page&amp;diff=6"/>
		<updated>2025-11-12T07:01:43Z</updated>

		<summary type="html">&lt;p&gt;Finedav: /* Gehört Server-Zertifikat zum CA-Zertifikat */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeine Linux-Systemadministration ==&lt;br /&gt;
&lt;br /&gt;
=== Vi kommentare entfernen (erste Zeile #) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;:%s/^\s*#\s\?//&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux/Debian Version auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsb_release -d &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; cat /etc/debian_version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kernel auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; uname -a &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemressourcen überwachen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; top / htop &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CPU Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lscpu &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t processor &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RAM Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; free -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t memory&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkverbindungen und -schnittstellen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ifconfig &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ip a &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ss -tulnp &amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; netstat -tulnp &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ifup/ifdown ${interface} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateien suchen / durchsuchen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /path -iname ${file} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; (r)grep &amp;quot;word&amp;quot; /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemeine Befehle ===&lt;br /&gt;
&lt;br /&gt;
==== Anzahl der Zeilen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | wc -l &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teil der Ausgabe ausschneiden ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n = number&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk -F \: &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-F \$  -&amp;gt; trennt am Zeichen $ (Beispiel -F\: , trennt am &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
== DRBD Cluster ==&lt;br /&gt;
&lt;br /&gt;
=== Cluster auf maintenance setzen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance stonith_node$&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster nach maintenance zusammenfügen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance ${res} off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;service pacemaker restart&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Cluster auf constraint prüfen und ggf. constraint entfernen&lt;br /&gt;
&lt;br /&gt;
=== constraint entfernen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure show &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure delete &amp;lt;contraint_id&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster zusammenfügen Case: Primary - Secondary ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überprüfen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cat /proc/drbd &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Primary Node: Standalone Primary/Unknown UpToDate/Outdated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Secondary Node: Standalone Secondary/Unknown UpToDate/Unknown&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Clone Set: res [res]:&amp;lt;br&amp;gt;&lt;br /&gt;
Masters: [Primary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
Slaves: [Secondary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lösung:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Secondary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] --discard-my-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Primary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ggf. Constraint entfernen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource clear/cleanup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generell ===&lt;br /&gt;
&amp;lt;code&amp;gt;cat /proc/net/bonding/bond0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VMs / Virtual Machines ==&lt;br /&gt;
&lt;br /&gt;
=== VM zwischen CRM/DRBD Cluster schwenken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm resource move ${res} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Überprüfen ob eine VM auf Server läuft ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
bzw.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list --all&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
oder:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ps aux | grep quemu-kvm / VBOXHeadless / vmware-vmx &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disks == &lt;br /&gt;
&lt;br /&gt;
=== useful commands ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; df -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; fdisk -l&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
(Falls installiert: )&amp;lt;code&amp;gt; ncdu /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; du -sh&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ls -rtlh &amp;lt;/code&amp;gt;&lt;br /&gt;
====  biggest files / folders ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -ah . | sort -rh | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  biggest folders in the root directory ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -hxd1 / | sort -hr | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gelöschte (deleted) Dateien finden und entfernen ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== finden von geöffneten gelöschten Dateien ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /proc/*/fd -ls | grep &#039;(deleted)&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Script zum freigeben der gelöschten Dateien (gefiltert nach einem Dienst) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /proc/*/fd -ls | grep &#039;(deleted)&#039; | grep &#039;${Dienst}&#039; | awk &#039;{ print $11}&#039; | awk -F \/ &#039;{ print &amp;quot;&amp;gt; proc/&amp;quot;$3&amp;quot;/fd/&amp;quot;$5 }&#039; &amp;gt;truncate-fds.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach script ausführen mit &amp;quot;bash truncate-fds.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Versionskontrolle mit Git ==&lt;br /&gt;
&lt;br /&gt;
=== Repo klonen ===&lt;br /&gt;
&amp;lt;code&amp;gt; git clone https://github.com/user/repository.git &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Änderungen verfolgen und committen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; git status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git add . &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git commit -m &amp;quot;Message&amp;quot;&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Container / Docker ==&lt;br /&gt;
&lt;br /&gt;
=== Laufende Container anzeigen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker ps &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== In einen Container einloggen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker exec -it ${container} /bin/bash &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
=== Zertifikat auslesen ===&lt;br /&gt;
&lt;br /&gt;
==== Zertifikat beantragen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout domain.key -out domain.csr &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Inhalt des Zertifikats auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${crt-file} -noout -text &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Abgleich, ob ca-zertifikat und server-zertifikat korrekt verknüpft sind  ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify ${server.crt} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Server-Zertifikat-Ersteller auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${server.crt} -noout -issuer &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CA-Zertifikat-Inhaber auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${ca.pem} -noout -subject &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gehört Server-Zertifikat zum CA-Zertifikat ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify -CAfile ${ca.pem} ${server.crt} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl rsa -noout -modulus -in server.key | openssl md5 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -noout -modulus -in server.crt | openssl md5 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl openssl req -noout -modulus -in server.csr | openssl md5 &amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finedav</name></author>
	</entry>
	<entry>
		<id>http://localhost:8082/index.php?title=Main_Page&amp;diff=5</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://localhost:8082/index.php?title=Main_Page&amp;diff=5"/>
		<updated>2025-11-12T07:01:22Z</updated>

		<summary type="html">&lt;p&gt;Finedav: /* OpenSSL */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeine Linux-Systemadministration ==&lt;br /&gt;
&lt;br /&gt;
=== Vi kommentare entfernen (erste Zeile #) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;:%s/^\s*#\s\?//&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux/Debian Version auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsb_release -d &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; cat /etc/debian_version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kernel auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; uname -a &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemressourcen überwachen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; top / htop &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CPU Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lscpu &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t processor &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RAM Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; free -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t memory&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkverbindungen und -schnittstellen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ifconfig &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ip a &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ss -tulnp &amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; netstat -tulnp &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ifup/ifdown ${interface} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateien suchen / durchsuchen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /path -iname ${file} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; (r)grep &amp;quot;word&amp;quot; /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemeine Befehle ===&lt;br /&gt;
&lt;br /&gt;
==== Anzahl der Zeilen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | wc -l &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teil der Ausgabe ausschneiden ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n = number&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk -F \: &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-F \$  -&amp;gt; trennt am Zeichen $ (Beispiel -F\: , trennt am &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
== DRBD Cluster ==&lt;br /&gt;
&lt;br /&gt;
=== Cluster auf maintenance setzen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance stonith_node$&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster nach maintenance zusammenfügen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance ${res} off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;service pacemaker restart&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Cluster auf constraint prüfen und ggf. constraint entfernen&lt;br /&gt;
&lt;br /&gt;
=== constraint entfernen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure show &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure delete &amp;lt;contraint_id&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster zusammenfügen Case: Primary - Secondary ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überprüfen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cat /proc/drbd &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Primary Node: Standalone Primary/Unknown UpToDate/Outdated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Secondary Node: Standalone Secondary/Unknown UpToDate/Unknown&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Clone Set: res [res]:&amp;lt;br&amp;gt;&lt;br /&gt;
Masters: [Primary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
Slaves: [Secondary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lösung:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Secondary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] --discard-my-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Primary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ggf. Constraint entfernen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource clear/cleanup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generell ===&lt;br /&gt;
&amp;lt;code&amp;gt;cat /proc/net/bonding/bond0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VMs / Virtual Machines ==&lt;br /&gt;
&lt;br /&gt;
=== VM zwischen CRM/DRBD Cluster schwenken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm resource move ${res} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Überprüfen ob eine VM auf Server läuft ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
bzw.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list --all&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
oder:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ps aux | grep quemu-kvm / VBOXHeadless / vmware-vmx &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disks == &lt;br /&gt;
&lt;br /&gt;
=== useful commands ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; df -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; fdisk -l&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
(Falls installiert: )&amp;lt;code&amp;gt; ncdu /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; du -sh&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ls -rtlh &amp;lt;/code&amp;gt;&lt;br /&gt;
====  biggest files / folders ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -ah . | sort -rh | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  biggest folders in the root directory ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -hxd1 / | sort -hr | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gelöschte (deleted) Dateien finden und entfernen ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== finden von geöffneten gelöschten Dateien ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /proc/*/fd -ls | grep &#039;(deleted)&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Script zum freigeben der gelöschten Dateien (gefiltert nach einem Dienst) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /proc/*/fd -ls | grep &#039;(deleted)&#039; | grep &#039;${Dienst}&#039; | awk &#039;{ print $11}&#039; | awk -F \/ &#039;{ print &amp;quot;&amp;gt; proc/&amp;quot;$3&amp;quot;/fd/&amp;quot;$5 }&#039; &amp;gt;truncate-fds.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach script ausführen mit &amp;quot;bash truncate-fds.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Versionskontrolle mit Git ==&lt;br /&gt;
&lt;br /&gt;
=== Repo klonen ===&lt;br /&gt;
&amp;lt;code&amp;gt; git clone https://github.com/user/repository.git &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Änderungen verfolgen und committen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; git status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git add . &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git commit -m &amp;quot;Message&amp;quot;&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Container / Docker ==&lt;br /&gt;
&lt;br /&gt;
=== Laufende Container anzeigen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker ps &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== In einen Container einloggen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker exec -it ${container} /bin/bash &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
=== Zertifikat auslesen ===&lt;br /&gt;
&lt;br /&gt;
==== Zertifikat beantragen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout domain.key -out domain.csr &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Inhalt des Zertifikats auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${crt-file} -noout -text &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Abgleich, ob ca-zertifikat und server-zertifikat korrekt verknüpft sind  ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify ${server.crt} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Server-Zertifikat-Ersteller auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${server.crt} -noout -issuer &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CA-Zertifikat-Inhaber auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${ca.pem} -noout -subject &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gehört Server-Zertifikat zum CA-Zertifikat ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify -CAfile ${ca.pem} ${server.crt} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl rsa -noout -modulus -in server.key | openssl md5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -noout -modulus -in server.crt | openssl md5 &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; openssl openssl req -noout -modulus -in server.csr | openssl md5 &amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finedav</name></author>
	</entry>
	<entry>
		<id>http://localhost:8082/index.php?title=Main_Page&amp;diff=4</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://localhost:8082/index.php?title=Main_Page&amp;diff=4"/>
		<updated>2025-11-06T09:31:43Z</updated>

		<summary type="html">&lt;p&gt;Finedav: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Allgemeine Linux-Systemadministration ==&lt;br /&gt;
&lt;br /&gt;
=== Vi kommentare entfernen (erste Zeile #) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;:%s/^\s*#\s\?//&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux/Debian Version auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsb_release -d &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; cat /etc/debian_version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kernel auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; uname -a &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemressourcen überwachen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; top / htop &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CPU Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lscpu &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t processor &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RAM Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; free -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t memory&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkverbindungen und -schnittstellen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ifconfig &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ip a &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ss -tulnp &amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; netstat -tulnp &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ifup/ifdown ${interface} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateien suchen / durchsuchen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /path -iname ${file} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; (r)grep &amp;quot;word&amp;quot; /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemeine Befehle ===&lt;br /&gt;
&lt;br /&gt;
==== Anzahl der Zeilen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | wc -l &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teil der Ausgabe ausschneiden ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n = number&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk -F \: &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-F \$  -&amp;gt; trennt am Zeichen $ (Beispiel -F\: , trennt am &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
== DRBD Cluster ==&lt;br /&gt;
&lt;br /&gt;
=== Cluster auf maintenance setzen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance stonith_node$&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster nach maintenance zusammenfügen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance ${res} off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;service pacemaker restart&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Cluster auf constraint prüfen und ggf. constraint entfernen&lt;br /&gt;
&lt;br /&gt;
=== constraint entfernen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure show &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure delete &amp;lt;contraint_id&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster zusammenfügen Case: Primary - Secondary ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überprüfen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cat /proc/drbd &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Primary Node: Standalone Primary/Unknown UpToDate/Outdated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Secondary Node: Standalone Secondary/Unknown UpToDate/Unknown&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Clone Set: res [res]:&amp;lt;br&amp;gt;&lt;br /&gt;
Masters: [Primary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
Slaves: [Secondary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lösung:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Secondary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] --discard-my-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Primary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ggf. Constraint entfernen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource clear/cleanup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generell ===&lt;br /&gt;
&amp;lt;code&amp;gt;cat /proc/net/bonding/bond0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VMs / Virtual Machines ==&lt;br /&gt;
&lt;br /&gt;
=== VM zwischen CRM/DRBD Cluster schwenken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm resource move ${res} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Überprüfen ob eine VM auf Server läuft ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
bzw.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list --all&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
oder:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ps aux | grep quemu-kvm / VBOXHeadless / vmware-vmx &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disks == &lt;br /&gt;
&lt;br /&gt;
=== useful commands ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; df -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; fdisk -l&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
(Falls installiert: )&amp;lt;code&amp;gt; ncdu /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; du -sh&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ls -rtlh &amp;lt;/code&amp;gt;&lt;br /&gt;
====  biggest files / folders ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -ah . | sort -rh | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  biggest folders in the root directory ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -hxd1 / | sort -hr | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gelöschte (deleted) Dateien finden und entfernen ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== finden von geöffneten gelöschten Dateien ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /proc/*/fd -ls | grep &#039;(deleted)&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Script zum freigeben der gelöschten Dateien (gefiltert nach einem Dienst) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /proc/*/fd -ls | grep &#039;(deleted)&#039; | grep &#039;${Dienst}&#039; | awk &#039;{ print $11}&#039; | awk -F \/ &#039;{ print &amp;quot;&amp;gt; proc/&amp;quot;$3&amp;quot;/fd/&amp;quot;$5 }&#039; &amp;gt;truncate-fds.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach script ausführen mit &amp;quot;bash truncate-fds.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Versionskontrolle mit Git ==&lt;br /&gt;
&lt;br /&gt;
=== Repo klonen ===&lt;br /&gt;
&amp;lt;code&amp;gt; git clone https://github.com/user/repository.git &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Änderungen verfolgen und committen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; git status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git add . &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git commit -m &amp;quot;Message&amp;quot;&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Container / Docker ==&lt;br /&gt;
&lt;br /&gt;
=== Laufende Container anzeigen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker ps &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== In einen Container einloggen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker exec -it ${container} /bin/bash &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
=== Zertifikat auslesen ===&lt;br /&gt;
&lt;br /&gt;
==== Zertifikat beantragen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout domain.key -out domain.csr &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Inhalt des Zertifikats auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${crt-file} -noout -text &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Abgleich, ob ca-zertifikat und server-zertifikat korrekt verknüpft sind  ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify ${server.crt} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Server-Zertifikat-Ersteller auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${server.crt} -noout -issuer &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CA-Zertifikat-Inhaber auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${ca.pem} -noout -subject &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gehört Server-Zertifikat zum CA-Zertifikat ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify -CAfile ${ca.pem} ${server.crt} &amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finedav</name></author>
	</entry>
	<entry>
		<id>http://localhost:8082/index.php?title=Main_Page&amp;diff=3</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://localhost:8082/index.php?title=Main_Page&amp;diff=3"/>
		<updated>2025-11-06T09:27:32Z</updated>

		<summary type="html">&lt;p&gt;Finedav: Undo revision 2 by Finedav (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;MediaWiki has been installed.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
== Getting started ==&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Configuration settings list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/postorius/lists/mediawiki-announce.lists.wikimedia.org/ MediaWiki release mailing list]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Localise MediaWiki for your language]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Learn how to combat spam on your wiki]&lt;/div&gt;</summary>
		<author><name>Finedav</name></author>
	</entry>
	<entry>
		<id>http://localhost:8082/index.php?title=Main_Page&amp;diff=2</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://localhost:8082/index.php?title=Main_Page&amp;diff=2"/>
		<updated>2025-11-06T09:26:54Z</updated>

		<summary type="html">&lt;p&gt;Finedav: /* Getting started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;MediaWiki has been installed.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Consult the [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents User&#039;s Guide] for information on using the wiki software.&lt;br /&gt;
&lt;br /&gt;
== Allgemeine Linux-Systemadministration ==&lt;br /&gt;
&lt;br /&gt;
=== Vi kommentare entfernen (erste Zeile #) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;:%s/^\s*#\s\?//&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Linux/Debian Version auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lsb_release -d &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; cat /etc/debian_version &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Kernel auslesen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; uname -a &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Systemressourcen überwachen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; top / htop &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CPU Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; lscpu &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t processor &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== RAM Informationen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; free -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; dmidecode -t memory&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Netzwerkverbindungen und -schnittstellen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; ifconfig &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ip a &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ss -tulnp &amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; netstat -tulnp &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ifup/ifdown ${interface} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Dateien suchen / durchsuchen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /path -iname ${file} &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; (r)grep &amp;quot;word&amp;quot; /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Allgemeine Befehle ===&lt;br /&gt;
&lt;br /&gt;
==== Anzahl der Zeilen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | wc -l &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Teil der Ausgabe ausschneiden ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
n = number&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; | awk -F \: &#039;{print $n}&#039; &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-F \$  -&amp;gt; trennt am Zeichen $ (Beispiel -F\: , trennt am &#039;:&#039;)&lt;br /&gt;
&lt;br /&gt;
== DRBD Cluster ==&lt;br /&gt;
&lt;br /&gt;
=== Cluster auf maintenance setzen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance stonith_node$&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster nach maintenance zusammenfügen ===&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource maintenance ${res} off&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;service pacemaker restart&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Cluster auf constraint prüfen und ggf. constraint entfernen&lt;br /&gt;
&lt;br /&gt;
=== constraint entfernen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure show &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm configure delete &amp;lt;contraint_id&amp;gt; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Cluster zusammenfügen Case: Primary - Secondary ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Überprüfen:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; cat /proc/drbd &amp;lt;/code&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Primary Node: Standalone Primary/Unknown UpToDate/Outdated&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt; Secondary Node: Standalone Secondary/Unknown UpToDate/Unknown&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; crm status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Clone Set: res [res]:&amp;lt;br&amp;gt;&lt;br /&gt;
Masters: [Primary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
Slaves: [Secondary Node]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lösung:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Secondary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] --discard-my-data &amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-&amp;gt;Primary Node:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; drbdadm connect [res] &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ggf. Constraint entfernen&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;crm resource clear/cleanup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generell ===&lt;br /&gt;
&amp;lt;code&amp;gt;cat /proc/net/bonding/bond0 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VMs / Virtual Machines ==&lt;br /&gt;
&lt;br /&gt;
=== VM zwischen CRM/DRBD Cluster schwenken ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; crm resource move ${res} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Überprüfen ob eine VM auf Server läuft ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
bzw.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; virsh list --all&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
oder:&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ps aux | grep quemu-kvm / VBOXHeadless / vmware-vmx &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disks == &lt;br /&gt;
&lt;br /&gt;
=== useful commands ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; df -h &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; lsblk &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; fdisk -l&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
(Falls installiert: )&amp;lt;code&amp;gt; ncdu /path &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; du -sh&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; ls -rtlh &amp;lt;/code&amp;gt;&lt;br /&gt;
====  biggest files / folders ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -ah . | sort -rh | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====  biggest folders in the root directory ====&lt;br /&gt;
&amp;lt;code&amp;gt; du -hxd1 / | sort -hr | head -n 10 &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gelöschte (deleted) Dateien finden und entfernen ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== finden von geöffneten gelöschten Dateien ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; find /proc/*/fd -ls | grep &#039;(deleted)&#039; &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Script zum freigeben der gelöschten Dateien (gefiltert nach einem Dienst) ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /proc/*/fd -ls | grep &#039;(deleted)&#039; | grep &#039;${Dienst}&#039; | awk &#039;{ print $11}&#039; | awk -F \/ &#039;{ print &amp;quot;&amp;gt; proc/&amp;quot;$3&amp;quot;/fd/&amp;quot;$5 }&#039; &amp;gt;truncate-fds.sh &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Danach script ausführen mit &amp;quot;bash truncate-fds.sh&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Versionskontrolle mit Git ==&lt;br /&gt;
&lt;br /&gt;
=== Repo klonen ===&lt;br /&gt;
&amp;lt;code&amp;gt; git clone https://github.com/user/repository.git &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Änderungen verfolgen und committen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; git status &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git add . &amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt; git commit -m &amp;quot;Message&amp;quot;&amp;lt;/code&amp;gt;,&amp;lt;code&amp;gt; du -sh *&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Container / Docker ==&lt;br /&gt;
&lt;br /&gt;
=== Laufende Container anzeigen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker ps &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== In einen Container einloggen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; docker exec -it ${container} /bin/bash &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
=== Zertifikat auslesen ===&lt;br /&gt;
&lt;br /&gt;
==== Zertifikat beantragen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout domain.key -out domain.csr &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Inhalt des Zertifikats auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${crt-file} -noout -text &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Abgleich, ob ca-zertifikat und server-zertifikat korrekt verknüpft sind  ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify ${server.crt} &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Server-Zertifikat-Ersteller auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${server.crt} -noout -issuer &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== CA-Zertifikat-Inhaber auslesen ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl x509 -in ${ca.pem} -noout -subject &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Gehört Server-Zertifikat zum CA-Zertifikat ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; openssl verify -CAfile ${ca.pem} ${server.crt} &amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Finedav</name></author>
	</entry>
</feed>