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:
- OK – zeigt an, dass die MD5-Summe einer Datei gut ist.
- FEHLER – zeigt an, dass die MD5-Summe einer Datei nicht übereinstimmt.
- 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:
- fehlt – Debsums anweisen, MD5-Summen aus dem Deb für Pakete zu generieren, die keine bereitstellen.
- 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.
- keep – weist Debsums an, die extrahierten/generierten Summen in die Datei /var/lib/dpkg/info/package.md5sums zu schreiben.
- 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.