Cum să verificați sumele MD5 ale pachetelor instalate în Debian/Ubuntu Linux
Te-ai întrebat vreodată de ce un anumit binar sau pachet instalat pe sistemul tău nu funcționează conform așteptărilor tale, adică nu funcționează corect așa cum ar trebui să facă, poate că nu poate începe deloc.
În timp ce descărcați pachete, este posibil să vă confruntați cu provocări legate de conexiuni instabile la rețea sau întreruperi neașteptate de curent, ceea ce poate duce la instalarea pachetului corupt.
Considerând acest lucru ca fiind un factor important în menținerea pachetelor necorupte pe sistemul dvs., este, prin urmare, un pas vital să verificați fișierele din sistemul de fișiere față de informațiile stocate în pachet, folosind următorul articol.
Lectură sugerată: Aflați cum să generați și să verificați fișiere cu suma de verificare MD5 în Linux
Cum să verificați pachetele Debian instalate împotriva sumelor de verificare MD5
Pe sistemele Debian/Ubuntu, puteți utiliza instrumentul debsums pentru a verifica sumele MD5 ale pachetelor instalate. Dacă doriți să aflați informațiile despre pachetul debsums înainte de a-l instala, puteți utiliza APT-CACHE astfel:
apt-cache search debsums
Apoi, instalați-l folosind comanda apt, după cum urmează:
sudo apt install debsums
Acum este timpul să învățați cum să utilizați instrumentul debsums pentru a verifica MD5sum a pachetelor instalate.
Notă: am folosit sudo cu toate comenzile de mai jos, deoarece este posibil ca anumite fișiere să nu aibă permisiuni de citire pentru utilizatorii obișnuiți.
În plus, rezultatul comenzii debsums vă arată locația fișierului în stânga și rezultatele verificării în dreapta. Există trei rezultate posibile pe care le puteți obține, acestea includ:
- OK – indică faptul că suma MD5 a unui fișier este bună.
- FAILED – arată că suma MD5 a unui fișier nu se potrivește.
- ÎNLOCUIT – înseamnă că fișierul specific a fost înlocuit cu un fișier dintr-un alt pachet.
Când îl rulați fără opțiuni, debsums verifică fiecare fișier din sistemul dvs. cu fișierele stoc 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
....
Pentru a activa verificarea fiecărui fișier și a fișierelor de configurare pentru fiecare pachet pentru orice modificări, includeți opțiunea -a
sau --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
...
De asemenea, este posibil să verificați numai fișierul de configurare, excluzând toate celelalte fișiere de pachet, utilizând opțiunea -e
sau --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
...
Apoi, pentru a afișa numai fișierele modificate în ieșirea debsum-urilor, utilizați opțiunea -c
sau --changed
. Nu am găsit niciun fișier modificat în sistemul meu.
sudo debsums --changed
Următoarea comandă imprimă fișiere care nu au informații despre md5sum, aici folosim opțiunile -l
și --list-missing
. Pe sistemul meu, comanda nu afișează niciun fișier.
sudo debsums --list-missing
Acum este timpul să verificați suma md5 a unui singur pachet specificând numele acestuia:
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
Presupunând că rulați debsums ca utilizator obișnuit fără sudo, puteți trata erorile de permisiune ca avertismente utilizând opțiunea --ignore-permissions
:
debsums --ignore-permissions
Cum se generează sume MD5 din fișiere .Deb
Opțiunea -g
le spune debsum-urilor să genereze sume MD5 din conținutul deb, unde:
- lipsă – instruiți debsums să genereze sume MD5 din deb pentru pachetele care nu oferă unul.
- toate – direcționează sumele debs să ignore sumele de pe disc și să o utilizeze pe cea prezentă în fișierul deb sau generată din acesta dacă nu există.
- păstrați – le spune debsums-urilor să scrie sumele extrase/generate în fișierul /var/lib/dpkg/info/package.md5sums.
- nocheck – înseamnă că sumele extrase/generate nu sunt verificate în raport cu pachetul instalat.
Când vă uitați la conținutul directorului /var/lib/dpkg/info/
, veți vedea md5sums pentru diferite fișiere care se împachetează ca în imaginea de mai jos:
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
...
Amintiți-vă că utilizarea opțiunii -g
este aceeași cu --generate=missing
, puteți încerca să generați o sumă md5 pentru pachetul apache2 rulând următoarea comandă.
sudo debsums --generate=missing apache2
Deoarece pachetul apache2 de pe sistemul meu are deja sume md5, va afișa rezultatul de mai jos, care este același cu rularea:
sudo debsums apache2
Pentru mai multe opțiuni interesante și informații despre utilizare, consultați pagina de manual debsums.
man debsums
În acest articol, am împărtășit cum să verificați pachetele Debian/Ubuntu instalate în raport cu sumele de verificare MD5, acest lucru poate fi util pentru a evita instalarea și executarea fișierelor binare sau pachetelor corupte pe dvs. sistem prin verificarea fișierelor din sistemul de fișiere cu informațiile stocate în pachet.
Pentru orice întrebări sau feedback, profitați de formularul de comentarii de mai jos. În mod imaginabil, puteți oferi și una sau două sugestii pentru a îmbunătăți această postare.