sudo tar cvpzf 由于之前的错误而失败退出

sudo tar cvpzf 由于之前的错误而失败退出

我查看了解决此问题的其他问题,但我认为我可能有不同的设置。

我也在尝试备份我的 Ubuntu 机器,但这里有一个区别。我使用 Wubi 在笔记本电脑上安装了 Ubuntu 11.10 和 Vista。我花了大量时间才完成设置,因此我决定将所有内容备份到我的外部硬盘上可能是个不错的选择。

因此,我从各种来源收集了这些信息:首先,我导航到我的外部硬盘驱动器,然后我在这个驱动器上创建了一个备份文件夹,然后我从终端输入了以下内容:

sudo tar cvpzf mybackup.tgz2 --exclude="/host/*"  --exclude="/media/*" --exclude="/mnt/*" --exclude="/proc/*" --exclude="/tmp/*" /

进程运行了大约 20 分钟,最后退出并显示退出消息。我确实注意到早期有一些读取错误,但它继续处理,然后出现三个“读取时文件发生变化”,3 到 4 分钟后它退出了。

有人对我该怎么做才能获得此备份有什么建议吗?

现在运行备份后,仅使用sudo tar cpf和所有先前的排除以及添加,--exclude="/dev/"我收到以下错误:

tar: removing '/' from front of names
tar: /sys/module/bnep/sections/__mount_loc: file sharnk by 4085 bytes; padding with zeroes …. a whole bunch of these the paths are different
tar: /home/tom/.gvfs: cannot stat: permission denied
tar: /run/synaptic.socket: socket ignored …. 8 of these different folders
tar: /var/lib/citadel/data: file changes as we read it …. 5 of these different folders

希望有人能理解发生了什么,因为我对这些错误感到有点担心。感谢您的帮助或建议。

答案1

这些信息意味着什么

首先,让我们分别看一下这些消息:

tar: removing '/' from front of names

您被告知tar要存档绝对路径。默认情况下(除非您传递选项-P),tar它会存储相对路径,例如,etc/fstab当您告诉它存储时,它会存储/etc/fstab。如果您想在某个子目录中解压备份,这会有所帮助(tarUbuntu 上的程序在您提取时也会这样做,因此存储绝对路径只有在您在非 Linux 系统上提取存档时才会有所不同)。您可以忽略该消息。

tar: /sys/module/bnep/sections/__mount_loc: file sharnk by 4085 bytes; padding with zeroes

此错误发生在 内/sys。例如/proc,下面的文件/sys不存储在您的磁盘上,它们是由内核动态生成的,备份它们毫无意义。

tar: /home/tom/.gvfs: cannot stat: permission denied

~/.gvfs挂载点由使用垂直起降系统,Gnome 桌面环境的组件,允许访问网络文件系统、档案等。这里没有什么可备份的。

tar: /run/synaptic.socket: socket ignored

A插座是客户端和服务器之间的“会面地点”。那里没有存储任何数据,服务器将在启动时创建套接字。备份套接字不是必需的,因此此消息无害。

tar: /var/lib/citadel/data file changes as we read it

这条消息就是字面上的意思。如果在备份时文件发生更改,您不一定能期望获得该文件的最新版本。

备份状态

大多数这些警告都是无害的;你可以选择性地关闭它们

不要排除您知道的目录,而要排除所有挂载点,这样您最终只会备份磁盘上的内容。如果您有多个分区(例如,如果您有一个单独的/home),请确保列出所有分区。

tar -czf mybackup.tgz --one-file-system /

我想说此时你已经有一个完整的备份。当然,在删除数据之前你应该先测试一下。

进一步的建议

除非你的磁盘空间不足,否则我建议你克隆安装,以便直接从 USB 磁盘运行它。(请参阅将 Linux 安装移至新计算机; 还如何将用户设置和数据迁移到新机器?

无关注释:您的帖子中有几个拼写错误 — “file sharnk”(实际消息是“file shrank”),“file changes as we read it”(实际消息是“file modified as we read it”)。您应该复制粘贴这些内容!不进行复制粘贴会大大降低我们对情况与您描述的一样的信心。如果您的系统通常不显示英文消息,请先运行export LC_MESSAGES=C以显示英文错误消息。

答案2

关于您遇到的错误:

tar:从名称前面删除“/”

这不是错误,它只是通知您它正在做什么。它告诉您它正在将路径存储为相对路径。提取时,您需要位于根目录(即 / ),以便提取到 /home...etc. 而不是 /directory/you/are/in/home。

tar: /sys/module/bnep/sections/__mount_loc: 文件缩小 4085 字节;用零填充

有几个目录是“特殊的”,不应存储在任何地方(因为它们是在启动时创建的,不包含任何需要保存的特殊内容)。这些目录是

/dev
/proc
/sys

事实上,尝试保存它们会产生一些奇怪的结果,正如您所经历的。因此,您应该排除它们,就像您对 /dev 所做的那样。

tar:/home/tom/.gvfs:无法统计:权限被拒绝

无需了解具体原因,您不必担心此目录失败,因为您可能不想包含内容。如果您真的担心,可以使用以下命令排除所有 gvfs 错误

--exclude="/home/*/gvfs/*"

有关详细信息,请参阅维基百科页面

tar: /run/synaptic.socket: 套接字被忽略... 8 个不同的文件夹

这只是通知您它正在忽略套接字。这些套接字是在启动时以及您使用计算机时创建的,因此您可以相信它对此的判断,将其忽略。

相关内容