Giunsa Pagsusi ang MD5 Sums sa Na-install nga Mga Pakete sa Debian/Ubuntu Linux


Nakahunahuna ka na ba kung ngano nga ang usa ka binary o package nga na-install sa imong sistema wala molihok sumala sa imong gipaabut, nagpasabut nga dili kini molihok sa husto nga kinahanglan buhaton, tingali dili kini magsugod sa tanan.

Samtang nag-download sa mga pakete, mahimo nimong atubangon ang mga hagit sa dili makanunayon nga koneksyon sa network o wala damha nga pagkawala sa kuryente, mahimo’g moresulta kini sa pag-install sa dunot nga pakete.

Giisip kini nga usa ka hinungdanon nga hinungdan sa pagpadayon sa wala madunot nga mga pakete sa imong sistema, busa kini usa ka hinungdanon nga lakang aron mapamatud-an ang mga file sa file system batok sa impormasyon nga gitipigan sa pakete pinaagi sa paggamit sa mosunod nga artikulo.

Giunsa Pagtino ang Na-install nga Mga Pakete sa Debian Batok sa Mga Checksum sa MD5

Sa mga sistema sa Debian/Ubuntu, mahimo nimong gamiton ang tool sa debsums aron masusi ang MD5 nga kantidad sa mga naka-install nga pakete. Kung gusto nimo mahibal-an ang kasayuran bahin sa debsums nga pakete sa wala pa kini i-install, mahimo nimong gamiton ang APT-CACHE sama niini:

$ apt-cache search debsums

Sunod, i-install kini gamit ang apt command sama sa mosunod:

$ sudo apt install debsums

Karon na ang panahon aron mahibal-an kung giunsa ang paggamit sa tool sa debsums aron mapamatud-an ang MD5sum sa na-install nga mga pakete.

Mubo nga sulat: Gigamit nako ang sudo sa tanan nga mga sugo sa ubos tungod kay ang pipila nga mga file mahimo’g wala’y pagtugot sa pagbasa alang sa mga regular nga tiggamit.

Dugang pa, ang output gikan sa debsums command nagpakita kanimo sa lokasyon sa file sa wala ug ang mga resulta sa tseke sa tuo. Adunay tulo ka posible nga mga resulta nga imong makuha, kini naglakip sa:

  1. OK – nagpakita nga maayo ang MD5 sum sa file.
  2. FAILED – nagpakita nga ang usa ka file sa MD5 sum dili motakdo.
  3. GILISAN – nagpasabot nga ang espisipikong payl gipulihan sa file gikan sa laing pakete.

Kung gipadagan nimo kini nga wala’y kapilian, gisusi sa mga debsum ang matag file sa imong sistema batok sa mga stock nga md5sum nga mga file.

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

Aron ma-enable ang pagsusi sa matag file ug configuration files alang sa matag package alang sa bisan unsang kausaban, iapil ang -a o --all nga opsyon:

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

Posible nga susihon lamang ang configuration file nga walay labot sa tanang uban pang package files pinaagi sa paggamit sa -e o --config nga opsyon:

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

Sunod, aron ipakita lamang ang nausab nga mga file sa output sa mga debsum, gamita ang -c o --changed nga kapilian. Wala koy nakit-an nga nausab nga mga file sa akong sistema.

$ sudo debsums --changed

Ang sunod nga sugo mo-print sa mga file nga walay md5sum info, dinhi atong gamiton ang -l ug --list-missing nga opsyon. Sa akong sistema, ang mando wala magpakita sa bisan unsang file.

$ sudo debsums --list-missing

Karon na ang panahon sa pagsusi sa md5 nga kantidad sa usa ka pakete pinaagi sa pagtino sa ngalan niini:

$ 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

Sa paghuna-huna nga nagpadagan ka og mga debsum isip usa ka regular nga tiggamit nga walay sudo, mahimo nimong tagdon ang mga sayop sa pagtugot isip mga pasidaan pinaagi sa paggamit sa --ignore-permissions nga opsyon:

$ debsums --ignore-permissions 

Unsaon Paghimo sa MD5 Sums gikan sa .Deb Files

Ang -g nga opsyon nagsulti sa mga debsum aron makamugna og MD5 nga mga suma gikan sa mga sulod sa deb, diin:

  1. nawala – tudloi ang mga debsum sa pagmugna og MD5 nga mga suma gikan sa deb para sa mga pakete nga dili makahatag ug usa.
  2. all – nagmando sa mga debsum nga ibaliwala ang on disk sums ug gamiton ang anaa sa deb file, o namugna gikan niini kung wala.
  3. keep – sultihan ang mga debsum nga isulat ang gikuha/namugna nga sums sa /var/lib/dpkg/info/package.md5sums file.
  4. nocheck – nagpasabot nga ang gikuha/namugna nga mga sums wala gisusi batok sa na-install nga package.

Kung imong tan-awon ang sulod sa direktoryo /var/lib/dpkg/info/, imong makita ang md5sums alang sa lain-laing mga file nga nagputos sama sa hulagway sa ubos:

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

Hinumdumi nga ang paggamit sa -g nga kapilian parehas sa --generate=missing, mahimo nimong sulayan ang paghimo og usa ka md5 nga kantidad alang sa apache2 nga pakete pinaagi sa pagpadagan sa mosunod nga mando.

$ sudo debsums --generate=missing apache2 

Tungod kay ang apache2 nga pakete sa akong sistema aduna nay md5 sums, kini magpakita sa output sa ubos, nga parehas sa pagdagan:

$ sudo debsums apache2

Para sa mas makaiikag nga mga kapilian ug impormasyon sa paggamit, tan-awa pinaagi sa debsums man page.

$ man debsums

Niini nga artikulo, among gipaambit kung unsaon pag-verify ang na-install nga Debian/Ubuntu nga mga pakete batok sa MD5 checksums, kini mahimong mapuslanon aron malikayan ang pag-instalar ug pagpatuman sa mga dunot nga binary o mga package file sa imong sistema pinaagi sa pagsusi sa mga file sa file system batok sa impormasyon nga gitipigan sa ang pakete.

Para sa bisan unsang pangutana o feedback, pahimusli ang porma sa komento sa ubos. Sa mahanduraw, mahimo ka usab nga maghatag usa o duha nga mga sugyot aron mahimo kini nga mas maayo nga post.