Bootstrap

校验deb、rpm、apt、yum安装文件完整性测试

简介:deb包在Linux操作系统中类似于windows中的软件包(msi),几乎不需要什么复杂的编译即可通过鼠标点击安装使用。此外,deb广泛应用于越狱后iOS软件及MeeGo(含Maemo软件)中。deb 格式是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格式,配合 APT 软件管理系统,成为了当前在 Linux 下非常流行的一种安装包。

RPM包管理员(简称RPM,全称为The RPM Package Manager)是在Linux下广泛使用的软件包管理器。RPM此名词可能是指.rpm的文件格式的软件包,也可能是指其本身的软件包管理器(RPM Package Manager)。最早由Red Hat研制,现在也由开源社区开发。RPM通常随附于Linux发行版,但也有单独将RPM作为应用软件发行的发行版(例如Gentoo)。RPM仅适用于安装用RPM来打包的软件,目前是GNU/Linux下软件包资源最丰富的软件包类型之一。

历史攻略:

Python:打包工具nuitka

docker:容器打包成镜像

文件完整性测试的解决思路和案例

apt / deb安装方式的校验 - 案例:

以htop为例,不完整时提示missing file

debsums: missing file /usr/bin/htop (from htop package)

sudo apt update
sudo apt install debsums
apt install htop
debsums htop

# 案例结果
$ debsums htop
/usr/bin/htop                                                                 OK
/usr/share/applications/htop.desktop                                          OK
/usr/share/doc/htop/AUTHORS                                                   OK
/usr/share/doc/htop/README                                                    OK
/usr/share/doc/htop/changelog.Debian.gz                                       OK
/usr/share/doc/htop/copyright                                                 OK
/usr/share/man/man1/htop.1.gz                                                 OK
/usr/share/pixmaps/htop.png                                                   OK

$ sudo mv /usr/bin/htop /usr/bin/htop2
$ debsums htop
debsums: missing file /usr/bin/htop (from htop package)
/usr/share/applications/htop.desktop                                          OK
/usr/share/doc/htop/AUTHORS                                                   OK
/usr/share/doc/htop/README                                                    OK
/usr/share/doc/htop/changelog.Debian.gz                                       OK
/usr/share/doc/htop/copyright                                                 OK
/usr/share/man/man1/htop.1.gz                                                 OK
/usr/share/pixmaps/htop.png                                                   OK                                            OK

yum / rpm安装方式的校验 - 案例:

以htop为例,不完整时提示:遗漏

遗漏 /usr/bin/htop

sudo yum update
yum install htop

# 案例结果
[tom@st-dev-95 ~]$ htop
[tom@st-dev-95 ~]$ rpm -V htop
[tom@st-dev-95 ~]$ which htop
/usr/bin/htop
[tom@st-dev-95 ~]$ sudo mv /usr/bin/htop /usr/bin/htop2
[tom@st-dev-95 ~]$ rpm -V htop
遗漏     /usr/bin/htop
[tom@st-dev-95 ~]$                                                OK

总结:debsums和rpm -V 以上涵盖了两大主流Linux操作系统的文件安装完整性的校验,配合md5sum基本可以覆盖绝大部分测试场景需求。

**图片**

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;