Weboldal keresés

A telepített csomagok MD5 összegének ellenőrzése Debian/Ubuntu Linux rendszerben


Elgondolkozott már azon, hogy egy adott bináris fájl vagy csomag, amely a rendszerére van telepítve, miért nem az elvárásoknak megfelelően működik, vagyis nem működik megfelelően úgy, ahogyan kellene, esetleg egyáltalán nem tud eseményt indítani.

Csomagok letöltése közben bizonytalan hálózati kapcsolatokkal vagy váratlan áramkimaradásokkal szembesülhet, ami sérült csomag telepítéséhez vezethet.

Tekintettel arra, hogy ez fontos tényező a sértetlen csomagok rendszeren való fenntartásában, ezért létfontosságú lépés a fájlrendszeren lévő fájlok ellenőrzése a csomagban tárolt információkkal a következő cikk segítségével.

Javasolt olvasmány: Ismerje meg, hogyan generálhat és ellenőrizhet fájlokat MD5 ellenőrzőösszeggel Linux alatt

A telepített Debian-csomagok ellenőrzése az MD5 ellenőrző összegekkel szemben

Debian/Ubuntu rendszereken a debsums eszközzel ellenőrizheti a telepített csomagok MD5 összegét. Ha szeretné tudni a debsums csomaggal kapcsolatos információkat a telepítés előtt, használhatja az APT-CACHE-t a következőképpen:

apt-cache search debsums

Ezután telepítse az apt paranccsal az alábbiak szerint:

sudo apt install debsums

Itt az ideje, hogy megtanulja, hogyan használhatja a debsums eszközt a telepített csomagok MD5sum ellenőrzésére.

Megjegyzés: A sudo-t használtam az összes alábbi paranccsal, mert előfordulhat, hogy bizonyos fájlok nem rendelkeznek olvasási jogosultsággal a normál felhasználók számára.

Ezenkívül a debsums parancs kimenete a bal oldalon mutatja a fájl helyét, a jobb oldalon pedig az ellenőrzés eredményeit. Három lehetséges eredmény érhető el, ezek a következők:

  1. OK – azt jelzi, hogy egy fájl MD5-ös összege jó.
  2. SIKERTELEN – azt jelzi, hogy egy fájl MD5-ös összege nem egyezik.
  3. CSERÉLVE – azt jelenti, hogy az adott fájlt lecserélték egy másik csomagból származó fájlra.

Ha opciók nélkül futtatja, a debsums a rendszerén lévő összes fájlt összeveti az md5sum fájlokkal.

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

Ha engedélyezni szeretné az egyes csomagok minden fájljának és konfigurációs fájljának módosítását, adja meg a -a vagy a --all opciót:

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

A -e vagy a --config kapcsolóval csak a konfigurációs fájlt ellenőrizheti, az összes többi csomagfájl kivételével:

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

Ezután, ha csak a megváltozott fájlokat szeretné megjeleníteni a debsums kimenetében, használja a -c vagy a --changed opciót. Nem találtam megváltozott fájlt a rendszeremben.

sudo debsums --changed

A következő parancs kiírja azokat a fájlokat, amelyek nem tartalmaznak md5sum infót, itt a -l és a --list-missing opciókat használjuk. Az én rendszeremen a parancs nem mutat semmilyen fájlt.

sudo debsums --list-missing

Itt az ideje, hogy ellenőrizzük egyetlen csomag md5 összegét a nevének megadásával:

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

Feltéve, hogy a debsums rendszert normál felhasználóként, sudo nélkül futtatja, az engedélyes hibákat figyelmeztetésként kezelheti a --ignore-permissions opció használatával. :

debsums --ignore-permissions 

MD5 összegek generálása .Deb fájlokból

A -g opció arra utasítja a debsums-okat, hogy MD5 összegeket hozzanak létre a deb tartalmakból, ahol:

  1. hiányzik – utasítsa a debsum-okat, hogy generáljanak MD5 összegeket a deb-ből azon csomagok számára, amelyek nem biztosítanak ilyet.
  2. összes – arra utasítja a debsum-okat, hogy figyelmen kívül hagyják a lemezen lévő összegeket, és a deb fájlban jelen lévőt használják, vagy ha nem létezik, az abból előállítottat.
  3. Keep – utasítja a debsums-t, hogy írja be a kivont/generált összegeket a /var/lib/dpkg/info/package.md5sums fájlba.
  4. nocheck – azt jelenti, hogy a kinyert/generált összegeket nem vetik össze a telepített csomaggal.

Ha megnézi a /var/lib/dpkg/info/ könyvtár tartalmát, md5sum-okat fog látni különféle fájlokhoz, amelyek az alábbi képen látható módon csomagolódnak:

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

Ne feledje, hogy a -g opció használata megegyezik a --generate=missing opcióval, megpróbálhat md5 összeget generálni az apache2 csomaghoz úgy, hogy futtassa. a következő parancsot.

sudo debsums --generate=missing apache2 

Mivel az apache2 csomag a rendszeremen már rendelkezik md5 összegekkel, az alábbi kimenetet fogja megjeleníteni, ami megegyezik a futáséval:

sudo debsums apache2

További érdekes lehetőségekért és használati információkért tekintse át a debsums kézikönyvoldalt.

man debsums

Ebben a cikkben megosztottuk, hogyan ellenőrizheti a telepített Debian/Ubuntu csomagokat az MD5 ellenőrző összegekkel szemben. Ez hasznos lehet a sérült binárisok vagy csomagfájlok telepítésének és futtatásának elkerülése érdekében. rendszert úgy, hogy a fájlrendszeren lévő fájlokat összeveti a csomagban tárolt információkkal.

Ha kérdése vagy visszajelzése van, használja az alábbi megjegyzés űrlapot. Elképzelhető, hogy felajánlhat egy-két javaslatot a bejegyzés jobbá tételére.