【.com快译】你有没有想过为什么你的系统上安装的某个二进制文件或软件包没有按预期运行,或者以正常方式运行,也许是无法启动。下载软件包时,您可能会面临以下挑战:网络连接不稳定或突然断电,这可能会导致已安装的软件包损坏。鉴于这是在系统上维护未损坏包的一个重要因素,根据包中存储的信息验证文件系统上的文件是需要阅读本文的重要步骤。推荐阅读:《学会如何在Linux下生成MD5校验和并使用它来校验文件?》(http://www.tecmint.com/generate-verify-check-files-md5-checksum-linux/)如何根据MD5校验和验证已安装的Debian软件包?在Debian/Ubuntu系统上,可以使用debsums工具来验证已安装包的MD5和。如果你想在安装之前了解debsums包,你可以使用APT-CACHE,像这样:$apt-cachesearchdebsums接下来,使用apt命令安装它,像这样:$sudoaptinstalldebsums现在你可以学习如何使用debsums工具验证已安装软件包的MD5和。注意:我在下面的所有命令中都使用了sudo,因为普通用户可能没有对某些文件的读取权限。此外,debsums命令的输出在左侧显示文件位置,在右侧显示检查结果。您将得到三种可能的结果,它们包括:OK-表示某个文件的MD5和是好的。FAILED-表示文件的MD5和不匹配。REPLACED-表示特定文件已被另一个包中的文件替换。如果您在没有任何选项的情况下运行它,debsums将根据常规md5sum文件检查系统上的每个文件。$sudodebsums扫描文件系统,寻找MD5和/usr/bin/a11y-profile-manager-indicatorOK/usr/share/doc/a11y-profile-manager-indicator/copyrightOK/usr/share/man/man1/a11y-profile-manager-indicator.1.gzOK/usr/share/accounts/providers/facebook.providerOK/usr/share/accounts/qml-plugins/facebook/Main.qmlOK/usr/share/accounts/services/facebook-microblog。serviceOK/usr/share/accounts/services/facebook-sharing.serviceOK/usr/share/doc/account-plugin-facebook/copyrightOK/usr/share/accounts/providers/flickr.providerOK/usr/share/accounts/qml-插件/flickr/Main.qmlOK/usr/share/accounts/services/flickr-microblog.serviceOK/usr/share/accounts/services/flickr-sharing.serviceOK/usr/share/doc/account-plugin-flickr/copyrightOK/usr/share/accounts/providers/google.providerOK/usr/share/accounts/qml-plugins/google/Main.qmlOK/usr/share/accounts/services/google-drive.serviceOK/usr/share/accounts/services/google-im.serviceOK/usr/share/accounts/services/picasa.serviceOK/usr/share/doc/account-plugin-google/copyrightOK/lib/systemd/system/accounts-daemon.serviceOK/usr/lib/accountsservice/accounts-daemonOK/usr/share/dbus-1/interfaces/org.freedesktop.Accounts.User.xmlOK/usr/共享/dbus-1/interfaces/org.freedesktop.Accounts.xmlOK/usr/share/dbus-1/system-services/org.freedesktop.Accounts.serviceOK/usr/share/doc/accountsservice/READMEOK/usr/share/doc/accountsservice/TODOOK....为了能够验证每个软件包的每个文件和配置文件并发现任何变化,请添加-a或--all选项:$sudodebsums--allverifyallconfiguration文件MD5和:/usr/bin/a11y-profile-manager-indicatorOK/usr/share/doc/a11y-profile-manager-indicator/copyrightOK/usr/share/man/man1/a11y-profile-manager-indicator.1.gzOK/etc/xdg/autostart/a11y-profile-manager-indicator-autostart.desktopOK/usr/share/accounts/providers/facebook.providerOK/usr/share/accounts/qml-plugins/facebook/Main.qmlOK/usr/共享/帐户/服务/facebook-microblog.serviceOK/usr/share/accounts/services/facebook-sharing.serviceOK/usr/share/doc/account-plugin-facebook/copyrightOK/etc/signon-ui/webkit-options.d/www.facebook.com.confOK/usr/share/accounts/providers/flickr.providerOK/usr/share/accounts/qml-plugins/flickr/Main.qmlOK/usr/share/accounts/services/flickr-microblog.serviceOK/usr/share/accounts/services/flickr-sharing.serviceOK/usr/share/doc/account-plugin-flickr/copyrightOK/etc/signon-ui/webkit-options.d/login.yahoo。com.confOK/usr/share/accounts/providers/google.providerOK/usr/share/accounts/qml-plugins/google/Main.qmlOK/usr/share/accounts/services/google-drive.serviceOK/usr/share/accounts/services/google-im.serviceOK/usr/share/accounts/services/picasa.serviceOK/usr/share/doc/account-plugin-google/copyrightOK...也可以只验证配置文件,排除软件包的所有其他文件,只需为此使用-e或--config选项:$sudodebsums--config仅检查配置文件的MD5和:/etc/xdg/autostart/a11y-profile-manager-indicator-autostart.desktopOK/etc/signon-ui/webkit-options.d/www.facebook.com.confOK/etc/signon-ui/webkit-options.d/login.yahoo.com.confOK/etc/signon-ui/webkit-options.d/accounts.google.com.confOK/etc/dbus-1/ssystem.d/org.freedesktop.Accounts.confOK/etc/acpi/asus-keyboard-backlight.shOK/etc/acpi/events/asus-keyboard-backlight-downOK/etc/acpi/ibm-wireless.shOK/etc/acpi/events/tosh-wirelessOK/etc/acpi/asus-wireless.shOK/etc/acpi/events/lenovo-undockOK/etc/default/acpi-supportOK/etc/acpi/events/ibm-wirelessOK/etc/acpi/事件/asus-wireless-onOK/etc/acpi/events/asus-wireless-offOK/etc/acpi/tosh-wireless.shOK/etc/acpi/events/asus-keyboard-backlight-upOK/etc/acpi/events/thinkpad-cmosOK/etc/acpi/undock.shOK/etc/acpi/events/powerbtnOK/etc/acpi/powerbtn.shOK/etc/init.d/acpidOK/etc/init/acpid.confOK/etc/default/acpidOK。..接下来,如果您只想在debsums输出中显示更改的文件,请使用-c或--changed选项。我没有在我的系统上找到任何更改的文件。$sudodebsums--changed下一个命令输出没有md5sum信息的文件,这里我们使用-l和--list-missing选项。在我的系统上,该命令没有显示任何文件。$sudodebsums--list-missing现在只要指定名称即可验证单个软件包的md5和:$sudodebsumsapache2验证已安装软件包的md5和:/lib/systemd/system/apache2.service。d/apache2-systemd.confOK/usr/sbin/a2enmodOK/usr/sbin/a2queryOK/usr/sbin/apache2ctlOK/usr/share/apache2/apache2-maintscript-helperOK/usr/share/apache2/ask-for-passphraseOK/usr/share/bash-completion/completions/a2enmodOK/usr/share/doc/apache2/NEWS.Debian.gzOK/usr/share/doc/apache2/PACKAGING.gzOK/usr/share/doc/apache2/README.Debian。gzOK/usr/share/doc/apache2/README.backtraceOK/usr/share/doc/apache2/README.multiple-instances OK/usr/share/doc/apache2/copyrightOK/usr/share/doc/apache2/示例/apache2。monitOK/usr/share/doc/apache2/examples/secondary-init-scriptOK/usr/share/doc/apache2/examples/setup-instanceOK/usr/share/lintian/overrides/apache2OK/usr/share/man/man1/a2query.1.gzOK/usr/share/man/man8/a2enconf.8.gzOK/usr/share/man/man8/a2enmod.8.gzOK/usr/share/man/man8/a2ensite.8.gzOK/usr/share/man/man8/apache2ctl.8.gzOK假设您以普通用户身份运行debsums,如果没有sudo权限,则可以使用--ignore-permissions选项将权限错误视为警告:$debsums--ignore-permissions如何使用.deb文件生成MD5和?-g选项告诉debsums使用deb内容生成MD5和,其中:missing-指示debsums使用deb为不提供MD5和的包生成MD5和deb文件中存在的总和,如果不存在,则使用它来生成总和。keep-指示debsums将提取/生成的总和写入/var/lib/dpkg/info/package.md5sums文件。nocheck-表示不针对已安装的包检查提取/生成的总和。如果查看目录/var/lib/dpkg/info/的内容,您将看到各个文件的md5sums,如下所示:$cd/var/lib/dpkg/info$ls*.md5sums列出了打包所有MD5和:a11y-profile-manager-indicator.md5sumsaccount-plugin-facebook.md5sumsaccount-plugin-flickr.md5sumsaccount-plugin-google.md5sumsaccountsservice.md5sumsacl.md5sumsacpid.md5sumsacpi-support.md5sumsactivity-log-manager.adium5sumsaccount-theme-ubuntu.md5sumsadwaita-icon-theme.md5sumsaisleriot.md5sumsalsa-base.md5sumsalsa-utils.md5sumsanacron.md5sumsapache2-bin.md5sumsapache2-data.md5sumsapache2.md5sumsapache2-utils.md5sumsapg.md5sumsapparmor-datasum-installd.md5sumsapache-数据-partner.md5sums...记住:使用与--generate=missing相同的-g选项,您可以尝试为apache2包生成md5sums,只需运行此命令:$sudodebsums--generate=missingapache2由于我的apache2包system已经有md5sum,产生如下输出,和run一样ning$sudodebsumsapache2。有关更多有趣的选项和使用信息,请参阅debsums参考手册页。$mandebsums在本文中,我们解释了如何根据MD5校验和检查已安装的Debian/Ubuntu软件包。为避免在您的系统上安装和执行损坏的二进制文件或包文件,有必要检查存储在其中的包信息以验证文件系统上的文件。如果您有任何问题或反馈,请留言交流。原标题:如何在Debian/UbuntuLinux中检查已安装软件包的MD5和,作者:AaronKili
