用户 XXXX 不存在-使用 root?

用户 XXXX 不存在-使用 root?

在 makefile 中,我使用了如下所示的“install”命令

命令:'安装-o 1010-g 100-m 0755-D 路径'

我并不想检查用户名和组名,而是想检查 uid 和 gid。

请考虑以下场景。

步骤1:

系统 1:UID 1010 对应的用户为“XXXX”。使用“系统 1”创建 RPM 安装程序。

第2步:

系统 2:UID 1010 对应的用户为“YYYY” 在安装 RPM 文件时,我们收到一条警告消息,提示“警告:用户 XXXX 不存在 - 使用 root”

在此步骤中,我假设登录用户的 UID 应等于“1010”,以便 RPM 安装程序成功安装。但实际情况是,RPM 安装程序希望安装系统中的用户名相同

答案1

嗯,除非您使用 LDAP 之类的东西,否则不同的机器上的 uid/oid/gid 可以有不同的值。即便如此,在您的系统上定义的用户也会有自己的 id。无法保证用户会存在于另一台机器上。

也许您应该进一步解释一下您的用例?

答案2

使用%filesRPM 文件的部分.spec来设置已安装系统(问题中的系统 2)上预期的所有权。

您还可以使用%preRPM 文件的部分.spec来确定预期的用户和组是否实际存在于已安装的系统(问题中的系统 2)中。

%files
# Set file permissions and ownership

%pre
# Check if expected user 'myuser' exists. If not, exit with an error.
# Check if expected group 'mygroup' exists. If not, exit with an error

进一步阅读rpm 网站

相关内容