我正在使用 tar 作为我的增量备份脚本,Oracle VM Server 3.2.2
它附带tar 1.15.1
我需要这个命令:
tar -cf drive-C.full.tar --no-check-device \
--listed-incremental=drive-C.full.snapshot drive-C/
但我收到这个错误:
tar: unrecognized option `--no-check-device'
编辑...
我正在虚拟机磁盘上进行增量备份。我需要“no-check-device”,因为每次安装 vm 磁盘 .img 文件时,设备编号都会发生变化,这会扰乱 tar 的增量备份。
答案1
Oracle Linux 是 Oracle VM 的基础,它基于 RHEL 5。
另一个克隆是 CentOS 5。当前版本:5.8。
但是:当前的 tar 版本也有 1.15.1。
因此,如果您想获得更新的版本,则必须编译它。为此,您可以将 CentOS 存储库包含到 Oracle-Linux 中并安装所需的编译工具(gcc...)。
或者尝试使用“无检查设备”选项来解决问题。
更新2013-06-07 关于环回安装:
您可能会出现更改主要/次要的问题,因为 Oracle-VM 本身正在动态地使用其自身的环回安装。我建议采取以下步骤:
losetup
您的备份映像到高编号环回设备(如 /dev/loop50)- 在该设备上执行操作
kpartx -av
(这将为您提供 Windows-C 分区的设备) - 挂载该分区 ro(可能使用 ntfs-utils 或更新版本)
tar
使用或进行增量备份rsync
。umount
kpartx -dv
- 释放环回设备
losetup
当我使用 CentOS-box 时,我将提供更多详细信息(包括您的存储库问题)。
答案2
您在 Sparc 或 x86 上运行哪个硬件?我猜想您可能正在运行 Unbreakable Linux,在这种情况下您应该能够获得 x86 或 Sparc 的适当版本的 RPM。
看看这个页面似乎表明我所说的是正确的,http://docs.oracle.com/cd/E26996_01/E18549/html/BABDDEGC.html。您可能还想尝试运行以下命令:
yum update tar
Oracle Unbreakable Linux 是 RHEL(Red Hat Enterprise Linux)的衍生产品,因此您应该能够安装为 CentOS(RHEL 的另一个衍生产品)构建的软件包。只要它是正确的架构。