mat*_*975 3 embedded initramfs cpio
我一直在我的系统上使用以下命令来创建 .cpio 存档来为我的嵌入式目标设备创建一个 initramfs
sudo find . | cpio -H newc -oc > ~/initramfs.cpio
Run Code Online (Sandbox Code Playgroud)
这一直对我有用,没有任何问题。昨天我正在生成一个新的存档,我收到以下错误:
cpio: Archive format multiply defined: Operation not permitted
cpio: ./etc/shadow: Function open failed: Permission denied
cpio: ./usr/lib/ssh-keysign: Function open failed: Permission denied
64842 blocks
Run Code Online (Sandbox Code Playgroud)
我过去从未收到过这些错误,提到的打开失败的文件也没有被触及,所以我不明白为什么会发生这种情况。我使用 Ubuntu 包管理器更新了我的主机系统,因此我的cpio
包也可能已更新。由于所有让我非常困惑的错误,我显然不相信这里生成的 initramfs。我能想到的唯一选择是尝试找出我的cpio
版本是否已更改,如果已更改,请删除并替换为我拥有的旧版本。有什么办法可以在我的系统(Ubuntu 12.04)上找到这些信息?或者有其他方法可以解决这个问题吗?
第一个错误是因为您同时传递-H newc
和-c
。您必须决定要生成的存档的格式。在“不允许操作”是在GNU的cpio一个错误,它传递错误的函数的自变量,用于输出错误信息,并应退出那里。
其他错误是因为您没有以超级用户身份运行该命令,或者更有可能是因为您没有从正确的位置运行它。只有超级用户才能读取文件,/etc/shadow
因为它包含敏感信息。您还应该确保您生成的存档只能由超级用户读取。如果它是initramfs
您正在创建的,则很可能/etc/shadow
没有业务存在,除非它initramfs
包含完整的操作系统。
归档时间: |
|
查看次数: |
2690 次 |
最近记录: |