Debian/Ubuntu Linux'ta Kurulu Paketlerin MD5 Toplamları Nasıl Kontrol Edilir


Sisteminizde yüklü olan belirli bir ikili dosyanın veya paketin neden beklentilerinize göre çalışmadığını, yani olması gerektiği gibi düzgün çalışmadığını, belki de hiç başlatılamadığını hiç merak ettiniz mi?

Paketleri indirirken, ağ bağlantılarında kararsızlıklar veya beklenmedik elektrik kesintileri gibi zorluklarla karşılaşabilirsiniz, bu da bozuk paketin yüklenmesine neden olabilir.

Paketlerin sisteminizde bozulmadan kalması için bunun önemli bir faktör olduğu göz önüne alındığında, aşağıdaki makaleyi kullanarak dosya sistemindeki dosyaları pakette saklanan bilgilerle doğrulamak hayati bir adımdır.

Önerilen Okuma: Linux'ta MD5 Sağlama Toplamıyla Dosya Oluşturmayı ve Doğrulamayı Öğrenin

Kurulu Debian Paketlerini MD5 Sağlama Toplamlarına Karşı Doğrulama

Debian/Ubuntu sistemlerinde, kurulu paketlerin MD5 toplamlarını kontrol etmek için debsums aracını kullanabilirsiniz. debsums paketini kurmadan önce hakkında bilgi edinmek istiyorsanız APT-CACHE'i şu şekilde kullanabilirsiniz:

apt-cache search debsums

Daha sonra apt komutunu kullanarak aşağıdaki gibi kurun:

sudo apt install debsums

Artık yüklü paketlerin MD5sum'unu doğrulamak için debsums aracının nasıl kullanılacağını öğrenmenin zamanı geldi.

Not: Bazı dosyalar normal kullanıcılar için okuma izinlerine sahip olmayabileceğinden aşağıdaki komutların tümünde sudo'yu kullandım.

Ayrıca debsums komutunun çıktısı size solda dosya konumunu, sağda ise kontrol sonuçlarını gösterir. Alabileceğiniz üç olası sonuç vardır; bunlar şunları içerir:

  1. Tamam – bir dosyanın MD5 toplamının iyi olduğunu gösterir.
  2. BAŞARISIZ – bir dosyanın MD5 toplamının eşleşmediğini gösterir.
  3. DEĞİŞTİRİLDİ – belirli bir dosyanın başka bir paketteki bir dosyayla değiştirildiği anlamına gelir.

Herhangi bir seçenek olmadan çalıştırdığınızda, debsums sisteminizdeki her dosyayı stok md5sum dosyalarıyla karşılaştırarak kontrol eder.

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 dosyanın ve her paketteki yapılandırma dosyalarının herhangi bir değişiklik açısından kontrol edilmesini sağlamak için -a veya --all seçeneğini ekleyin:

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

-e veya --config seçeneğini kullanarak diğer tüm paket dosyalarını hariç tutarak yalnızca yapılandırma dosyasını kontrol etmek de mümkündür:

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

Daha sonra, yalnızca debsum çıktısında değiştirilen dosyaları görüntülemek için -c veya --changed seçeneğini kullanın. Sistemimde değiştirilmiş herhangi bir dosya bulamadım.

sudo debsums --changed

Bir sonraki komut md5sum bilgisi olmayan dosyaların çıktısını alıyor, burada -l ve --list-missing seçeneğini kullanıyoruz. Sistemimde komut herhangi bir dosya göstermiyor.

sudo debsums --list-missing

Şimdi tek bir paketin md5 toplamını, adını belirterek doğrulamanın zamanı 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

debsums'u sudo olmadan normal bir kullanıcı olarak çalıştırdığınızı varsayarsak, --ignore-permissions seçeneğini kullanarak izin hatalarını uyarı olarak değerlendirebilirsiniz. :

debsums --ignore-permissions 

.Deb Dosyalarından MD5 Toplamları Nasıl Oluşturulur

-g seçeneği borç toplamlarına borç içeriklerinden MD5 toplamları oluşturmasını söyler; burada:

  1. eksik – borç toplamlarına, borç sağlamayan paketler için borçtan MD5 toplamları oluşturma talimatı verin.
  2. tümü – debsum'ları diskteki toplamları yok saymaya ve deb dosyasında mevcut olanı veya yoksa ondan oluşturulanı kullanmaya yönlendirir.
  3. tut – debsum'lara çıkarılan/oluşturulan toplamları /var/lib/dpkg/info/package.md5sums dosyasına yazmasını söyler.
  4. nocheck – çıkarılan/oluşturulan toplamların kurulu pakete göre kontrol edilmediği anlamına gelir.

/var/lib/dpkg/info/ dizininin içeriğine baktığınızda aşağıdaki görüntüdeki gibi paketlenen çeşitli dosyalar için md5sums göreceksiniz:

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 seçeneğini kullanmanın --generate=missing ile aynı olduğunu unutmayın; çalıştırarak Apache2 paketi için bir md5 toplamı oluşturmayı deneyebilirsiniz. aşağıdaki komut.

sudo debsums --generate=missing apache2 

Sistemimdeki Apache2 paketi zaten md5 toplamlarına sahip olduğundan, çalıştırmayla aynı olan aşağıdaki çıktıyı gösterecektir:

sudo debsums apache2

Daha ilgi çekici seçenekler ve kullanım bilgileri için debsums kılavuz sayfasına bakın.

man debsums

Bu makalede, yüklü Debian/Ubuntu paketlerinin MD5 sağlama toplamlarına göre nasıl doğrulanacağını paylaştık; bu, sisteminize bozuk ikili dosyaların veya paket dosyalarının yüklenmesini ve çalıştırılmasını önlemek için yararlı olabilir. Dosya sistemindeki dosyaları pakette saklanan bilgilerle karşılaştırarak sistemi kontrol edin.

Sorularınız veya geri bildirimleriniz için aşağıdaki yorum formundan yararlanın. Tahmin edebileceğiniz gibi, bu gönderiyi daha iyi hale getirmek için bir veya iki öneri de sunabilirsiniz.