Wéi kontrolléiert MD5 Summen vun installéierten Packagen an Debian/Ubuntu Linux


Hutt Dir jeemools gefrot firwat e bestëmmte Binär oder Package op Ärem System installéiert ass net no Ären Erwaardungen funktionnéiert, dat heescht datt et net korrekt funktionnéiert wéi et soll maachen, vläicht kann et guer net Event ufänken.

Wärend Pakete eroflueden, kënnt Dir Erausfuerderunge vun onbestänneg Netzwierkverbindungen oder onerwaart Stroumverschlësselung konfrontéieren, dëst kann zu der Installatioun vum beschiedegte Package féieren.

Wann Dir dëst als e wichtege Faktor berécksiichtegt fir onbeschiedegt Packagen op Ärem System z'erhalen, ass et dofir e wesentleche Schrëtt fir d'Dateien um Dateiesystem géint d'Informatioun am Package ze verifizéieren andeems Dir folgenden Artikel benotzt.

Wéi verifizéiert installéiert Debian Packagen géint MD5 Checksums

Op Debian/Ubuntu Systemer kënnt Dir den Debsums Tool benotzen fir d'MD5 Zomme vun installéierten Packagen ze kontrolléieren. Wann Dir d'Informatioun iwwer debsums Package wësse wëllt ier Dir se installéiert, kënnt Dir APT-CACHE benotzen sou:

$ apt-cache search debsums

Als nächst, installéiert et mam apt Kommando wéi follegt:

$ sudo apt install debsums

Elo ass et Zäit fir ze léieren wéi een Debsums Tool benotzt fir MD5sum vun installéierten Packagen z'iwwerpréiwen.

Bemierkung: Ech hunn sudo mat all de Kommandoen hei ënnen benotzt, well verschidde Dateie vläicht keng Liesrechter fir regelméisseg Benotzer hunn.

Zousätzlech weist d'Ausgab vum Debsums Kommando Iech d'Dateiplaz op der lénkser an d'Kontrollresultater op der rietser Säit. Et ginn dräi méiglech Resultater déi Dir kritt, si enthalen:

  1. OK - weist datt d'MD5 Zomm vun engem Fichier gutt ass.
  2. FAILED - weist datt d'MD5 Zomm vun engem Fichier net entsprécht.
  3. ERSCHT – heescht datt de spezifesche Fichier duerch e Fichier aus engem anere Pak ersat gouf.

Wann Dir et ouni Optiounen leeft, iwwerpréift debsums all Datei op Ärem System géint d'Aktie md5sum Dateien.

$ 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
....

Fir d'Kontroll vun all Datei- a Konfiguratiounsdateien fir all Package fir all Ännerung z'aktivéieren, enthält d'Optioun -a oder --all:

$ 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
...

Et ass och méiglech nëmmen d'Konfiguratiounsdatei ze kontrolléieren ausser all aner Paketdateien andeems Dir d'Optioun -e oder --config benotzt:

$ 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
...

Als nächst, fir nëmmen geännert Dateien am Output vun Debsums ze weisen, benotzt d'Optioun -c oder --changed. Ech hu keng geännert Dateien a mengem System fonnt.

$ sudo debsums --changed

De nächste Kommando dréckt Dateien aus déi keng md5sum Info hunn, hei benotze mir d'Optioun -l an --list-missing. Op mengem System weist de Kommando keng Datei.

$ sudo debsums --list-missing

Elo ass et Zäit d'md5 Zomm vun engem eenzege Package z'iwwerpréiwen andeems se säin Numm uginn:

$ 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

Unzehuelen datt Dir Debsums als normale Benotzer ouni sudo leeft, kënnt Dir Erlaabnisfehler als Warnunge behandelen andeems Dir d'Optioun --ignore-permissions benotzt:

$ debsums --ignore-permissions 

Wéi Generéiere MD5 Zommen aus .Deb Dateien

D'Optioun -g seet Debsums fir MD5 Zommen aus Deb Inhalter ze generéieren, wou:

  1. fehlend - instruéiert Debsums fir MD5 Zommen aus der Deb ze generéieren fir Packagen déi net een ubidden.
  2. all - dirigéiert Debsums fir d'Summen op der Disk ze ignoréieren an déi an der Deb Datei ze benotzen, oder dovunner generéiert wann et keng gëtt.
  3. keep - erzielt debsums fir déi extrahéiert/generéiert Zommen op /var/lib/dpkg/info/package.md5sums Datei ze schreiwen.
  4. nocheck - heescht datt déi extrahéiert/generéiert Zommen net géint den installéierte Package gepréift ginn.

Wann Dir den Inhalt vum Verzeechnes /var/lib/dpkg/info/ kuckt, gesitt Dir md5sums fir verschidde Dateien déi packen wéi am Bild hei drënner:

$ 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
...

Denkt drun datt d'Benotzung -g Optioun d'selwecht ass wéi --generate=missing, Dir kënnt probéieren eng md5 Zomm fir apache2 Package ze generéieren andeems Dir de folgende Kommando ausféiert.

$ sudo debsums --generate=missing apache2 

Zënter dem Apache2 Package op mengem System scho md5 Zommen huet, wäert et d'Ausgab hei ënnen weisen, wat d'selwecht ass wéi lafen:

$ sudo debsums apache2

Fir méi interessant Optiounen a Benotzungsinformatioun, kuckt duerch d'Debsums Man Säit.

$ man debsums

An dësem Artikel hu mir gedeelt wéi Dir installéiert Debian/Ubuntu Pakete géint MD5 Checksummen verifizéiere kënnt, dëst kann nëtzlech sinn fir ze vermeiden datt korrupt Binären oder Package Dateien op Ärem System installéiert an ausféieren andeems Dir d'Dateien am Dateiesystem iwwerpréift géint d'Informatioun déi am gespäichert ass. de Pak.

Fir all Froen oder Feedback, profitéiert vum Kommentarformular hei drënner. Virstellen, Dir kënnt och een oder zwee Virschléi ubidden fir dëse Post besser ze maachen.