Kuinka tarkistaa asennettujen pakettien MD5-summat Debian/Ubuntu Linuxissa


Oletko koskaan miettinyt, miksi jokin järjestelmääsi asennettu binaari tai paketti ei toimi odotustenne mukaisesti, eli se ei toimi oikein niin kuin sen pitäisi toimia, ehkä se ei voi käynnistyä ollenkaan.

Paketteja ladattaessa saatat kohdata epävakaiden verkkoyhteyksien tai odottamattomien sähkökatkosten aiheuttamia haasteita, mikä voi johtaa vioittuneen paketin asennukseen.

Koska tämä on tärkeä tekijä vioittumattomien pakettien ylläpitämisessä järjestelmässäsi, on siksi tärkeä vaihe tarkistaa tiedostojärjestelmän tiedostot pakettiin tallennettuihin tietoihin nähden seuraavan artikkelin avulla.

Suositeltu luku: Opi luomaan ja vahvistamaan tiedostoja MD5-tarkistussummalla Linuxissa

Kuinka tarkistaa asennetut Debian-paketit MD5-tarkistussummia vastaan

Debian/Ubuntu-järjestelmissä voit käyttää debsums-työkalua tarkistaaksesi asennettujen pakettien MD5-summat. Jos haluat tietää debsums-paketin tiedot ennen sen asentamista, voit käyttää APT-CACHE:tä seuraavasti:

apt-cache search debsums

Asenna se seuraavaksi apt-komennolla seuraavasti:

sudo apt install debsums

Nyt on aika oppia käyttämään debsums-työkalua asennettujen pakettien MD5sum -työkalun tarkistamiseen.

Huomaa: Olen käyttänyt sudoa kaikkien alla olevien komentojen kanssa, koska tietyillä tiedostoilla ei ehkä ole lukuoikeuksia tavallisille käyttäjille.

Lisäksi debsums-komennon tulos näyttää tiedoston sijainnin vasemmalla ja tarkistustulokset oikealla. Voit saada kolme mahdollista tulosta, joita ovat:

  1. OK – osoittaa, että tiedoston MD5-summa on hyvä.
  2. FAILED – osoittaa, että tiedoston MD5-summa ei täsmää.
  3. KORVATTU – tarkoittaa, että tietty tiedosto on korvattu tiedostolla toisesta paketista.

Kun suoritat sen ilman valintoja, debsums tarkistaa kaikki järjestelmässäsi olevat tiedostot md5sum-tiedostoihin verrattuna.

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

Jos haluat tarkistaa jokaisen paketin jokaisen tiedoston ja asetustiedostot mahdollisten muutosten varalta, sisällytä vaihtoehto -a tai --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
...

On myös mahdollista tarkistaa vain asetustiedosto ilman muita pakettitiedostoja käyttämällä -e- tai --config-vaihtoehtoa:

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

Käytä seuraavaksi vaihtoehtoa -c tai --changed, jos haluat näyttää vain muuttuneet tiedostot debsum-tuloksissa. En löytänyt järjestelmästäni muuttuneita tiedostoja.

sudo debsums --changed

Seuraava komento tulostaa tiedostot, joissa ei ole md5sum-tietoa, tässä käytetään vaihtoehtoja -l ja --list-missing. Järjestelmässäni komento ei näytä yhtään tiedostoa.

sudo debsums --list-missing

Nyt on aika vahvistaa yksittäisen paketin md5-summa määrittämällä sen nimi:

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

Olettaen, että käytät debsumsia tavallisena käyttäjänä ilman sudoa, voit käsitellä lupavirheitä varoituksina käyttämällä ---ignore-permissions-vaihtoehtoa. :

debsums --ignore-permissions 

MD5-summien luominen .Deb-tiedostoista

Valinta -g käskee debsumleja luomaan MD5-summia deb-sisällöstä, jossa:

  1. puuttuu – käske debsumeita luomaan MD5-summat debistä paketeille, jotka eivät tarjoa debsummia.
  2. kaikki – ohjaa debsummit jättämään huomioimatta levyllä olevat summat ja käyttämään deb-tiedostossa olevaa tai siitä luotua, jos sellaista ei ole.
  3. säilytä – käskee debsumia kirjoittamaan puretut/luodut summat /var/lib/dpkg/info/package.md5sums-tiedostoon.
  4. nocheck – tarkoittaa, että purettuja/luottuja summia ei verrata asennettuun pakettiin.

Kun katsot hakemiston /var/lib/dpkg/info/ sisältöä, näet md5sum-summat eri tiedostoille, jotka pakataan alla olevan kuvan mukaisesti:

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

Muista, että vaihtoehto -g on sama kuin --generate=missing, joten voit yrittää luoda md5-summan apache2-paketille suorittamalla seuraava komento.

sudo debsums --generate=missing apache2 

Koska järjestelmässäni apache2-paketissa on jo md5-summat, se näyttää alla tulosteen, joka on sama kuin käynnissä:

sudo debsums apache2

Lisää mielenkiintoisia vaihtoehtoja ja käyttötietoja löytyy debsums -manuaalisivulta.

man debsums

Tässä artikkelissa kerroimme, kuinka asennetut Debian/Ubuntu-paketit tarkistetaan MD5-tarkistussummia vastaan. Tämä voi olla hyödyllistä, jotta vältytään vioittuneiden binaarien tai pakettitiedostojen asentamisesta ja suorittamisesta järjestelmässä tarkistamalla tiedostojärjestelmän tiedostot pakettiin tallennettuihin tietoihin.

Jos sinulla on kysyttävää tai palautetta, käytä alla olevaa kommenttilomaketta. Voit kuvitella, että voit myös tarjota yhden tai kaksi ehdotusta tämän viestin parantamiseksi.