我想以常规(非root)用户身份使用一些准备好的二进制文件和配置文件来构建tar文件,如下所示:
etc/binaries.conf
usr/bin/binary1
usr/bin/binary2
将被解压缩到/
目录下的文件系统中。
像传统的软件包.deb,.rpm等一样,但是我需要是“独立于软件包管理器”的。因此,大概我将只有一个.tar文件(也许应该将某些gzip,bzip,lzip添加到混合文件中,但这在外面)。
问题/问题
我在这里的问题是,我不希望建立这种焦油作为根用户,我想知道是否有建立这种焦油的方式常规(非root用户),然后,当.tar文件分配给计算机,并且真正的root
用户提取这些二进制文件,它们将作为根用户或提取二进制文件的用户所拥有的文件安装?
例子
因为现在,当我以普通用户(非root用户)的身份创建.tar文件时,
$ tar cf dist.tar dist/
然后以root用户身份提取.tar
# tar xf dist.tar -C /
我看到二进制文件和配置文件,其中普通用户为所有者,而不是root用户。
$ ls -la /usr/bin/binary1
-rwxr-xr-x 1 user user 30232 jun 20 19:06 /usr/bin/binary1
我想拥有
$ ls -la /usr/bin/binary1
-rwxr-xr-x 1 root root 30232 jun 20 19:06 /usr/bin/binary1
需要澄清的是,这种手工包装非常适合封闭基础结构中的某些任务,因此,现在不可以选择使用.deb,.rpm或任何其他更复杂的包装系统。
该提取是什么决定了所有权,而不是创建存档。您可以查看档案的目录,例如
tar tvf dist.tar
如果以普通用户身份创建文件
tar --owner 0 --group 0 dist.tar dist
做魔术
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句