Debian/Ubuntu Linux-da gurlan paketleriň MD5 jemini nädip barlamaly


Ulgamyňyzda gurnalan berlen ikilik ýa-da bukjanyň garaşyşlaryňyza görä işlemeýändigi hakda pikir edip gördüňizmi, bu edil edilişi ýaly dogry işlemeýär, belki-de düýbünden başlap bilmez.

Paketleri göçürip alanyňyzda, durnuksyz tor birikmeleriniň ýa-da garaşylmadyk elektrik togunyň kesilmegi bilen ýüzbe-ýüz bolup bilersiňiz, bu bozulan paketiň gurulmagyna sebäp bolup biler.

Muny ulgamyňyzdaky bozulmadyk paketleri saklamagyň möhüm faktory hökmünde göz öňünde tutup, indiki makalany ulanyp, faýl ulgamyndaky faýllary bukjada saklanýan maglumatlara garşy barlamak üçin möhüm ädimdir.

MD5 çeklerine garşy gurlan Debian paketlerini nädip barlamaly

Debian/Ubuntu ulgamlarynda, gurnalan paketleriň MD5 jemini barlamak üçin debsums guralyny ulanyp bilersiňiz. “Debsums” bukjasy baradaky maglumatlary gurmazdan ozal bilmek isleseňiz, “APT-CACHE” -ni şeýle ulanyp bilersiňiz:

$ apt-cache search debsums

Ondan soň, apt buýrugyny ulanyp aşakdaky ýaly guruň:

$ sudo apt install debsums

Gurlan paketleriň MD5sumyny barlamak üçin debsums guralyny nädip ulanmalydygyny öwrenmegiň wagty geldi.

Bellik: Aşakdaky ähli buýruklar bilen sudo ulandym, sebäbi käbir faýllar adaty ulanyjylar üçin rugsatlary okamazlygy mümkin.

Mundan başga-da, debsums buýrugyndaky çykyş size çep tarapdaky faýlyň ýerleşişini we sag tarapdaky barlag netijelerini görkezýär. Aljak üç mümkin netijäňiz bar:

  1. Bolýar - faýlyň MD5 jeminiň gowydygyny görkezýär.
  2. FAILED - faýlyň MD5 jeminiň gabat gelmeýändigini görkezýär.
  3. GEREK - belli bir faýlyň başga bir paketdäki faýl bilen çalşylandygyny aňladýar.

Hiç hili opsiýa bolmazdan işledeniňizde, debsums ulgamyňyzdaky her faýly md5sum faýllaryna garşy barlaýar.

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

Her paket üçin islendik faýly we konfigurasiýa faýllaryny islendik üýtgeşmeler üçin barlamaga mümkinçilik bermek üçin -a ýa-da --all opsiýasyny goşuň:

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

Diňe -e ýa-da --config opsiýasyny ulanyp, beýleki paket faýllaryndan başga konfigurasiýa faýlyny barlamak mümkin:

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

Ondan soň, diňe faýllaryň çykarylyşynda üýtgedilen faýllary görkezmek üçin -c ýa-da - üýtgedilen opsiýasyny ulanyň. Ulgamda üýtgedilen faýl tapmadym.

$ sudo debsums --changed

Indiki buýrukda md5sum maglumaty bolmadyk faýllar çap edilýär, bu ýerde -l we --list-missing opsiýasyny ulanýarys. Ulgamda buýruk hiç hili faýl görkezmeýär.

$ sudo debsums --list-missing

Indi adyny görkezmek bilen bir paketiň md5 jemini barlamagyň wagty geldi:

$ 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

Sudo ulanman adaty ulanyjy hökmünde işleýşiňizi göz öňünde tutsaňyz, --ignore-permissions opsiýasyny ulanyp, rugsat ýalňyşlyklaryny duýduryş hökmünde kabul edip bilersiňiz:

$ debsums --ignore-permissions 

MD5 sumlaryny nädip öndürip bolar .Deb Faýllaryndan

-g opsiýasy debums-a deb mazmunyndan MD5 pul ýygnamagy aýdýar, bu ýerde:

  1. ýitirim - üpjün etmeýän paketler üçin debden MD5 pul ýygnamagy tabşyryň.
  2. hemmesi - diskdäki jemleri äsgermezlik etmek we deb faýlynda bar bolanlary ulanmak ýa-da ýok bolsa ondan emele gelmek üçin debsumy ugrukdyrýar.
  3. saklamak - çykarylan/öndürilen pullary /var/lib/dpkg/info/package.md5sums faýlyna ýazmagy tabşyrýar.
  4. nocheck - çykarylan/öndürilen pullaryň gurnalan paketiň barlanmandygyny aňladýar.

/var/lib/dpkg/info/ katalogynyň mazmunyna seretseňiz, aşakdaky suratdaky ýaly gaplaýan dürli faýllar üçin md5sums görersiňiz:

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

-g opsiýasyny ulanmak --generate=missing bilen birmeňzeşdigini ýadyňyzdan çykarmaň, aşakdaky buýrugy işledip, apache2 bukjasy üçin md5 pul gazanyp bilersiňiz.

$ sudo debsums --generate=missing apache2 

Ulgamymdaky apache2 paketinde eýýäm md5 jemi barlygy sebäpli, aşakdaky çykyşy görkezer, bu işlemek bilen deňdir:

$ sudo debsums apache2

Has gyzykly wariantlar we ulanyş maglumatlary üçin, debsums man sahypasyna göz aýlaň.

$ man debsums

Bu makalada, gurnalan Debian/Ubuntu paketlerini MD5 barlag barlaglaryna garşy nädip barlamalydygyny paýlaşdyk, bu faýl ulgamyndaky faýllary saklanýan maglumatlara garşy barlap, ulgamyňyzdaky zaýalanan ikili ýa-da paket faýllaryny gurmakdan we ýerine ýetirmekden saklanmak üçin peýdaly bolup biler. paket.

Islendik sorag ýa-da seslenme üçin aşakdaky düşündiriş formundan peýdalanyň. Bu ýazgyny has gowulaşdyrmak üçin bir ýa-da iki teklip hödürläp bilersiňiz.