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