我查看了解决此问题的其他问题,但我认为我可能有不同的设置。
我也在尝试备份我的 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
。如果您想在某个子目录中解压备份,这会有所帮助(tar
Ubuntu 上的程序在您提取时也会这样做,因此存储绝对路径只有在您在非 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 个不同的文件夹
这只是通知您它正在忽略套接字。这些套接字是在启动时以及您使用计算机时创建的,因此您可以相信它对此的判断,将其忽略。