rpm -V 内部工作原理

rpm -V 内部工作原理

我有一个rpm用于安装包的文件,我制作的包由 java 类和 shell 脚本组成,以在文件中运行这些 java 类.run。所以rpm本质上只包含一个foo.run安装包的所有内容。我的问题是,当我运行命令rpm -V来验证文件rpm package是否未损坏时,是否仅验证文件是否foo.run未损坏,或者是否从文件中包含的文件foo.class安装并未损坏?foo.shfoo.runrpm package

答案1

当您运行计算机上rpm -V packagename安装的所有文件时packagename,系统将与 RPM 本身中的元数据进行比较。 RPM 本身包含有关 RPM 中每个文件的信息(如 md5sum、文件大小、权限、所有者等)。

因此,如果您的 RPM 包含这些文件foo.class,或者foo.sh是,那么这些文件将被验证。

如果您的脚本在运行时只是从 Internet 下载这些文件,那么不会,这些文件不会被验证,因为在创建 RPM 时没有存储有关这些文件的信息。

换句话说:如果您运行rpm -qpl filename.rpm列出的所有文件,则在运行时将会进行验证,rpm -V packagename因为这些是 RPM 知道的文件。

相关内容