如何对根文件系统进行tar备份?

iab*_*der 5 linux ubuntu rootfs disk-partitioning

我在SD卡上安装了linux,我用这个命令来安装rootfs

tar xpjf rootfs.tar.bz -C/mnt/rootfs /

现在,我对rootfs进行了一些更改,我想创建一个备份,我可以使用上面的相同命令,我尝试使用:

tar cpjf rootfs.tar.bz2 /mnt/rootfs
and
tar cpjf rootfs.tar.bz2 -C / mnt/rootfs
I also tried
tar cpjf rootfs.tar.bz2 /mnt/rootfs/*
Run Code Online (Sandbox Code Playgroud)

并试过:

cd /mnt/rootfs
tar -cvpjf rootfs.tar.bz2 --exclude=/rootfs.tar.bz2 .
tar: ./rootfs.tar.bz2: file changed as we read it
Run Code Online (Sandbox Code Playgroud)

但我最终得到的档案在文件系统之前有两个级别,即mnt/rootfs/files我做错了什么?

ale*_*x88 12

那是因为它从当前的工作目录开始,你可以这样做:

cd /mnt/rootfs
tar cpjf /rootfs.tar.bz2 .
Run Code Online (Sandbox Code Playgroud)

这应该在/rootfs.tar.bz2创建一个存档,其根目录为/ mnt/rootfs /

  • `tar cpjf /rootfs.tar.bz2 -C/mnt/rootfs .`其中`-C`表示"cd into <path> then ...."更简单. (9认同)
  • 不要使用`*`。对于名为“ --filename”的文件,这可能会失败。相反,使用`./*`。 (2认同)