来自 liveCD 的备份文件

来自 liveCD 的备份文件

我的 Ubuntu 无法启动。我能够从 liveCD 启动并连接外部硬盘。我想备份我的文件。我试过了cp -r /home destination,但遇到了文件名中的空格、符号链接、错误“Cannon create fifo:操作不允许”、“权限被拒绝”、“参数无效”等等问题。最好的方法是什么?能解决cp -a这些问题吗?还是我应该做些更聪明的事情?

编辑:同样,在实时模式下,我没有权限查看主目录中的一个文件夹。我运行sudo nautilus它来查看它。

编辑2:

到目前为止,我发现使用rsync不会出现文件名问题。但它不会复制 .so 和 .a 文件。而且与 cp 相比,它的运行速度非常慢。

答案1

尝试一下这个命令:

cp -ar /source/dir/. /destination/dir/

-a 选项是一个改进的递归选项,它保留所有文件属性,也保留符号链接。

-ar 中的 r 是递归复制文件/目录的选项,它是复制文件所在文件夹内的文件夹所必需的。

源路径末尾的 . 是 cp 语法,允许您复制所有文件和文件夹,包括隐藏文件和文件夹。

由于 -a 选项保留文件属性,您需要使用 sudo 来查看它们或运行此命令。(更改用户和组名称)

sudo chown -r user:group /directory/of/file/backups

上述命令将使您成为备份文件的所有者。

答案2

事实证明这不是命令,这是一个问题。 user34716 发布的命令是正确的。必须使用cp -ar来保留属性和符号链接。

但是,问题在于这些属性并非在所有文件系统中都具有。因此,如果磁盘不是 ext4 格式,最好创建存档。对于 liveCD,命令将是:

tar -c -z -f /my/backup/disk/home.tar.gz -C / media/ubuntu/deviceName/home

相关内容