____  ___    _  _     _   _ _____     _______
 / ___|/ _ \  | || |   | | | |_ _\ \   / / ____|
| |  _| | | | | || |_  | |_| || | \ \ / /|  _|
| |_| | |_| | |__   _| |  _  || |  \ V / | |___
 \____|\___/     |_|   |_| |_|___|  \_/  |_____|

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

Linux Patching Template - Strukturierte Checkliste für sichere Updates

BY: @hackspoiler | CREATED: Nov. 12, 2025, 6:24 p.m. | VOTES: 26 | PAYOUT: $1.21 | [ VOTE ]

https://files.peakd.com/file/peakd-hive/hackspoiler/23swZcupaZ1o15X4nD1n5ZKqDasEfxT6W15qrSvnwB11azNAx1EfimfMCmum1mi2Zgj6x.jpg

Eine praxisnahe Schritt-für-Schritt-Anleitung für Debian-basierte Systeme - Von Backup über Update bis Rollback inkl. Patching-Template-Markdown-File.

Das regelmäßige Aktualisieren eines Linux-Servers bildet das unerschütterliche Fundament, um die Sicherheit, Stabilität, Sexiness und Effizienz des Systems zu gewährleisten. Damit die Kiste beim Patchen keine Faxen macht und der Prozess zugleich professionell, sauber und reproduzierbar bleibt, habe ich mir ein überaus detailliertes, hochskalierbares, synergiegetriebenes und maximal wertschöpfendes Enterprise-Grade Linux Patching Template (Checkliste) erstellt, das mittlerweile schon seit Jahren erfolgreich in Benutzung ist. Da ich im Netz keine annähernd so vollständige Anleitung gefunden habe, die den kompletten Patch-Prozess von Backup über Pre-/Post-Checks bis 🧻Cleanup wirklich vollständig abbildet, dachte ich mir, ich teile es hier, visuell und als Markdown-Version, brav mit euch wie Moses das Meer.

Ursprünglich entstand dieses Template im medizinischen IT-Umfeld, einer harschen Welt, in der Fehler oder ~~Durch~~Ausfälle (technisch wie gastrointestinal 🚽) nicht nur lästig, sondern hochkritisch sind. Systeme müssen dort absolut zuverlässig funktionieren, und Updates dürfen, frei nach dem Motto „Mal ist man 🐕Hund, mal ist man🌳Baum“, kein russisches-Roulette-Game sein. Dieses Umfeld legte den Grundstone für diese umfangreiche Checkliste.

Das Template geleitet einen systematisch und sicher durch den Debian-basierten Update-Prozess (ohne vorher einen Schornsteinfeger gerubbelt haben zu müssen) und es diente später sogar brav als Blaupause zur Automatisierung via Ansible-Playbook.

Warum überhaupt ein Linux Patching Template?

Wichtig: Vor dem Update immer dem Chef Bescheid geben, nicht das beim Patching extrem fette Updates gezogen werden und er beim Clutchen in Counter-Strike plötzlich derbste FPS-Drops kassiert. Sowas geht gar net!

PS: Das ist eine Markdown-Version. Die Checkboxen werden hier leider nicht korrekt angezeigt. In anderen Markdown-Editoren geht es.

1️⃣ Quick-Infos

#==========================================================
# Audit
#==========================================================
# Namensschema der Wikiseite: --
Namensschema:   ansible-bh-01.hsp.idh-2024-01-16-systemupgrade

Author:         Hackspoiler
Template:       Linux Patchday Template
Version:        1.0
System-Purpose: Ansible Bastion Host

#==========================================================
# Systeminfos
#==========================================================
VM_IP:          10.30.10.140
VM_NAME:        ansible-bh-01.hsp.idh
VM_CPU:         1
VM_RAM:         12GB
VM_HDD:         130GB

2️⃣ Kommunikation - Betroffene Bots/NPCs informieren

3️⃣ Monitoring

# URL - Monitoring
Grafana DEV:  https://dev.monitor.hsp.idh/
Grafana INT:  https://int.monitor.hsp.idh/
Grafana PROD: https://prod.monitor.hsp.idh/

4️⃣ Backup

# URL - Snapshot
https://proxmox.hsp.idh/
# Backup erstellen. Hier mit BorgBackup. Siehe Anleitung: https://hackspoiler.de/verschluesselte-ubuntu-server-backups-mit-borgbackup-und-borgmatic/
borgmatic --verbosity 2 --log-file /var/log/borg/borgmatic.log

# Backup verifizieren
borgmatic list
# URL - Recovery-Plan: https://wiki.hsp.idh/linux/backup/borg/recovery

5️⃣ Pre-Checks

# System-Uptime & aktuelle Load
uptime

# Ausgabe:
# Paket-Anzahl
dpkg -l | awk '$1 == "ii" {count++} END {print count}'

# Ausgabe:
# Logfile - Systemlog
grep --extended-regexp --ignore-case '(abort|alert|crit|corrupt|\bdenied\b|emerg|error|exception|fail|false|fatal|invalid|kill|not found|oom|panic|refused|segfault|timeout|unauthorized|unavailable|warn)' /var/log/syslog

# Ausgabe:
# Logfile - Kernel
grep --extended-regexp --ignore-case '(abort|alert|crit|corrupt|\bdenied\b|emerg|error|exception|fail|false|fatal|invalid|kill|not found|oom|panic|refused|segfault|timeout|unauthorized|unavailable|warn)' /var/log/kern.log | sort | uniq

# Ausgabe:
# Logfile - Journal
journalctl -b -p err --no-pager

# Ausgabe:
# Logfile - Kernel Buffer
dmesg -T -x | grep -E ':alert|:crit|:emerg|:err|:warn'

# Ausgabe:
# Firewall
ufw status numbered

# Ausgabe:
# Dienste checken
systemctl list-unit-files --no-pager | awk '$2 == "enabled"'; echo "Service Count: $(systemctl list-unit-files --no-pager | awk '$2 == "enabled"' | wc -l)"

# Ausgabe:
# Disk-Space checken
df -hlTi | grep -E '(^Filesystem|^/dev/)'

# Ausgabe:
# System-Reboot nötig? Wenn ja zuerst rebooten
[ -f /var/run/reboot-required ] && echo "Reboot required" || echo "Reboot is NOT required"

# Ausgabe:

6️⃣ System-Update

# Tmux-Session starten - [Optional screen -S patchday_session]
tmux new-session -s patchday_session -n "Win_1" \; split-window -h -p 40 \; select-pane -L
# Falls die aktuelle Tmux-Session gecuttet wird: tmux attach oder tmux attach -t "patchday_session"
# Systemupdate
apt update && apt upgrade | tee /var/log/patching_$(date +%F).log
cat /var/log/patching_$(date +%F).log

# Ausgabe:

7️⃣ Mid-Checks

# Logfile - Systemlog
grep --extended-regexp --ignore-case '(abort|alert|crit|corrupt|\bdenied\b|emerg|error|exception|fail|false|fatal|invalid|kill|not found|oom|panic|refused|segfault|timeout|unauthorized|unavailable|warn)' /var/log/syslog

# Ausgabe:
# Logfile - Kernel
grep --extended-regexp --ignore-case '(abort|alert|crit|corrupt|\bdenied\b|emerg|error|exception|fail|false|fatal|invalid|kill|not found|oom|panic|refused|segfault|timeout|unauthorized|unavailable|warn)' /var/log/kern.log | sort | uniq

# Ausgabe:
# Logfile - Journal
journalctl -b -p err --no-pager

# Ausgabe:
# Logfile - Kernel Buffer
dmesg -T -x | grep -E ':alert|:crit|:emerg|:err|:warn'

# Ausgabe:
# Dienste checken
systemctl list-unit-files --no-pager | awk '$2 == "enabled"'; echo "Service Count: $(systemctl list-unit-files --no-pager | awk '$2 == "enabled"' | wc -l)"

# Ausgabe:

8️⃣ Reboot

9️⃣ Post-Checks

# System-Uptime & aktuelle Load
uptime

# Ausgabe
# Paket-Anzahl
dpkg -l | awk '$1 == "ii" {count++} END {print count}'

# Ausgabe:
# Logfile - Systemlog
grep --extended-regexp --ignore-case '(abort|alert|crit|corrupt|\bdenied\b|emerg|error|exception|fail|false|fatal|invalid|kill|not found|oom|panic|refused|segfault|timeout|unauthorized|unavailable|warn)' /var/log/syslog

# Ausgabe:
# Logfile - Kernel
grep --extended-regexp --ignore-case '(abort|alert|crit|corrupt|\bdenied\b|emerg|error|exception|fail|false|fatal|invalid|kill|not found|oom|panic|refused|segfault|timeout|unauthorized|unavailable|warn)' /var/log/kern.log | sort | uniq

# Ausgabe:
# Logfile - Journal
journalctl -b -p err --no-pager

# Ausgabe:
# Logfile - Kernel Buffer
dmesg -T -x | grep -E ':alert|:crit|:emerg|:err|:warn'

# Ausgabe:
# Firewall
ufw status numbered

# Ausgabe:
# Speziell genutzte Dienste checken
SERVICES="^(apache2|auditd|borg|caddy|chrony|containerd|corosync|cri-o|docker|etcd|fail2ban|grafana|haproxy|keepalived|kubelet|kube-proxy|minio|monit|mysql|nginx|node-exporter|pacemaker|podman|postgres|postfix|prometheus|redis|rsyslog|ufw)"

systemctl list-unit-files --no-pager | awk '$2 == "enabled"' | grep -E -i "${SERVICES}"; echo "Service Count: $(systemctl list-unit-files --no-pager | awk '$2 == "enabled"' | grep -E -i "${SERVICES}" | wc -l)"

# Ausgabe:
# Mount-Points checken
mount | grep -E '^/dev/' | column -t

# Ausgabe:

🔟 System-Cleanup

# Pakete aufräumen
apt clean && apt autoclean && apt autoremove --purge

# Ausgabe:
# Paketlisten aufräumen
rm -rf /var/lib/apt/lists/* ; apt update

# Ausgabe:
# Verweiste Paketreste entfernen
dpkg --list | awk '/^rc/ {print $2}' | xargs --no-run-if-empty dpkg --purge

# Ausgabe:
# Docker aufräumen
docker system prune

# Ausgabe:

✅ Abschluss

# Lynis Security-Check
lynis audit system --quick

# Ausgabe Hardening Index:

🔥 Fehler

# Kritische Fehler:
Ticket:
# Unkritische Fehler:
Ticket:

♻️ Rollback (nur bei Problemen)

Repository - Linux Debian-basiertes Patchting Template

Markdown Linux Debian-basiertes Patching Template

TAGS: [ #deutsch ] [ #linux ] [ #opensource ] [ #palnet ] [ #pob ] [ #hive ] [ #security ] [ #blog ] [ #tools ]

Replies

NO REPLIES FOUND.

[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>