Kuidas kontrollida Debiani/Ubuntu Linuxi installitud pakettide MD5 summasid


Kas olete kunagi mõelnud, miks mõni teie süsteemi installitud binaarkaart või pakett teie ootustele vastavalt ei toimi, see tähendab, et see ei toimi korralikult, nagu peaks, võib-olla ei saa see sündmus üldse alata.

Pakettide allalaadimisel võib teil tekkida ebastabiilse võrguühenduse või ootamatu voolukatkestuse probleem, mis võib põhjustada rikutud paketi installimise.

Pidades seda oluliseks teguriks korrumpeerumata pakettide säilitamisel oma süsteemis, on seetõttu oluline samm järgmise artikli abil kontrollida failisüsteemi failide vastavust paketti salvestatud teabele.

Kuidas kontrollida installitud Debiani pakette MD5 kontrollsummade suhtes

Debiani/Ubuntu süsteemides saate debsumsi tööriista abil kontrollida installitud pakettide MD5 summasid. Kui soovite enne debpsumsi paketi teavet enne selle installimist teada saada, võite kasutada APT-CACHE-i järgmiselt:

$ apt-cache search debsums

Järgmisena installige see apt-käsu abil järgmiselt:

$ sudo apt install debsums

Nüüd on aeg õppida, kuidas debsumsi tööriista abil installitud pakettide MD5sum kontrollida.

Märkus. Olen kasutanud sudot kõigi allolevate käskudega, kuna teatud failidel ei pruugi tavakasutajatel olla lugemisõigusi.

Lisaks näitab käsk debsums väljund faili asukohta vasakul ja kontrollimistulemusi paremal. Saate saada kolm võimalikku tulemust, sealhulgas:

  1. OK - näitab, et faili MD5 summa on hea.
  2. ebaõnnestus - näitab, et faili MD5 summa ei ühti.
  3. REPLACED - tähendab, et konkreetne fail on asendatud teise paketi failiga.

Kui käivitate selle ilma valikuteta, kontrollib debsums kõiki teie süsteemi faile varude md5sum failidega.

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

Iga paketi kõigi failide ja konfiguratsioonifailide kontrollimise lubamiseks muutke valikut -a või --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
...

Võimaluse -e või --config abil on võimalik kontrollida ainult konfiguratsioonifaili, välja arvatud kõik muud paketifailid:

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

Järgmisena, et debsumite väljundis kuvada ainult muudetud faile, kasutage valikut -c või --changed . Ma ei leidnud oma süsteemist ühtegi muudetud faili.

$ sudo debsums --changed

Järgmine käsk prindib välja failid, millel puudub teave md5sum, siin kasutame valikuid -l ja --list-missing . Minu süsteemis ei näita käsk ühtegi faili.

$ sudo debsums --list-missing

Nüüd on aeg kontrollida ühe paketi md5 summa, määrates selle nime:

$ 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

Eeldades, et käitate debsumeid tavalise kasutajana ilma sudo-ta, saate lubade vigu käsitleda hoiatustena, kasutades valikut --ignore-permissions .

$ debsums --ignore-permissions 

Kuidas luua .deb-failidest MD5 summasid

Valik -g käsib debsumitel luua MD5 summad debi sisust, kus:

  1. puudub - käskige debsumeid genereerima debmist MD5 summasid pakettide jaoks, mis seda ei paku.
  2. kõik - suunab debsumeid kettal olevaid summasid ignoreerima ja kasutama deb-failis olevat või sellest loodud, kui pole.
  3. hoida - käsib debsums kirjutada väljavõtte/loodud summad /var/lib/dpkg/info/package.md5sums faili.
  4. nocheck - tähendab, et eraldatud/loodud summasid ei kontrollita installitud paketiga.

Kui vaatate kataloogi /var/lib/dpkg/info/ sisu, näete mitmesuguste failide md5sums pakette nagu alloleval pildil:

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

Pidage meeles, et valiku -g kasutamine on sama mis --generate = missing , proovige järgmise käsu abil luua md5 summa paketi apache2 jaoks.

$ sudo debsums --generate=missing apache2 

Kuna minu süsteemis paketil apache2 on juba md5 summasid, näitab see allpool olevat väljundit, mis on sama mis töötab:

$ sudo debsums apache2

Huvitavamate valikute ja kasutusteabe saamiseks vaadake debsumsi manulehte.

$ man debsums

Selles artiklis jagasime, kuidas kontrollida installitud Debiani/Ubuntu pakette MD5 kontrollsummade suhtes. See võib olla kasulik, et vältida rikutud binaar- või pakifailide installimist ja käivitamist teie süsteemis, kontrollides failisüsteemis olevaid faile pakend.

Kui teil on küsimusi või tagasisidet, kasutage allolevat kommentaarivormi. Kujutatavasti võite selle postituse paremaks muutmiseks pakkuda ka ühte või kahte ettepanekut.