Cara Memeriksa Jumlah MD5 dari Paket yang Terinstal di Debian/Ubuntu Linux


Pernahkah Anda bertanya-tanya mengapa biner atau paket tertentu yang diinstal pada sistem Anda tidak berfungsi sesuai harapan Anda, yang berarti biner atau paket tersebut tidak berfungsi sebagaimana mestinya, mungkin tidak dapat dimulai sama sekali.

Saat mengunduh paket, Anda mungkin menghadapi masalah koneksi jaringan yang tidak stabil atau pemadaman listrik yang tidak terduga, hal ini dapat mengakibatkan instalasi paket rusak.

Mengingat hal ini sebagai faktor penting dalam menjaga paket-paket yang tidak rusak pada sistem Anda, oleh karena itu merupakan langkah penting untuk memverifikasi file-file pada sistem file terhadap informasi yang disimpan dalam paket dengan menggunakan artikel berikut.

Bacaan yang Disarankan: Pelajari Cara Menghasilkan dan Memverifikasi File dengan MD5 Checksum di Linux

Cara Memverifikasi Paket Debian yang Terinstal Terhadap Checksum MD5

Pada sistem Debian/Ubuntu, Anda dapat menggunakan alat debsums untuk memeriksa jumlah MD5 paket yang diinstal. Jika Anda ingin mengetahui informasi tentang paket debsums sebelum menginstalnya, Anda dapat menggunakan APT-CACHE seperti:

apt-cache search debsums

Selanjutnya, instal menggunakan perintah apt sebagai berikut:

sudo apt install debsums

Sekarang saatnya mempelajari cara menggunakan alat debsums untuk memverifikasi MD5sum paket yang diinstal.

Catatan: Saya telah menggunakan sudo dengan semua perintah di bawah ini karena file tertentu mungkin tidak memiliki izin baca untuk pengguna biasa.

Selain itu, output dari perintah debsums menunjukkan lokasi file di sebelah kiri dan hasil pemeriksaan di sebelah kanan. Ada tiga kemungkinan hasil yang bisa Anda peroleh, antara lain:

  1. OK – menunjukkan bahwa jumlah MD5 suatu file baik.
  2. GAGAL – menunjukkan bahwa jumlah MD5 file tidak cocok.
  3. REPLACED – berarti file tertentu telah digantikan oleh file dari paket lain.

Saat Anda menjalankannya tanpa opsi apa pun, debsums akan memeriksa setiap file di sistem Anda dengan file md5sum stok.

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

Untuk mengaktifkan pemeriksaan setiap file dan file konfigurasi setiap paket untuk setiap perubahan, sertakan opsi -a atau --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
...

Dimungkinkan juga untuk memeriksa hanya file konfigurasi saja, tidak termasuk semua file paket lainnya dengan menggunakan opsi -e atau --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
...

Selanjutnya, untuk hanya menampilkan file yang diubah dalam output debsums, gunakan opsi -c atau --changed. Saya tidak menemukan file yang diubah di sistem saya.

sudo debsums --changed

Perintah selanjutnya mencetak file yang tidak memiliki info md5sum, disini kita menggunakan opsi -l dan --list-missing. Di sistem saya, perintah tersebut tidak menampilkan file apa pun.

sudo debsums --list-missing

Sekarang saatnya memverifikasi jumlah md5 dari satu paket dengan menentukan namanya:

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

Dengan asumsi Anda menjalankan debsums sebagai pengguna biasa tanpa sudo, Anda dapat menganggap kesalahan izin sebagai peringatan dengan menggunakan opsi --ignore-permissions :

debsums --ignore-permissions 

Cara Menghasilkan Jumlah MD5 dari File .Deb

Opsi -g memberitahu debsum untuk menghasilkan jumlah MD5 dari konten deb, di mana:

  1. hilang – menginstruksikan debsum untuk menghasilkan jumlah MD5 dari deb untuk paket yang tidak menyediakannya.
  2. semua – mengarahkan debsum untuk mengabaikan jumlah pada disk dan menggunakan jumlah yang ada di file deb, atau dihasilkan darinya jika tidak ada.
  3. keep – memberitahu debsum untuk menulis jumlah yang diekstraksi/dihasilkan ke file /var/lib/dpkg/info/package.md5sums.
  4. nocheck – berarti jumlah yang diekstraksi/dihasilkan tidak dibandingkan dengan paket yang diinstal.

Saat Anda melihat isi direktori /var/lib/dpkg/info/, Anda akan melihat md5sums untuk berbagai file yang dikemas seperti pada gambar di bawah ini:

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

Ingatlah bahwa menggunakan opsi -g sama dengan --generate=missing, Anda dapat mencoba menghasilkan jumlah md5 untuk paket apache2 dengan menjalankan perintah berikut.

sudo debsums --generate=missing apache2 

Karena paket apache2 di sistem saya sudah memiliki jumlah md5, maka akan muncul keluaran di bawah ini, yang sama dengan yang sedang berjalan:

sudo debsums apache2

Untuk opsi menarik dan info penggunaan lainnya, lihat halaman manual debsums.

man debsums

Dalam artikel ini, kami berbagi cara memverifikasi paket Debian/Ubuntu yang terinstal terhadap checksum MD5, ini dapat berguna untuk menghindari instalasi dan eksekusi biner atau file paket yang rusak di perangkat Anda. sistem dengan memeriksa file pada sistem file terhadap informasi yang disimpan dalam paket.

Untuk pertanyaan atau masukan apa pun, manfaatkan formulir komentar di bawah. Bayangkan, Anda juga dapat menawarkan satu atau dua saran untuk menjadikan postingan ini lebih baik.