Alle Installierten Pakete neu installieren

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
Exxter
Beiträge: 383
Registriert: 10.01.2003 00:15:15
Lizenz eigener Beiträge: GNU General Public License

Alle Installierten Pakete neu installieren

Beitrag von Exxter » 21.09.2023 07:05:54

Hallo,

ist vielleicht eine dumme Idee, ich weiß es nicht. Bei Windoof kann man die Systemdateien neu installieren lassen, zB. von einer sauberen iso-Datei. Ich dachte mir, das wäre bei Linux eventuell alle paar Jahre bei Servern auch mal sinnvoll, v.a. bei root-Servern die direkt im Netz hängen.

Ich habe folgenden Artikel gefunden:

https://www.lautenbacher.io/lamp/alle-p ... tallieren/

Code: Alles auswählen

dpkg --get-selections | grep '\Winstall' | cut -f1 >instpkg
apt-get -duy --reinstall install $(cat instpkg)
for pkg in $(cat instpkg); do apt-get -uy --reinstall install $pkg; done
Hintergedanke ist, SOLLTE jemand die Kiste gehackt haben, was zwar unwahrscheinlich ist da so gut wie möglich abgesichert und immer aktuell, aber 100% Sicherheit gibt es bekanntlich nicht - also sollte die Kiste gehackt worden sein und jemand hat zB. /bin/ps überschrieben, müsste damit die eigentliche Version wieder hergestellt werden, oder?

Was denkt ihr, macht das Sinn? Eventuell reicht aber auch debsums -as?

Benutzeravatar
thunder11
Beiträge: 1345
Registriert: 19.04.2023 09:08:30

Re: Alle Installierten Pakete neu installieren

Beitrag von thunder11 » 21.09.2023 08:49:21

Exxter hat geschrieben: ↑ zum Beitrag ↑
21.09.2023 07:05:54
Was denkt ihr, macht das Sinn? Eventuell reicht aber auch debsums -as?
Sinn ist relativ. Bei mir war der "Sinn" mehr just for fun
Hab jetzt deine Befehle nicht getestet.

Die Differenz zu meinem Befehl; Die ersten Zeile bei dir ergibt rund 100 Paket mehr.
Das würde jedes mal einen Stop der Installation bedeuten.

Ähnliches hatte ich aber auch mal "exerziert":
viewtopic.php?t=187208
Der für mich funktionierende Befehl war letztendlich:

Code: Alles auswählen

dpkg -l | grep -v "$(apt-show-versions | grep 'No available version in archive' | egrep -o '^[^: ]+')"|awk '{print $2}'|awk '{FS=":"} {print $1}'
Wie ich das in eine VM bekommen habe, steht dann dort:
viewtopic.php?t=187208&hilit=dpkg+get+s ... s#p1330784

EDIT:
Mich würde aber interessieren, was dieses

Code: Alles auswählen

 \Winstall statt \install
bewirkt.
Irgendeinen Effekt hat es wohl:

Code: Alles auswählen

dpkg --get-selections | grep '\install'|wc -l 
3430

Code: Alles auswählen

dpkg --get-selections | grep '\Winstall'|wc -l 
3424

Code: Alles auswählen

dpkg -l | grep -v "$(apt-show-versions | grep 'No available version in archive' | egrep -o '^[^: ]+')"|awk '{print $2}'|awk '{FS=":"} {print $1}'|wc -l
3336

Exxter
Beiträge: 383
Registriert: 10.01.2003 00:15:15
Lizenz eigener Beiträge: GNU General Public License

Re: Alle Installierten Pakete neu installieren

Beitrag von Exxter » 21.09.2023 09:36:40

Ich habe obige 3 Zeilen mal ausprobiert, lief ohne Probleme durch. Jetzt machst du mir aber "Angst", dass der jetzt zusätzliche Pakete installiert hat. Muss ich erstmal in /var/log/apt/history.log schauen..

tobo
Beiträge: 1997
Registriert: 10.12.2008 10:51:41

Re: Alle Installierten Pakete neu installieren

Beitrag von tobo » 21.09.2023 09:54:09

Exxter hat geschrieben: ↑ zum Beitrag ↑
21.09.2023 07:05:54
Hintergedanke ist, SOLLTE jemand die Kiste gehackt haben, was zwar unwahrscheinlich ist da so gut wie möglich abgesichert und immer aktuell, aber 100% Sicherheit gibt es bekanntlich nicht - also sollte die Kiste gehackt worden sein und jemand hat zB. /bin/ps überschrieben, müsste damit die eigentliche Version wieder hergestellt werden, oder?

Was denkt ihr, macht das Sinn? Eventuell reicht aber auch debsums -as?
Das macht aus mehreren Gründen wenig Sinn: Es ändert z.B. nichts an der Ursache, denn ps kann danach ja wieder überschrieben werden. Außerdem erhältst du dadurch - im Gegensatz zu z.B. debsums oder rkhunter - keine Rückmeldung. Wobei solche Tools prinzipbedingt die Schwäche haben, dass sie auf der zu schützenden Maschine laufen sollen.
thunder11 hat geschrieben: ↑ zum Beitrag ↑
21.09.2023 08:49:21
Mich würde aber interessieren, was dieses

Code: Alles auswählen

 \Winstall statt \install
bewirkt.
Bei \install ist es überflüssig (\i hat keine Sonderbedeutung und damit ist \i=i) und \W ist das Gegenteil von \w:
man grep hat geschrieben: The symbol \w is a synonym for [_[:alnum:]] and \W is a synonym for [^_[:alnum:]].

und

[[:alnum:]] means the character class of numbers and letters in the current locale. In the C locale and ASCII character set encoding, this is the same as [0-9A-Za-z].

Benutzeravatar
thunder11
Beiträge: 1345
Registriert: 19.04.2023 09:08:30

Re: Alle Installierten Pakete neu installieren

Beitrag von thunder11 » 21.09.2023 10:39:50

tobo hat geschrieben: ↑ zum Beitrag ↑
21.09.2023 09:54:09
Bei \install ist es überflüssig (\i hat keine Sonderbedeutung und damit ist \i=i) und \W ist das Gegenteil von \w:
man grep hat geschrieben:
The symbol \w is a synonym for [_[:alnum:]] and \W is a synonym for [^_[:alnum:]].

und

[[:alnum:]] means the character class of numbers and letters in the current locale. In the C locale and ASCII character set encoding, this is the same as [0-9A-Za-z].
Hab mal die beiden Ausgeben verglichen:
da gab es 6 Pakete, die mit

Code: Alles auswählen

deinstall
markiert waren (rc)
Diese hat \Winstall dann korrekt übersehen. :THX:

Antworten