Hoe u de MD5-sommen van geïnstalleerde pakketten kunt controleren in Debian/Ubuntu Linux
Heeft u zich ooit afgevraagd waarom een bepaald binair bestand of pakket dat op uw systeem is geïnstalleerd, niet volgens uw verwachtingen werkt, wat betekent dat het niet correct functioneert zoals het zou moeten doen, misschien kan het helemaal niet starten.
Tijdens het downloaden van pakketten kunt u te maken krijgen met problemen als instabiele netwerkverbindingen of onverwachte stroomuitval. Dit kan resulteren in de installatie van een beschadigd pakket.
Aangezien dit een belangrijke factor is bij het behouden van onbeschadigde pakketten op uw systeem, is het daarom een cruciale stap om de bestanden op het bestandssysteem te verifiëren aan de hand van de informatie die in het pakket is opgeslagen, met behulp van het volgende artikel.
Voorgesteld lezen: Leer hoe u bestanden genereert en verifieert met MD5 Checksum in Linux
Hoe u geïnstalleerde Debian-pakketten kunt verifiëren aan de hand van MD5-controlesommen
Op Debian/Ubuntu-systemen kunt u de tool debsums gebruiken om de MD5-sommen van geïnstalleerde pakketten te controleren. Als u de informatie over het debsums pakket wilt weten voordat u het installeert, kunt u APT-CACHE als volgt gebruiken:
apt-cache search debsums
Installeer het vervolgens als volgt met de opdracht apt:
sudo apt install debsums
Nu is het tijd om te leren hoe u de debsums tool kunt gebruiken om MD5sum van geïnstalleerde pakketten te verifiëren.
Opmerking: ik heb sudo gebruikt met alle onderstaande opdrachten omdat bepaalde bestanden mogelijk geen leesrechten hebben voor gewone gebruikers.
Bovendien toont de uitvoer van de opdracht debsums u de bestandslocatie aan de linkerkant en de controleresultaten aan de rechterkant. Er zijn drie mogelijke resultaten die u kunt behalen, waaronder:
- OK – geeft aan dat de MD5-som van een bestand goed is.
- mislukt – geeft aan dat de MD5-som van een bestand niet overeenkomt.
- VERVANGEN – betekent dat het specifieke bestand is vervangen door een bestand uit een ander pakket.
Als je het zonder enige opties uitvoert, controleert debsums elk bestand op je systeem met de standaard md5sum-bestanden.
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
....
Om het controleren van elk bestand en configuratiebestanden voor elk pakket op eventuele wijzigingen mogelijk te maken, voegt u de optie -a
of --all
toe:
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
...
Het is ook mogelijk om alleen het configuratiebestand te controleren, met uitsluiting van alle andere pakketbestanden, door de optie -e
of --config
te gebruiken:
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
...
Om vervolgens alleen gewijzigde bestanden weer te geven in de uitvoer van debsums, gebruikt u de optie -c
of --changed
. Ik heb geen gewijzigde bestanden in mijn systeem gevonden.
sudo debsums --changed
De volgende opdracht drukt bestanden af die geen md5sum-info bevatten. Hier gebruiken we de optie -l
en --list-missing
. Op mijn systeem toont de opdracht geen enkel bestand.
sudo debsums --list-missing
Nu is het tijd om de md5-som van een enkel pakket te verifiëren door de naam ervan op te geven:
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
Ervan uitgaande dat u debsums uitvoert als een gewone gebruiker zonder sudo, kunt u toestemmingsfouten behandelen als waarschuwingen door de optie --ignore-permissions
te gebruiken :
debsums --ignore-permissions
Hoe MD5-sommen te genereren uit .Deb-bestanden
De optie -g
vertelt debsums om MD5-sommen te genereren uit deb-inhoud, waarbij:
- ontbreekt – instrueer debsums om MD5-sommen uit de deb te genereren voor pakketten die er niet in voorzien.
- alles – geeft debsums de opdracht om de bedragen op schijf te negeren en de bedragen te gebruiken die aanwezig zijn in het deb-bestand, of daaruit gegenereerd als er geen zijn.
- keep – vertelt debsums om de geëxtraheerde/gegenereerde sommen naar het bestand /var/lib/dpkg/info/package.md5sums te schrijven.
- nocheck – betekent dat de geëxtraheerde/gegenereerde bedragen niet worden gecontroleerd aan de hand van het geïnstalleerde pakket.
Als je naar de inhoud van de map /var/lib/dpkg/info/
kijkt, zie je md5sums voor verschillende bestanden die worden verpakt zoals in de onderstaande afbeelding:
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
...
Houd er rekening mee dat het gebruik van de optie -g
hetzelfde is als --generate=missing
. U kunt proberen een MD5-som te genereren voor het apache2-pakket door het uit te voeren het volgende commando.
sudo debsums --generate=missing apache2
Omdat het apache2-pakket op mijn systeem al md5-sommen bevat, wordt de onderstaande uitvoer weergegeven, wat hetzelfde is als bij het uitvoeren:
sudo debsums apache2
Voor meer interessante opties en gebruiksinformatie kunt u de manpagina van debsums raadplegen.
man debsums
In dit artikel hebben we gedeeld hoe u geïnstalleerde Debian/Ubuntu-pakketten kunt verifiëren aan de hand van MD5-controlesommen. Dit kan handig zijn om te voorkomen dat u beschadigde binaire bestanden of pakketbestanden op uw computer installeert en uitvoert. systeem door de bestanden op het bestandssysteem te controleren aan de hand van de informatie die in het pakket is opgeslagen.
Voor vragen of feedback kunt u gebruik maken van het onderstaande reactieformulier. Het is denkbaar dat u net zo goed een of twee suggesties kunt doen om dit bericht te verbeteren.