Kako provjeriti MD5 zbroj instaliranih paketa u Debian/Ubuntu Linuxu
Jeste li se ikada zapitali zašto određena binarna datoteka ili paket instaliran na vašem sustavu ne radi prema vašim očekivanjima, što znači da ne funkcionira ispravno kako bi trebao, možda se uopće ne može pokrenuti.
Tijekom preuzimanja paketa možete se suočiti s izazovima nestabilnih mrežnih veza ili neočekivanih nestanaka struje, što može dovesti do instalacije oštećenog paketa.
Uzimajući u obzir ovo kao važan čimbenik u održavanju neoštećenih paketa na vašem sustavu, stoga je ključan korak provjeriti datoteke u datotečnom sustavu u odnosu na informacije pohranjene u paketu pomoću sljedećeg članka.
Predloženo za čitanje: Naučite kako generirati i potvrditi datoteke s MD5 kontrolnim zbrojem u Linuxu
Kako provjeriti instalirane Debian pakete u odnosu na MD5 kontrolne zbrojeve
Na Debian/Ubuntu sustavima, možete koristiti debsums alat za provjeru MD5 zbrojeva instaliranih paketa. Ako želite znati informacije o paketu debsums prije nego što ga instalirate, možete koristiti APT-CACHE ovako:
apt-cache search debsums
Zatim ga instalirajte pomoću naredbe apt na sljedeći način:
sudo apt install debsums
Sada je vrijeme da naučite kako koristiti alat debsums za provjeru MD5sum instaliranih paketa.
Napomena: Koristio sam sudo sa svim naredbama u nastavku jer određene datoteke možda nemaju dopuštenje za čitanje za obične korisnike.
Osim toga, izlaz iz naredbe debsums prikazuje lokaciju datoteke s lijeve strane i rezultate provjere s desne strane. Postoje tri moguća rezultata koja možete dobiti, a oni uključuju:
- OK – označava da je MD5 zbroj datoteke dobar.
- NEUSPJELO – pokazuje da se MD5 zbroj datoteke ne podudara.
- ZAMIJENJENO – znači da je određena datoteka zamijenjena datotekom iz drugog paketa.
Kada ga pokrenete bez ikakvih opcija, debsums provjerava svaku datoteku na vašem sustavu u odnosu na standardne datoteke md5sum.
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
....
Da biste omogućili provjeru svake datoteke i konfiguracijskih datoteka za svaki paket za bilo kakve promjene, uključite opciju -a
ili --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
...
Također je moguće provjeriti samo konfiguracijsku datoteku isključujući sve druge datoteke paketa korištenjem opcije -e
ili --config
:
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
...
Dalje, za prikaz samo promijenjenih datoteka u izlazu debsumova, koristite opciju -c
ili --changed
. Nisam pronašao nijednu promijenjenu datoteku u svom sustavu.
sudo debsums --changed
Sljedeća naredba ispisuje datoteke koje nemaju md5sum informacije, ovdje koristimo opciju -l
i --list-missing
. Na mom sustavu naredba ne prikazuje nikakvu datoteku.
sudo debsums --list-missing
Sada je vrijeme da provjerite md5 zbroj jednog paketa navođenjem njegovog naziva:
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
Pod pretpostavkom da pokrećete debsums kao redoviti korisnik bez sudo, pogreške dopuštenja možete tretirati kao upozorenja korištenjem opcije --ignore-permissions
:
debsums --ignore-permissions
Kako generirati MD5 sume iz .Deb datoteka
Opcija -g
govori debsumovima da generiraju MD5 sume iz deb sadržaja, gdje:
- nedostaje – uputi debsumove da generiraju MD5 zbrojeve iz deb-a za pakete koji ga ne pružaju.
- sve – usmjerava debsumove da zanemare zbrojeve na disku i koriste onaj koji je prisutan u deb datoteci ili generiran iz nje ako nijedan ne postoji.
- zadrži – kaže debsums da zapiše ekstrahirane/generirane sume u datoteku /var/lib/dpkg/info/package.md5sums.
- nocheck – znači da se ekstrahirani/generirani iznosi ne provjeravaju prema instaliranom paketu.
Kada pogledate sadržaj direktorija /var/lib/dpkg/info/
, vidjet ćete md5sumove za razne datoteke koje pakiraju kao na slici ispod:
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
...
Zapamtite da je korištenje opcije -g
isto kao --generate=missing
, možete pokušati generirati md5 zbroj za apache2 paket pokretanjem sljedeću naredbu.
sudo debsums --generate=missing apache2
Budući da apache2 paket na mom sustavu već ima md5 sume, prikazat će izlaz ispod, koji je isti kao da se izvodi:
sudo debsums apache2
Za više zanimljivih opcija i informacija o korištenju, pogledajte debsums stranicu priručnika.
man debsums
U ovom smo članku podijelili kako provjeriti instalirane Debian/Ubuntu pakete u odnosu na MD5 kontrolne zbrojeve, ovo može biti korisno kako biste izbjegli instaliranje i izvođenje oštećenih binarnih ili paketnih datoteka na vašem sustav provjerom datoteka u datotečnom sustavu u odnosu na podatke pohranjene u paketu.
Za sva pitanja ili povratne informacije iskoristite obrazac za komentare u nastavku. Zamislivo, također možete ponuditi jedan ili dva prijedloga kako bi ovaj post bio bolji.