ডেবিয়ান/উবুন্টু লিনাক্সে ইনস্টলড প্যাকেজগুলির MD5 সমষ্টি কীভাবে চেক করবেন


আপনি কি কখনও ভেবে দেখেছেন যে আপনার সিস্টেমে কোনও প্রদত্ত বাইনারি বা প্যাকেজ আপনার প্রত্যাশা অনুযায়ী কাজ করে না, অর্থাত এটি করার মতো বলে এটি সঠিকভাবে কাজ করে না, সম্ভবত এটি ইভেন্ট শুরু হতে পারে না।

প্যাকেজগুলি ডাউনলোড করার সময়, আপনি অস্থিতিশীল নেটওয়ার্ক সংযোগ বা অপ্রত্যাশিত পাওয়ার ব্ল্যাকআউটগুলির চ্যালেঞ্জের মুখোমুখি হতে পারেন, এর ফলে দুর্গন্ধযুক্ত প্যাকেজ ইনস্টল হতে পারে।

এটি আপনার সিস্টেমে নিরবিচ্ছিন্ন প্যাকেজগুলি রক্ষণাবেক্ষণের জন্য একটি গুরুত্বপূর্ণ কারণ হিসাবে বিবেচনা করে, নিম্নলিখিত নিবন্ধটি ব্যবহার করে প্যাকেজে সঞ্চিত তথ্যের বিপরীতে ফাইল সিস্টেমে ফাইলগুলি যাচাই করা একটি গুরুত্বপূর্ণ পদক্ষেপ।

MD5 চেকসামের বিপরীতে ইনস্টল করা ডেবিয়ান প্যাকেজগুলি কীভাবে যাচাই করবেন

ডেবিয়ান/উবুন্টু সিস্টেমে আপনি ইনস্টল করা প্যাকেজগুলির MD5 পরিমাণ পরীক্ষা করতে ডিবসুমস সরঞ্জামটি ব্যবহার করতে পারেন। আপনি যদি ইনস্টল করার আগে ডিবসাম প্যাকেজ সম্পর্কিত তথ্য জানতে চান তবে আপনি এপিটি-ক্যাস ব্যবহার করতে পারেন:

$ apt-cache search debsums

এরপরে, এপিটি কমান্ড ব্যবহার করে এটি ইনস্টল করুন:

$ sudo apt install debsums

ইনস্টল করা প্যাকেজগুলির MD5sum যাচাই করতে কীভাবে debsums সরঞ্জাম ব্যবহার করবেন তা শিখার এখন সময়।

দ্রষ্টব্য: আমি নীচের সমস্ত কমান্ড সহ সুডো ব্যবহার করেছি কারণ নির্দিষ্ট ফাইলগুলিতে নিয়মিত ব্যবহারকারীর জন্য পড়ার অনুমতি নাও থাকতে পারে।

এছাড়াও, debsums কমান্ড থেকে আউটপুট আপনাকে বাম দিকে ফাইলের অবস্থান এবং ডানদিকে চেক ফলাফলগুলি দেখায়। তিনটি সম্ভাব্য ফলাফল আপনি পেতে পারেন, সেগুলির মধ্যে রয়েছে:

  1. ঠিক আছে - কোনও ফাইলের MD5 যোগফল ভাল তা নির্দেশ করে।
  2. ব্যর্থ - দেখায় যে কোনও ফাইলের MD5 যোগফল মেলে না
  3. প্রতিস্থাপন - এর অর্থ হল যে নির্দিষ্ট ফাইলটি অন্য প্যাকেজ থেকে একটি ফাইল দ্বারা প্রতিস্থাপন করা হয়েছে

আপনি যখন এটি কোনও বিকল্প ছাড়াই চালান, ডেবসামগুলি আপনার সিস্টেমে থাকা প্রতিটি ফাইল স্টক এমডি 5সাম ফাইলের বিপরীতে পরীক্ষা করে।

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

যে কোনও পরিবর্তনের জন্য প্রতিটি প্যাকেজের জন্য প্রতিটি ফাইল এবং কনফিগারেশন ফাইলগুলি পরীক্ষা করতে সক্ষম করতে -a বা - সমস্ত বিকল্প অন্তর্ভুক্ত করুন:

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

এরপরে, কেবলমাত্র ডেবসামগুলির আউটপুটে পরিবর্তিত ফাইলগুলি প্রদর্শনের জন্য -c বা - পরিবর্তিত বিকল্পটি ব্যবহার করুন। আমি আমার সিস্টেমে কোনও পরিবর্তিত ফাইল খুঁজে পাইনি।

$ sudo debsums --changed

পরবর্তী কমান্ডটি md5sum সম্পর্কিত তথ্য নেই এমন ফাইলগুলি মুদ্রণ করে, এখানে আমরা -l এবং - তালিকা-অনুপস্থিত বিকল্পটি ব্যবহার করি। আমার সিস্টেমে কমান্ডটি কোনও ফাইল প্রদর্শন করে না।

$ sudo debsums --list-missing

এখন একক প্যাকেজের নাম উল্লেখ করে এমডি 5 যোগফল যাচাই করার সময় এসেছে:

$ 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

ধরে নিই যে আপনি সুডো ব্যতীত নিয়মিত ব্যবহারকারী হিসাবে ডাবসসগুলি চালাচ্ছেন, আপনি --ignore-অনুমতি বিকল্পটি নিয়োগ করে সতর্কতা হিসাবে অনুমতি ত্রুটিগুলি আচরণ করতে পারেন:

$ debsums --ignore-permissions 

.Deb ফাইলগুলি থেকে MD5 যোগগুলি কীভাবে তৈরি করা যায়

-g বিকল্পটি ডাবসামসকে ডেবি বিষয়বস্তু থেকে এমডি 5 যোগ করতে বলে, যেখানে:

  1. অনুপস্থিত - প্যাকেজগুলি সরবরাহ করে না এমন ডেব থেকে এমডি 5 পরিমাণ উত্পন্ন করার জন্য ডিবসামকে নির্দেশ দিন
  2. সমস্ত - ডাবসামগুলিকে অন ডিস্কের পরিমাণগুলি উপেক্ষা করার জন্য এবং ডাব ফাইলে উপস্থিত একটিটিকে ব্যবহার করার জন্য নির্দেশ দেয়, বা যদি না থাকে তবে তা থেকে উত্পন্ন হয়
  3. রাখুন - ডাবসামসকে /var/lib/dpkg/info/package.md5sums ফাইলটিতে উত্তোলিত/উত্পন্ন অঙ্কগুলি লিখতে বলে
  4. নোচেক - এর অর্থ হল ইনস্টল করা প্যাকেজটির বিপরীতে উত্তোলিত/উত্পন্ন পরিমাণগুলি পরীক্ষা করা হয় না

/var/lib/dpkg/তথ্য/ ডিরেক্টরিটির বিষয়বস্তুগুলি যখন দেখেন, আপনি নীচের চিত্রের মতো বিভিন্ন ফাইলের জন্য md5sums দেখতে পাবেন:

$ 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 বিকল্পটি --generate = অনুপস্থিত এর মতোই, আপনি নিম্নলিখিত কমান্ডটি চালিয়ে Apache2 প্যাকেজের জন্য একটি এমডি 5 যোগ করতে চেষ্টা করতে পারেন।

$ sudo debsums --generate=missing apache2 

যেহেতু আমার সিস্টেমে অ্যাপাচি 2 প্যাকেজটিতে ইতিমধ্যে এমডি 5 অঙ্ক রয়েছে, এটি নীচের আউটপুটটি প্রদর্শন করবে যা চলমান সমান:

$ sudo debsums apache2

আরও আকর্ষণীয় বিকল্প এবং ব্যবহারের তথ্যের জন্য, ডেবসামস ম্যান পৃষ্ঠাটি দেখুন।

$ man debsums

এই নিবন্ধে আমরা কীভাবে MD5 চেকসামের বিপরীতে ইনস্টলড ডেবিয়ান/উবুন্টু প্যাকেজ যাচাই করতে পারি, এটি আপনার সিস্টেমে দূষিত বাইনারি বা প্যাকেজ ফাইলগুলি ইনস্টল করা এবং কার্যকর করতে না পারায় আপনার সিস্টেমে সঞ্চিত তথ্যের বিপরীতে ফাইল সিস্টেমে ফাইলগুলি পরীক্ষা করে তা কার্যকর করা যেতে পারে প্যাকেজ.

যে কোনও প্রশ্ন বা প্রতিক্রিয়ার জন্য, নীচের মন্তব্য ফর্মটি গ্রহণ করুন। কল্পনাপ্রসূতভাবে, আপনি এই পোস্টটি আরও ভাল করার জন্য এক বা দুটি পরামর্শও দিতে পারেন।