Com comprovar les sumes MD5 dels paquets instal·lats a Debian/Ubuntu Linux
Alguna vegada us heu preguntat per què un determinat binari o paquet instal·lat al vostre sistema no funciona segons les vostres expectatives, és a dir, no funciona correctament com se suposa que ha de fer, potser no pot començar en absolut.
Durant la descàrrega de paquets, és possible que tingueu problemes de connexions de xarxa inestables o talls d'alimentació inesperats, això pot provocar la instal·lació del paquet danyat.
Tenint en compte això com un factor important per mantenir paquets no corrompus al vostre sistema, és per tant un pas vital verificar els fitxers del sistema de fitxers amb la informació emmagatzemada al paquet utilitzant l'article següent.
Com verificar els paquets de Debian instal·lats contra les sumes de comprovació MD5
Als sistemes Debian/Ubuntu, podeu utilitzar l'eina debsums per comprovar les sumes MD5 dels paquets instal·lats. Si voleu conèixer la informació sobre el paquet debsums abans d'instal·lar-lo, podeu utilitzar APT-CACHE d'aquesta manera:
$ apt-cache search debsums
A continuació, instal·leu-lo mitjançant l'ordre apt de la següent manera:
$ sudo apt install debsums
Ara és el moment d'aprendre a utilitzar l'eina debsums per verificar MD5sum dels paquets instal·lats.
Nota: he utilitzat sudo amb totes les ordres següents perquè és possible que alguns fitxers no tinguin permisos de lectura per als usuaris habituals.
A més, la sortida de l'ordre debsums us mostra la ubicació del fitxer a l'esquerra i els resultats de la comprovació a la dreta. Hi ha tres resultats possibles que podeu obtenir, que inclouen:
- D'acord: indica que la suma MD5 d'un fitxer és bona.
- FALLADA: mostra que la suma MD5 d'un fitxer no coincideix.
- SUBSTITUÏT: significa que el fitxer específic ha estat substituït per un fitxer d'un altre paquet.
Quan l'executeu sense cap opció, debsums comprova tots els fitxers del vostre sistema amb els fitxers md5sum d'existències.
$ 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 ....
Per habilitar la comprovació de tots els fitxers i fitxers de configuració de cada paquet per a qualsevol canvi, incloeu l'opció -a
o --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 ...
També és possible comprovar només el fitxer de configuració excloent tots els altres fitxers de paquet utilitzant l'opció -e
o --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 ...
A continuació, per mostrar només els fitxers modificats a la sortida de debsums, utilitzeu l'opció -c
o --changed
. No he trobat cap fitxer modificat al meu sistema.
$ sudo debsums --changed
La següent ordre imprimeix fitxers que no tenen informació md5sum, aquí fem servir l'opció -l
i --list-missing
. Al meu sistema, l'ordre no mostra cap fitxer.
$ sudo debsums --list-missing
Ara és el moment de verificar la suma md5 d'un sol paquet especificant el seu nom:
$ 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
Suposant que esteu executant debsums com un usuari normal sense sudo, podeu tractar els errors de permís com a advertències utilitzant l'opció --ignore-permissions
:
$ debsums --ignore-permissions
Com generar sumes MD5 a partir de fitxers .Deb
L'opció -g
indica als debsums que generin sumes MD5 a partir del contingut deb, on:
- falta: indiqueu als debsums que generin sumes MD5 a partir del deb per als paquets que no en proporcionen cap.
- tot: indica a les sumes debsums que ignorin les sumes del disc i que utilitzin la present al fitxer deb, o generada a partir d'ell si no n'hi ha cap.
- mantenir: diu als debsums que escriguin les sumes extretes/generades al fitxer /var/lib/dpkg/info/package.md5sums.
- nocheck: significa que les sumes extretes/generades no es comparen amb el paquet instal·lat.
Quan mireu el contingut del directori /var/lib/dpkg/info/
, veureu md5sums per a diversos fitxers que empaqueten com a la imatge següent:
$ 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 ...
Recordeu que utilitzar l'opció -g
és el mateix que --generate=missing
, podeu provar de generar una suma md5 per al paquet apache2 executant l'ordre següent.
$ sudo debsums --generate=missing apache2
Com que el paquet apache2 al meu sistema ja té sumes md5, mostrarà la sortida següent, que és la mateixa que executar:
$ sudo debsums apache2
Per obtenir més opcions interessants i informació d'ús, consulteu la pàgina de manual de debsums.
$ man debsums
En aquest article, vam compartir com verificar els paquets Debian/Ubuntu instal·lats amb les sumes de comprovació MD5, això pot ser útil per evitar instal·lar i executar fitxers binaris o paquets danyats al vostre sistema comprovant els fitxers del sistema de fitxers amb la informació emmagatzemada a el paquet.
Per a qualsevol pregunta o comentari, aprofita el formulari de comentaris a continuació. Imaginablement, també podeu oferir un o dos suggeriments per millorar aquesta publicació.