压缩只读分区

压缩只读分区

我是 Linux 新手,这可能是一个愚蠢的问题,但是有没有办法将分区设置为只读,然后压缩该分区上的所有文件并将它们放入 tar.gz 中在该分区上?由于我是在嵌入式系统上执行此操作,因此我无法将 tar 写入 USB 驱动器。

这可能是一个 xy 问题——我试图完全复制主分区,而在复制过程中不更改文件。我能够将分区重新挂载为只读,但是,当然,我无法将 tar 写入该分区。

有没有更好的方法?

答案1

不,这是不可能的。以只读方式安装的分区是只读的,这意味着您无法将 tar.gz 文件写入其中。

也就是说,您可以在此设备上访问网络吗?我认为你应该能够将它们同步到一台单独的计算机并在那里生成 tar。

如果您确实需要在嵌入式计算机上生成 tar 存档并且它已连接到网络,那么您可以尝试使用 netcat:https://nakkaya.com/2009/04/15/using-netcat-for-file-transfers/

在 tar 中,您可以将“O”或“--to-stdout”标志添加到命令中。将其输出通过管道传输到 netcat。

在接收端,运行:

nc -l -p 1234 > out.file

在嵌入式端,运行:

tar cvO /partition | nc -w 3 [receiving IP] 1234

请注意,netcat 未加密,因此仅建议对于非敏感信息或本地网络。

另一种可能性是使用 NFS 或 sshfs 等安装远程驱动器。

在嵌入式计算机上:

sshfs [email protected]:/remote/computer/directory /mnt/remote
tar cvf /mnt/remote/files.tar /folder/to/tar

如果您尝试压缩根分区,请确保远程文件夹为空,这样存档中就不会出现一堆垃圾。

相关内容