<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.11/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.11/ http://www.mediawiki.org/xml/export-0.11.xsd" version="0.11" xml:lang="en">
  <siteinfo>
    <sitename>fine4</sitename>
    <dbname>my_wiki</dbname>
    <base>http://localhost:8082/index.php/Main_Page</base>
    <generator>MediaWiki 1.45.1</generator>
    <case>first-letter</case>
    <namespaces>
      <namespace key="-2" case="first-letter">Media</namespace>
      <namespace key="-1" case="first-letter">Special</namespace>
      <namespace key="0" case="first-letter" />
      <namespace key="1" case="first-letter">Talk</namespace>
      <namespace key="2" case="first-letter">User</namespace>
      <namespace key="3" case="first-letter">User talk</namespace>
      <namespace key="4" case="first-letter">Fine4</namespace>
      <namespace key="5" case="first-letter">Fine4 talk</namespace>
      <namespace key="6" case="first-letter">File</namespace>
      <namespace key="7" case="first-letter">File talk</namespace>
      <namespace key="8" case="first-letter">MediaWiki</namespace>
      <namespace key="9" case="first-letter">MediaWiki talk</namespace>
      <namespace key="10" case="first-letter">Template</namespace>
      <namespace key="11" case="first-letter">Template talk</namespace>
      <namespace key="12" case="first-letter">Help</namespace>
      <namespace key="13" case="first-letter">Help talk</namespace>
      <namespace key="14" case="first-letter">Category</namespace>
      <namespace key="15" case="first-letter">Category talk</namespace>
    </namespaces>
  </siteinfo>
  <page>
    <title>Main Page</title>
    <ns>0</ns>
    <id>1</id>
    <revision>
      <id>11</id>
      <parentid>10</parentid>
      <timestamp>2026-03-25T09:30:05Z</timestamp>
      <contributor>
        <username>Finedav</username>
        <id>2</id>
      </contributor>
      <origin>11</origin>
      <model>wikitext</model>
      <format>text/x-wiki</format>
      <text bytes="5230" sha1="3qe57pz5o4wtkh3cgqu78lvdz70f4jr" xml:space="preserve">== Allgemeine Linux-Systemadministration ==

=== Vi kommentare entfernen (erste Zeile #) ===

&lt;code&gt;:%s/^\s*#\s\?//&lt;/code&gt;

=== Linux/Debian Version auslesen ===

&lt;code&gt; lsb_release -d &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; cat /etc/debian_version &lt;/code&gt;

=== Kernel auslesen ===

&lt;code&gt; uname -a &lt;/code&gt;

=== Systemressourcen überwachen ===

&lt;code&gt; top / htop &lt;/code&gt;&lt;br&gt;&lt;br&gt;

==== CPU Informationen ====

&lt;code&gt; lscpu &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; dmidecode -t processor &lt;/code&gt;

==== RAM Informationen ====

&lt;code&gt; free -h &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; dmidecode -t memory&lt;/code&gt;

=== Netzwerkverbindungen und -schnittstellen ===

&lt;code&gt; ifconfig &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; ip a &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; ss -tulnp &lt;/code&gt;,&lt;code&gt; netstat -tulnp &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; netstat -tnap &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; ifup/ifdown ${interface} &lt;/code&gt;

=== Dateien suchen / durchsuchen ===

&lt;code&gt; find /path -iname ${file} &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; (r)grep "word" /path &lt;/code&gt;&lt;br&gt;&lt;br&gt;

=== Allgemeine Befehle ===

==== Anzahl der Zeilen ====

&lt;code&gt; | wc -l &lt;/code&gt;

==== Teil der Ausgabe ausschneiden ====

&lt;code&gt; | awk '{print $n}' &lt;/code&gt;

n = number

&lt;code&gt; | awk -F \: '{print $n}' &lt;/code&gt;&lt;br&gt;&lt;br&gt;

-F \$  -&gt; trennt am Zeichen $ (Beispiel -F\: , trennt am ':')

== DRBD Cluster ==

=== Cluster auf maintenance setzen ===
&lt;code&gt;crm resource maintenance stonith_node$&lt;/code&gt;

=== Cluster nach maintenance zusammenfügen ===
&lt;code&gt;crm resource maintenance ${res} off&lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt;service pacemaker restart&lt;/code&gt;&lt;br&gt;&lt;br&gt;
-&gt; Cluster auf constraint prüfen und ggf. constraint entfernen

=== constraint entfernen ===

&lt;code&gt; crm configure show &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; crm configure delete &lt;contraint_id&gt; &lt;/code&gt;

=== Cluster zusammenfügen Case: Primary - Secondary ===

'''Überprüfen:'''

&lt;code&gt; cat /proc/drbd &lt;/code&gt; &lt;br&gt;
-&gt; Primary Node: Standalone Primary/Unknown UpToDate/Outdated
&lt;br&gt;
-&gt; Secondary Node: Standalone Secondary/Unknown UpToDate/Unknown
&lt;br&gt;&lt;br&gt;
&lt;code&gt; crm status &lt;/code&gt;&lt;br&gt;
Clone Set: res [res]:&lt;br&gt;
Masters: [Primary Node]&lt;br&gt;
Slaves: [Secondary Node]&lt;br&gt;
&lt;br&gt;&lt;br&gt;

'''Lösung:'''
&lt;br&gt;
-&gt;Secondary Node:&lt;br&gt;
&lt;code&gt; drbdadm connect [res] --discard-my-data &lt;/code&gt;
&lt;br&gt;
-&gt;Primary Node:&lt;br&gt;
&lt;code&gt; drbdadm connect [res] &lt;/code&gt;&lt;br&gt;&lt;br&gt;

ggf. Constraint entfernen&lt;br&gt;
&lt;code&gt;crm resource clear/cleanup&lt;/code&gt;


=== Generell ===
&lt;code&gt;cat /proc/net/bonding/bond0 &lt;/code&gt;

== VMs / Virtual Machines ==

=== VM zwischen CRM/DRBD Cluster schwenken ===

&lt;code&gt; crm resource move ${res} &lt;/code&gt;

=== Überprüfen ob eine VM auf Server läuft ===

&lt;code&gt; virsh list &lt;/code&gt;&lt;br&gt;
bzw.&lt;br&gt;
&lt;code&gt; virsh list --all&lt;/code&gt;&lt;br&gt;&lt;br&gt;
oder:&lt;br&gt;
&lt;code&gt; ps aux | grep quemu-kvm / VBOXHeadless / vmware-vmx &lt;/code&gt;

== Disks == 

=== useful commands ===

&lt;code&gt; df -h &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; lsblk &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; fdisk -l&lt;/code&gt;&lt;br&gt;&lt;br&gt;
(Falls installiert: )&lt;code&gt; ncdu /path &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; du -sh&lt;/code&gt;,&lt;code&gt; du -sh *&lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; ls -rtlh &lt;/code&gt;
====  biggest files / folders ====
&lt;code&gt; du -ah . | sort -rh | head -n 10 &lt;/code&gt;&lt;br&gt;&lt;br&gt;

====  biggest folders in the root directory ====
&lt;code&gt; du -hxd1 / | sort -hr | head -n 10 &lt;/code&gt;&lt;br&gt;&lt;br&gt;


=== Gelöschte (deleted) Dateien finden und entfernen ===


==== finden von geöffneten gelöschten Dateien ====

&lt;code&gt; find /proc/*/fd -ls | grep '(deleted)' &lt;/code&gt;


==== Script zum freigeben der gelöschten Dateien (gefiltert nach einem Dienst) ====

&lt;code&gt; /proc/*/fd -ls | grep '(deleted)' | grep '${Dienst}' | awk '{ print $11}' | awk -F \/ '{ print "&gt; proc/"$3"/fd/"$5 }' &gt;truncate-fds.sh &lt;/code&gt;&lt;br&gt;&lt;br&gt;

Danach script ausführen mit "bash truncate-fds.sh"

== Versionskontrolle mit Git ==

=== Repo klonen ===
&lt;code&gt; git clone https://github.com/user/repository.git &lt;/code&gt;

=== Änderungen verfolgen und committen ===

&lt;code&gt; git status &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; git add . &lt;/code&gt;&lt;br&gt;&lt;br&gt;
&lt;code&gt; git commit -m "Message"&lt;/code&gt;,&lt;code&gt; du -sh *&lt;/code&gt;

== Container / Docker ==

=== Laufende Container anzeigen ===

&lt;code&gt; docker ps &lt;/code&gt;

=== In einen Container einloggen ===

&lt;code&gt; docker exec -it ${container} /bin/bash &lt;/code&gt;

== OpenSSL ==

=== Zertifikat auslesen ===

==== Zertifikat beantragen ====

&lt;code&gt; openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout domain.key -out domain.csr &lt;/code&gt;

==== Inhalt des Zertifikats auslesen ====

&lt;code&gt; openssl x509 -in ${crt-file} -noout -text &lt;/code&gt;

==== Abgleich, ob ca-zertifikat und server-zertifikat korrekt verknüpft sind  ====

&lt;code&gt; openssl verify -CAfile ${ca.crt} ${server.crt} &lt;/code&gt;

==== Server-Zertifikat-Ersteller auslesen ====

&lt;code&gt; openssl x509 -in ${server.crt} -noout -issuer &lt;/code&gt;

==== CA-Zertifikat-Inhaber auslesen ====

&lt;code&gt; openssl x509 -in ${ca.pem} -noout -subject &lt;/code&gt;

==== Gehört Server-Zertifikat zum CA-Zertifikat ====

&lt;code&gt; openssl verify -CAfile ${ca.crt} ${server.crt} &lt;/code&gt;&lt;br&gt;&lt;br&gt;

&lt;code&gt; openssl rsa -noout -modulus -in server.key | openssl md5 &lt;/code&gt;&lt;br&gt;
&lt;code&gt; openssl x509 -noout -modulus -in server.crt | openssl md5 &lt;/code&gt;&lt;br&gt;
&lt;code&gt; openssl openssl req -noout -modulus -in server.csr | openssl md5 &lt;/code&gt;

== APT GPG Keys==

&lt;code&gt; gpg --show-key ${gpg.key} &lt;/code&gt;&lt;br&gt;
&lt;code&gt;  gpg --deamor ${gpg.key} &lt;/code&gt;&lt;br&gt;

Muss Rechte 644 haben in /etc/apt/keysrings</text>
      <sha1>3qe57pz5o4wtkh3cgqu78lvdz70f4jr</sha1>
    </revision>
  </page>
</mediawiki>
