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