您好,我是打包应用程序的新手。我正在运行一个命令来打包我在 RHEL 上创建的简单 sh 应用程序。我不明白为什么建筑说 noarch,尽管据我所知。打包是特定于所使用的体系结构和操作系统的。 谁能解释一下 noarch 是什么意思?
rpm -qi hello
Name : hello
Version : 0.0.1
Release : 1
Architecture: noarch
Install Date: Mon 09 Nov 2020 01:29:51 AM CET
Group : Unspecified
Size : 294
License : GPL
Signature : (none)
Source RPM : hello-0.0.1-1.el8.src.rpm
Build Date : Mon 09 Nov 2020 01:08:14 AM CET
Build Host : slimmerAI
Summary : A simple hello world script
Description : A demo RPM build
“Noarch”架构名称意味着当前包未绑定/绑定到任何特定架构,这意味着它可以在任何支持 RPM 打包的系统上使用和安装,无论 CPU 架构是什么。
Architecture: noarch
仅仅意味着 RPM 包中没有特定于体系结构的文件/二进制文件。因此,这样的软件包可以安装在任何可以使用 rpm 软件包管理器的硬件上。这是参考链接。
实际上,noarch意味着没有架构。当包的体系结构字段设置为 noarch 时,意味着该包不是特定于体系结构的。它可以在任何架构上运行。
就像您的情况一样,包hello,即摘要中描述的简单的 hello world 脚本,可以安装在任何系统上。它不需要特定的架构来运行。
Noarch 架构表示该包不绑定到任何特定的硬件架构,这意味着它可以在任何 CPU 架构上运行,这意味着支持 RPM 包管理器。
架构:noarch
这意味着这个包不限于任何特定/特定的架构。
此软件包可以安装在任何支持 RPM 软件包管理器的系统上。
基本上,当您构建 RPM 包时,您可能会遇到某些文件是特定于体系结构或特定于操作系统的文件,而其他文件则不是的情况。在这些情况下,您可以创建 RMP 包,其中一些标记为“noarch”用于独立于体系结构的文件,而另一些则标记为它们所针对的特定体系结构,例如 x86_64。
在您的情况下,“noarch”表示软件包文件包含不依赖于体系结构的文件,并且可以安装在任何系统上,无论其体系结构如何。
“noarch”架构名称意味着当前包不依赖于任何特定架构。这意味着该软件包不包含特定于体系结构的文件/二进制文件,并且可以安装在支持 RPM 软件包管理器的任何系统上,无论 CPU 体系结构如何。