在没有 root 的情况下更改 cpio 存档中的所有权

Posted

技术标签:

【中文标题】在没有 root 的情况下更改 cpio 存档中的所有权【英文标题】:Change ownership in cpio archive without root 【发布时间】:2015-10-20 15:42:34 【问题描述】:

我需要将文件添加到 initramfs 文件(我拥有该文件,因为这是用于其他设备的文件),但是我在我的开发机器上没有 root 权限。通常的方法是解压缩 initramfs,添加文件,将所有者更改为 root 并再次打包。我不能这样做,因为在这台机器上更改所有者需要 root 权限。如果我不更改所有者,系统可能会表现得很奇怪(而且它不是一个干净的设置)。

我不能在目标系统上这样做,因为它是一个嵌入式系统,它只有对 initramfs 文件的只读访问权限。

在打包 cpio 存档期间或之后有什么方法可以更改权限?

【问题讨论】:

【参考方案1】:

在提取和压缩过程中使用 fakeroot 处理权限。它是为了提供 root 环境而开发的,而不是真正的 root。

girishp@~/incoming$ /usr/bin/fakeroot /bin/bash
root@~/incoming$

【讨论】:

以上是关于在没有 root 的情况下更改 cpio 存档中的所有权的主要内容,如果未能解决你的问题,请参考以下文章

linux:如何在归档 tar/cpio/...other 中单独压缩每个文件

如何在不安装 RPM 的情况下“重新打包”一个 RPM 文件,例如 cpio2rpm?

如何在没有一些文件夹的情况下创建 tar 存档?

在没有 Xcode 的情况下创建存档

在没有 exec 的情况下创建 zip 或 tar.gz 存档

如何在不解压缩的情况下列出 zip 存档中的文件?