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:
- OK – azt jelzi, hogy egy fájl MD5-ös összege jó.
- SIKERTELEN – azt jelzi, hogy egy fájl MD5-ös összege nem egyezik.
- 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:
- 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.
- ö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.
- Keep – utasítja a debsums-t, hogy írja be a kivont/generált összegeket a /var/lib/dpkg/info/package.md5sums fájlba.
- 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.