Inventur auf dem CentOS-7-Host
Bevor irgendetwas angefasst wird, brauchst du eine Momentaufnahme. Das kostet zehn Minuten je Host und ist später die Grundlage jeder Fehlersuche.
# Vollständige Paketliste, inklusive Hersteller
rpm -qa --qf '%{NAME}\t%{VERSION}-%{RELEASE}\t%{VENDOR}\n' \
| sort > /root/inventar-pakete.tsv
# Welche Pakete stammen NICHT aus den Basisrepos?
yum list installed | grep -vE '@(base|updates|extras|anaconda|centos)'
# Welche Repos sind überhaupt eingebunden?
grep -h '^\[' /etc/yum.repos.d/*.repo
# Dienste, die tatsächlich laufen und lauschen
systemctl list-units --type=service --state=running --no-pager
ss -tulpnDie zweite Zeile ist die eigentliche Risikoliste. EPEL, Remi, Nux, IUS oder ein Hersteller-Repo für den Backup-Agenten haben unter EL9 andere Paketnamen oder existieren gar nicht mehr. Jede Zeile dort ist eine Aufgabe, kein Nebeneffekt.
# Konfigurationsdateien, die vom Auslieferungszustand abweichen
rpm -Va | grep '^..5' | grep ' c '
# Alles, was am Paketmanager vorbei installiert wurde
find /usr/local /opt -maxdepth 2 -mindepth 1 -printf '%p\t%TY-%Tm-%Td\n'
# Eigene systemd-Units und Overrides
ls -1 /etc/systemd/system/ /etc/systemd/system/*.d/ 2>/dev/null
# Cronjobs, die niemand mehr kennt
ls -1 /etc/cron.d/ /etc/cron.daily/
for u in $(cut -d: -f1 /etc/passwd); do crontab -lu "$u" 2>/dev/null | sed "s/^/$u: /"; donerpm -Va mit dem Filter auf c zeigt genau die Konfigurationsdateien, die jemand angefasst hat. Das ist die Liste, die du auf dem neuen System nachziehen musst, und sie ist fast immer länger als die Dokumentation vermuten lässt.