Hvordan sjekke MD5-summer av installerte pakker i Debian/Ubuntu Linux
Har du noen gang lurt på hvorfor en gitt binær eller pakke installert på systemet ditt ikke fungerer i henhold til dine forventninger, noe som betyr at den ikke fungerer som den skal, kanskje den ikke kan starte i det hele tatt.
Mens du laster ned pakker, kan du møte utfordringer med ustabile nettverkstilkoblinger eller uventede strømbrudd, dette kan føre til installasjon av ødelagt pakke.
Tatt i betraktning dette som en viktig faktor for å opprettholde ukorrupte pakker på systemet ditt, er det derfor et viktig skritt å verifisere filene på filsystemet mot informasjonen som er lagret i pakken ved å bruke følgende artikkel.
Hvordan verifisere installerte Debian-pakker mot MD5-sjekksummer
På Debian/Ubuntu-systemer kan du bruke debsums-verktøyet for å sjekke MD5-summene for installerte pakker. Hvis du vil vite informasjonen om debsums-pakken før du installerer den, kan du bruke APT-CACHE slik:
$ apt-cache search debsums
Deretter installerer du den ved å bruke apt-kommandoen som følger:
$ sudo apt install debsums
Nå er det på tide å lære hvordan du bruker debsums-verktøyet for å verifisere MD5sum av installerte pakker.
Merk: Jeg har brukt sudo med alle kommandoene nedenfor fordi enkelte filer kanskje ikke har leserettigheter for vanlige brukere.
I tillegg viser utdataene fra debsums-kommandoen deg filplasseringen til venstre og kontrollresultatene til høyre. Det er tre mulige resultater du kan få, de inkluderer:
- OK – indikerer at en fils MD5-sum er god.
- FEILEDES – viser at en fils MD5-sum ikke stemmer overens.
- ERSTATTET – betyr at den spesifikke filen har blitt erstattet av en fil fra en annen pakke.
Når du kjører det uten noen alternativer, sjekker debsums hver fil på systemet ditt mot md5sum-filene.
$ 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 ....
For å aktivere kontroll av hver fil og konfigurasjonsfiler for hver pakke for eventuelle endringer, inkluderer du alternativet -a
eller --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 ...
Det er også mulig å sjekke kun konfigurasjonsfilen unntatt alle andre pakkefiler ved å bruke -e
eller --config
alternativet:
$ 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 ...
Deretter, for å kun vise endrede filer i utdataene til debsums, bruk -c
eller --changed
alternativet. Jeg fant ingen endrede filer i systemet mitt.
$ sudo debsums --changed
Den neste kommandoen skriver ut filer som ikke har md5sum info, her bruker vi alternativene -l
og --list-missing
. På systemet mitt viser ikke kommandoen noen fil.
$ sudo debsums --list-missing
Nå er det på tide å bekrefte md5-summen til en enkelt pakke ved å spesifisere navnet:
$ 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
Forutsatt at du kjører debsums som en vanlig bruker uten sudo, kan du behandle tillatelsesfeil som advarsler ved å bruke --ignore-permissions
-alternativet:
$ debsums --ignore-permissions
Hvordan generere MD5-summer fra .Deb-filer
Alternativet -g
forteller debsums å generere MD5-summer fra deb-innhold, der:
- mangler – instruer debsums å generere MD5-summer fra deb for pakker som ikke gir en.
- alle – instruerer debsums til å ignorere summene på disken og bruke den som finnes i deb-filen, eller generert fra den hvis ingen eksisterer.
- keep – ber debsums skrive de utpakkede/genererte summene til filen /var/lib/dpkg/info/package.md5sums.
- nocheck – betyr at de utpakkede/genererte summene ikke sjekkes mot den installerte pakken.
Når du ser på innholdet i katalogen /var/lib/dpkg/info/
, vil du se md5sums for forskjellige filer som pakker som i bildet nedenfor:
$ 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 ...
Husk at å bruke -g
-alternativet er det samme som --generate=missing
, du kan prøve å generere en md5-sum for apache2-pakken ved å kjøre følgende kommando.
$ sudo debsums --generate=missing apache2
Siden apache2-pakken på systemet mitt allerede har md5-summer, vil den vise utdataene nedenfor, som er det samme som å kjøre:
$ sudo debsums apache2
For flere interessante alternativer og bruksinformasjon, se gjennom man-siden for debsums.
$ man debsums
I denne artikkelen delte vi hvordan du verifiserer installerte Debian/Ubuntu-pakker mot MD5-sjekksummer, dette kan være nyttig for å unngå å installere og kjøre ødelagte binærfiler eller pakkefiler på systemet ditt ved å sjekke filene på filsystemet mot informasjonen som er lagret i pakken.
For spørsmål eller tilbakemeldinger, dra nytte av kommentarskjemaet nedenfor. Tenk, du kan like godt gi ett eller to forslag for å gjøre dette innlegget bedre.