Jinsi ya Kuangalia Kiasi cha MD5 cha Vifurushi vilivyosanikishwa katika Debian/Ubuntu Linux


Umewahi kujiuliza kwa nini binary au kifurushi kilichowekwa kwenye mfumo wako haifanyi kazi kulingana na matarajio yako, ikimaanisha kuwa haifanyi kazi ipasavyo kama inavyopaswa kufanya, labda haiwezi kuanza hata kidogo.

Unapopakua vifurushi, unaweza kukumbana na changamoto za miunganisho ya mtandao isiyo thabiti au kukatika kwa umeme kwa njia isiyotarajiwa, hii inaweza kusababisha usakinishaji wa kifurushi kilichoharibika.

Kwa kuzingatia hili kama jambo muhimu katika kudumisha vifurushi ambavyo havijaharibika kwenye mfumo wako, kwa hivyo ni hatua muhimu ya kuthibitisha faili kwenye mfumo wa faili dhidi ya taarifa iliyohifadhiwa kwenye kifurushi kwa kutumia makala ifuatayo.

Jinsi ya Kuthibitisha Vifurushi vya Debian vilivyosakinishwa dhidi ya Checksums za MD5

Kwenye mifumo ya Debian/Ubuntu, unaweza kutumia zana ya debsums kuangalia hesabu za MD5 za vifurushi vilivyosakinishwa. Ikiwa unataka kujua habari kuhusu kifurushi cha debsums kabla ya kukisakinisha, unaweza kutumia APT-CACHE kama hivyo:

$ apt-cache search debsums

Ifuatayo, isakinishe kwa kutumia apt amri kama ifuatavyo:

$ sudo apt install debsums

Sasa ni wakati wake wa kujifunza jinsi ya kutumia zana ya debsums kuthibitisha MD5sum ya vifurushi vilivyosakinishwa.

Kumbuka: Nimetumia sudo na maagizo yote hapa chini kwa sababu faili zingine zinaweza kukosa ruhusa ya kusoma kwa watumiaji wa kawaida.

Kwa kuongeza, matokeo kutoka kwa amri ya debsums inakuonyesha eneo la faili upande wa kushoto na matokeo ya kuangalia upande wa kulia. Kuna matokeo matatu ambayo unaweza kupata, ni pamoja na:

  1. Sawa - inaonyesha kuwa jumla ya MD5 ya faili ni nzuri.
  2. IMESHINDWA - inaonyesha kuwa jumla ya MD5 ya faili hailingani.
  3. IMEPENDWA - inamaanisha kuwa faili mahususi imebadilishwa na faili kutoka kwa kifurushi kingine.

Unapoiendesha bila chaguzi zozote, debsms hukagua kila faili kwenye mfumo wako dhidi ya faili za hisa za 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
....

Ili kuwezesha ukaguzi wa kila faili na faili za usanidi kwa kila kifurushi kwa mabadiliko yoyote, jumuisha chaguo la -a au --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
...

Inawezekana kuangalia faili ya usanidi pekee bila kujumuisha faili zingine zote za kifurushi kwa kutumia chaguo la -e au --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
...

Ifuatayo, ili kuonyesha faili zilizobadilishwa pekee katika matokeo ya debsums, tumia chaguo la -c au --changed. Sikupata faili zozote zilizobadilishwa kwenye mfumo wangu.

$ sudo debsums --changed

Amri inayofuata huchapisha faili ambazo hazina maelezo ya md5sum, hapa tunatumia chaguo la -l na --list-missing. Kwenye mfumo wangu, amri haionyeshi faili yoyote.

$ sudo debsums --list-missing

Sasa ni wakati wa kuthibitisha jumla ya md5 ya kifurushi kimoja kwa kubainisha jina lake:

$ 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

Kwa kudhani kuwa unatumia debsums kama mtumiaji wa kawaida bila sudo, unaweza kushughulikia hitilafu za ruhusa kama maonyo kwa kutumia --ignore-permissions chaguo:

$ debsums --ignore-permissions 

Jinsi ya Kuzalisha Kiasi cha MD5 kutoka kwa Faili za .Deb

Chaguo la -g huambia madeni kutoa hesabu za MD5 kutoka kwa yaliyomo kwenye deb, ambapo:

  1. haipo - waagize madeni watengeneze kiasi cha MD5 kutoka kwa deni kwa vifurushi ambavyo havitoi moja.
  2. yote - inaelekeza madeni kupuuza hesabu za diski na kutumia ile iliyopo kwenye faili ya deni, au inayotokana nayo ikiwa haipo.
  3. weka - huwaambia madeni waandike kiasi kilichotolewa/kutolewa kwa faili ya /var/lib/dpkg/info/package.md5sums.
  4. noki - inamaanisha kuwa pesa zilizotolewa/zinazozalishwa hazijaangaliwa dhidi ya kifurushi kilichosakinishwa.

Unapoangalia yaliyomo kwenye saraka /var/lib/dpkg/info/, utaona md5sums kwa faili mbalimbali ambazo hupakia kama kwenye picha hapa chini:

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

Kumbuka kwamba kutumia chaguo la -g ni sawa na --generate=missing, unaweza kujaribu kutoa jumla ya md5 kwa kifurushi cha apache2 kwa kutekeleza amri ifuatayo.

$ sudo debsums --generate=missing apache2 

Kwa kuwa kifurushi cha apache2 kwenye mfumo wangu tayari kina jumla ya md5, itaonyesha matokeo hapa chini, ambayo ni sawa na kukimbia:

$ sudo debsums apache2

Kwa chaguzi zaidi za kupendeza na habari ya utumiaji, angalia ukurasa wa mtu wa debsums.

$ man debsums

Katika nakala hii, tulishiriki jinsi ya kudhibitisha vifurushi vya Debian/Ubuntu vilivyosanikishwa dhidi ya ukaguzi wa MD5, hii inaweza kuwa muhimu ili kuzuia kusakinisha na kutekeleza vifurushi vilivyoharibika au faili za kifurushi kwenye mfumo wako kwa kuangalia faili kwenye mfumo wa faili dhidi ya habari iliyohifadhiwa ndani. kifurushi.

Kwa maswali au maoni yoyote, chukua fursa ya fomu ya maoni hapa chini. Kwa njia, unaweza pia kutoa pendekezo moja au mawili ili kufanya chapisho hili liwe bora zaidi.