Kaip patikrinti MD5 sumas įdiegtų paketų Debian/Ubuntu Linux
Ar kada susimąstėte, kodėl jūsų sistemoje įdiegtas dvejetainis failas ar paketas neveikia pagal jūsų lūkesčius, vadinasi, jis neveikia tinkamai, kaip manoma, galbūt įvykis visai negali prasidėti.
Atsisiųsdami paketus galite susidurti su netikrų tinklo ryšių ar netikėtų elektros energijos tiekimo sutrikimų problemomis, todėl galite įdiegti sugadintą paketą.
Atsižvelgiant į tai kaip svarbų veiksnį palaikant nesugadintus paketus jūsų sistemoje, todėl labai svarbu patikrinti failų sistemoje esančius failus pagal pakete saugomą informaciją, naudojant šį straipsnį.
Kaip patikrinti įdiegtus „Debian“ paketus, palyginti su MD5 kontrolinėmis sumomis
„Debian“/„Ubuntu“ sistemose galite naudoti įrankį debsums, kad patikrintumėte įdiegtų paketų MD5 sumas. Jei norite sužinoti informaciją apie debsums paketą prieš jį įdiegdami, galite naudoti APT-CACHE taip:
$ apt-cache search debsums
Tada įdiekite jį naudodami apt komandą taip:
$ sudo apt install debsums
Dabar atėjo laikas sužinoti, kaip naudoti debsum įrankį, norint patikrinti įdiegtų paketų MD5sum.
Pastaba: Aš naudoju sudo su visomis toliau pateiktomis komandomis, nes tam tikri failai gali neturėti skaitymo leidimų įprastiems vartotojams.
Be to, komandos debsums išvestis rodo failo vietą kairėje, o patikrinimo rezultatus - dešinėje. Galite gauti tris galimus rezultatus: jie apima:
- Gerai - rodo, kad failo MD5 suma yra gera.
- NEPAVYKO - parodo, kad failo MD5 suma nesutampa.
- PAKEISTA - reiškia, kad konkretus failas buvo pakeistas kito paketo failu.
Kai paleisite ją be jokių parinkčių, debsums tikrins kiekvieną jūsų sistemos failą pagal atsarginius „md5sum“ failus.
$ 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 ....
Norėdami įgalinti kiekvieno paketo failų ir konfigūracijos failų tikrinimą dėl pakeitimų, įtraukite parinktį -a
arba - 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 ...
Naudojant parinktį -e
arba --config
galima patikrinti tik konfigūracijos failą, išskyrus visus kitus paketo failus.
$ 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 ...
Jei norite, kad debsumų išvestyje būtų rodomi tik pakeisti failai, naudokite parinktį -c
arba --changed
. Neradau jokių pakeistų failų savo sistemoje.
$ sudo debsums --changed
Kita komanda išspausdina failus, kuriuose nėra „md5sum“ informacijos, čia mes naudojame parinktis -l
ir --list-missing
. Mano sistemoje komanda nerodo jokio failo.
$ sudo debsums --list-missing
Dabar atėjo laikas patikrinti vieno paketo md5 sumą nurodant jo pavadinimą:
$ 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
Darant prielaidą, kad debsumus naudojate kaip įprastas vartotojas be „sudo“, leidimo klaidas galite laikyti įspėjimais naudodami parinktį --ignore-permissions
:
$ debsums --ignore-permissions
Kaip sugeneruoti MD5 sumas iš .Deb failų
Parinktis -g
nurodo debsums sugeneruoti MD5 sumas iš deb turinio, kur:
- trūksta - nurodykite debsams sugeneruoti MD5 sumas iš deb paketams, kurie tokios nepateikia.
- viskas - nurodo debsumus ignoruoti diske esančias sumas ir naudoti debo faile esančią arba iš jos sugeneruotą, jei tokios nėra.
- saugoti - liepia debsoms įrašyti išgautas/sugeneruotas sumas į /var/lib/dpkg/info/package.md5sums failą.
- nocheck - reiškia, kad ištrauktos/sugeneruotos sumos nėra tikrinamos pagal įdiegtą paketą.
Pažvelgę į katalogo /var/lib/dpkg/info/
turinį, pamatysite įvairių failų md5sums, kaip nurodyta toliau pateiktame paveikslėlyje:
$ 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 ...
Atminkite, kad parinktis -g
yra tokia pati kaip --generate = missing
, galite pabandyti sugeneruoti paketo md5 sumą vykdydami šią komandą.
$ sudo debsums --generate=missing apache2
Kadangi mano sistemoje „apache2“ pakete jau yra md5 sumos, jis parodys žemiau pateiktą išvestį, kuri yra tokia pati kaip ir vykdant:
$ sudo debsums apache2
Norėdami sužinoti daugiau įdomių parinkčių ir informacijos apie naudojimą, peržiūrėkite debsumų vadovo puslapį.
$ man debsums
Šiame straipsnyje mes pasidalijome, kaip patikrinti įdiegtus „Debian“/„Ubuntu“ paketus, palyginti su MD5 kontrolinėmis sumomis. Tai gali būti naudinga siekiant išvengti sugadintų dvejetainių failų ar paketų failų diegimo ir vykdymo jūsų sistemoje, patikrinant failų sistemoje esančius failus pagal informaciją, saugomą paketas.
Jei turite klausimų ar atsiliepimų, pasinaudokite toliau pateikta komentarų forma. Įsivaizduojama, kad taip pat galite pasiūlyti vieną ar du pasiūlymus, kaip šį įrašą pagerinti.