Website-Suche

So überprüfen Sie MD5-Summen installierter Pakete in Debian/Ubuntu Linux


Haben Sie sich jemals gefragt, warum eine bestimmte auf Ihrem System installierte Binärdatei oder ein bestimmtes Paket nicht Ihren Erwartungen entspricht, d.

Beim Herunterladen von Paketen kann es zu Problemen mit instabilen Netzwerkverbindungen oder unerwarteten Stromausfällen kommen, was zur Installation beschädigter Pakete führen kann.

Da dies ein wichtiger Faktor für die Aufrechterhaltung unbeschädigter Pakete auf Ihrem System ist, ist es daher ein wichtiger Schritt, die Dateien im Dateisystem mit den im Paket gespeicherten Informationen zu vergleichen, indem Sie den folgenden Artikel verwenden.

Empfohlene Lektüre: Erfahren Sie, wie Sie Dateien mit MD5-Prüfsumme unter Linux generieren und überprüfen

So überprüfen Sie installierte Debian-Pakete anhand von MD5-Prüfsummen

Auf Debian/Ubuntu-Systemen können Sie das Tool debsums verwenden, um die MD5-Summen der installierten Pakete zu überprüfen. Wenn Sie vor der Installation Informationen zum Paket debsums erhalten möchten, können Sie APT-CACHE wie folgt verwenden:

apt-cache search debsums

Als nächstes installieren Sie es mit dem Befehl apt wie folgt:

sudo apt install debsums

Jetzt ist es an der Zeit zu lernen, wie man das Tool debsums verwendet, um die MD5sum installierter Pakete zu überprüfen.

Hinweis: Ich habe sudo mit allen folgenden Befehlen verwendet, da bestimmte Dateien möglicherweise keine Leseberechtigungen für normale Benutzer haben.

Darüber hinaus zeigt Ihnen die Ausgabe des Befehls debsums links den Dateispeicherort und rechts die Prüfergebnisse. Es gibt drei mögliche Ergebnisse, die Sie erhalten können: Dazu gehören:

  1. OK – zeigt an, dass die MD5-Summe einer Datei gut ist.
  2. FEHLER – zeigt an, dass die MD5-Summe einer Datei nicht übereinstimmt.
  3. REPLACED – bedeutet, dass die spezifische Datei durch eine Datei aus einem anderen Paket ersetzt wurde.

Wenn Sie es ohne Optionen ausführen, vergleicht debsums jede Datei auf Ihrem System mit den Standarddateien md5sum.

sudo debsums
/usr/bin/a11y-profile-manager-indicator                                       OK
/usr/share/doc/a11y-profile-manager-indicator/copyright                       OK
/usr/share/man/man1/a11y-profile-manager-indicator.1.gz                       OK
/usr/share/accounts/providers/facebook.provider                               OK
/usr/share/accounts/qml-plugins/facebook/Main.qml                             OK
/usr/share/accounts/services/facebook-microblog.service                       OK
/usr/share/accounts/services/facebook-sharing.service                         OK
/usr/share/doc/account-plugin-facebook/copyright                              OK
/usr/share/accounts/providers/flickr.provider                                 OK
/usr/share/accounts/qml-plugins/flickr/Main.qml                               OK
/usr/share/accounts/services/flickr-microblog.service                         OK
/usr/share/accounts/services/flickr-sharing.service                           OK
/usr/share/doc/account-plugin-flickr/copyright                                OK
/usr/share/accounts/providers/google.provider                                 OK
/usr/share/accounts/qml-plugins/google/Main.qml                               OK
/usr/share/accounts/services/google-drive.service                             OK
/usr/share/accounts/services/google-im.service                                OK
/usr/share/accounts/services/picasa.service                                   OK
/usr/share/doc/account-plugin-google/copyright                                OK
/lib/systemd/system/accounts-daemon.service                                   OK
/usr/lib/accountsservice/accounts-daemon                                      OK
/usr/share/dbus-1/interfaces/org.freedesktop.Accounts.User.xml                OK
/usr/share/dbus-1/interfaces/org.freedesktop.Accounts.xml                     OK
/usr/share/dbus-1/system-services/org.freedesktop.Accounts.service            OK
/usr/share/doc/accountsservice/README                                         OK
/usr/share/doc/accountsservice/TODO                                           OK
....

Um die Überprüfung aller Dateien und Konfigurationsdateien für jedes Paket auf Änderungen zu ermöglichen, schließen Sie die Option -a oder --all ein:

sudo debsums --all
/usr/bin/a11y-profile-manager-indicator                                       OK
/usr/share/doc/a11y-profile-manager-indicator/copyright                       OK
/usr/share/man/man1/a11y-profile-manager-indicator.1.gz                       OK
/etc/xdg/autostart/a11y-profile-manager-indicator-autostart.desktop           OK
/usr/share/accounts/providers/facebook.provider                               OK
/usr/share/accounts/qml-plugins/facebook/Main.qml                             OK
/usr/share/accounts/services/facebook-microblog.service                       OK
/usr/share/accounts/services/facebook-sharing.service                         OK
/usr/share/doc/account-plugin-facebook/copyright                              OK
/etc/signon-ui/webkit-options.d/www.facebook.com.conf                         OK
/usr/share/accounts/providers/flickr.provider                                 OK
/usr/share/accounts/qml-plugins/flickr/Main.qml                               OK
/usr/share/accounts/services/flickr-microblog.service                         OK
/usr/share/accounts/services/flickr-sharing.service                           OK
/usr/share/doc/account-plugin-flickr/copyright                                OK
/etc/signon-ui/webkit-options.d/login.yahoo.com.conf                          OK
/usr/share/accounts/providers/google.provider                                 OK
/usr/share/accounts/qml-plugins/google/Main.qml                               OK
/usr/share/accounts/services/google-drive.service                             OK
/usr/share/accounts/services/google-im.service                                OK
/usr/share/accounts/services/picasa.service                                   OK
/usr/share/doc/account-plugin-google/copyright                                OK
...

Es ist auch möglich, nur die Konfigurationsdatei zu überprüfen und alle anderen Paketdateien auszuschließen, indem Sie die Option -e oder --config verwenden:

sudo debsums --config
/etc/xdg/autostart/a11y-profile-manager-indicator-autostart.desktop           OK
/etc/signon-ui/webkit-options.d/www.facebook.com.conf                         OK
/etc/signon-ui/webkit-options.d/login.yahoo.com.conf                          OK
/etc/signon-ui/webkit-options.d/accounts.google.com.conf                      OK
/etc/dbus-1/system.d/org.freedesktop.Accounts.conf                            OK
/etc/acpi/asus-keyboard-backlight.sh                                          OK
/etc/acpi/events/asus-keyboard-backlight-down                                 OK
/etc/acpi/ibm-wireless.sh                                                     OK
/etc/acpi/events/tosh-wireless                                                OK
/etc/acpi/asus-wireless.sh                                                    OK
/etc/acpi/events/lenovo-undock                                                OK
/etc/default/acpi-support                                                     OK
/etc/acpi/events/ibm-wireless                                                 OK
/etc/acpi/events/asus-wireless-on                                             OK
/etc/acpi/events/asus-wireless-off                                            OK
/etc/acpi/tosh-wireless.sh                                                    OK
/etc/acpi/events/asus-keyboard-backlight-up                                   OK
/etc/acpi/events/thinkpad-cmos                                                OK
/etc/acpi/undock.sh                                                           OK
/etc/acpi/events/powerbtn                                                     OK
/etc/acpi/powerbtn.sh                                                         OK
/etc/init.d/acpid                                                             OK
/etc/init/acpid.conf                                                          OK
/etc/default/acpid                                                            OK
...

Um als nächstes nur geänderte Dateien in der Ausgabe von Debsums anzuzeigen, verwenden Sie die Option -c oder --changed. Ich habe keine geänderten Dateien in meinem System gefunden.

sudo debsums --changed

Der nächste Befehl druckt Dateien aus, die keine MD5-Summeninformationen haben. Hier verwenden wir die Optionen -l und --list-missing. Auf meinem System zeigt der Befehl keine Datei an.

sudo debsums --list-missing

Jetzt ist es an der Zeit, die MD5-Summe eines einzelnen Pakets zu überprüfen, indem Sie seinen Namen angeben:

sudo debsums apache2 
/lib/systemd/system/apache2.service.d/apache2-systemd.conf                    OK
/usr/sbin/a2enmod                                                             OK
/usr/sbin/a2query                                                             OK
/usr/sbin/apache2ctl                                                          OK
/usr/share/apache2/apache2-maintscript-helper                                 OK
/usr/share/apache2/ask-for-passphrase                                         OK
/usr/share/bash-completion/completions/a2enmod                                OK
/usr/share/doc/apache2/NEWS.Debian.gz                                         OK
/usr/share/doc/apache2/PACKAGING.gz                                           OK
/usr/share/doc/apache2/README.Debian.gz                                       OK
/usr/share/doc/apache2/README.backtrace                                       OK
/usr/share/doc/apache2/README.multiple-instances                              OK
/usr/share/doc/apache2/copyright                                              OK
/usr/share/doc/apache2/examples/apache2.monit                                 OK
/usr/share/doc/apache2/examples/secondary-init-script                         OK
/usr/share/doc/apache2/examples/setup-instance                                OK
/usr/share/lintian/overrides/apache2                                          OK
/usr/share/man/man1/a2query.1.gz                                              OK
/usr/share/man/man8/a2enconf.8.gz                                             OK
/usr/share/man/man8/a2enmod.8.gz                                              OK
/usr/share/man/man8/a2ensite.8.gz                                             OK
/usr/share/man/man8/apache2ctl.8.gz                                           OK

Angenommen, Sie führen debsums als regulärer Benutzer ohne sudo aus, können Sie Berechtigungsfehler als Warnungen behandeln, indem Sie die Option --ignore-permissions verwenden :

debsums --ignore-permissions 

So generieren Sie MD5-Summen aus .DEB-Dateien

Die Option -g weist Debsums an, MD5-Summen aus Deb-Inhalten zu generieren, wobei:

  1. fehlt – Debsums anweisen, MD5-Summen aus dem Deb für Pakete zu generieren, die keine bereitstellen.
  2. alle – weist Debsums an, die Summen auf der Festplatte zu ignorieren und die in der Deb-Datei vorhandene oder daraus generierte zu verwenden, falls keine vorhanden ist.
  3. keep – weist Debsums an, die extrahierten/generierten Summen in die Datei /var/lib/dpkg/info/package.md5sums zu schreiben.
  4. nocheck – bedeutet, dass die extrahierten/generierten Summen nicht mit dem installierten Paket verglichen werden.

Wenn Sie sich den Inhalt des Verzeichnisses /var/lib/dpkg/info/ ansehen, sehen Sie MD5-Summen für verschiedene Dateien, die wie im Bild unten gepackt werden:

cd /var/lib/dpkg/info
$ ls *.md5sums
a11y-profile-manager-indicator.md5sums
account-plugin-facebook.md5sums
account-plugin-flickr.md5sums
account-plugin-google.md5sums
accountsservice.md5sums
acl.md5sums
acpid.md5sums
acpi-support.md5sums
activity-log-manager.md5sums
adduser.md5sums
adium-theme-ubuntu.md5sums
adwaita-icon-theme.md5sums
aisleriot.md5sums
alsa-base.md5sums
alsa-utils.md5sums
anacron.md5sums
apache2-bin.md5sums
apache2-data.md5sums
apache2.md5sums
apache2-utils.md5sums
apg.md5sums
apparmor.md5sums
app-install-data.md5sums
app-install-data-partner.md5sums
...

Denken Sie daran, dass die Verwendung der Option -g mit der Option --generate=missing identisch ist. Sie können versuchen, durch Ausführen eine MD5-Summe für das Paket Apache2 zu generieren den folgenden Befehl.

sudo debsums --generate=missing apache2 

Da das Apache2-Paket auf meinem System bereits über md5-Summen verfügt, wird die folgende Ausgabe angezeigt, die mit der Ausführung von Folgendem identisch ist:

sudo debsums apache2

Weitere interessante Optionen und Nutzungsinformationen finden Sie auf der Manpage debsums.

man debsums

In diesem Artikel haben wir erläutert, wie Sie installierte Debian/Ubuntu-Pakete anhand von MD5-Prüfsummen überprüfen. Dies kann hilfreich sein, um die Installation und Ausführung beschädigter Binärdateien oder Paketdateien auf Ihrem Computer zu vermeiden System, indem die Dateien im Dateisystem mit den im Paket gespeicherten Informationen verglichen werden.

Für Fragen oder Rückmeldungen nutzen Sie bitte das Kommentarformular unten. Möglicherweise können Sie auch ein oder zwei Vorschläge machen, um diesen Beitrag zu verbessern.