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