Linux tar:/dev/st0:无法写入:无效的参数错误和解决方案

时间:2020-01-09 10:43:50  来源:igfitidea点击:

问题描述:当我运行tar命令时,它失败并显示如下错误:

tar:/dev/st0:无法写入:无效的参数
tar: /dev/st0: Cannot write: Invalid argument

如何在CentOS/Debian/Fedora/RHEL Linux HP服务器系统下解决此错误?

解决方法:您需要指定块因子大小。
如果尝试在磁带上写一个大文件,则可能会发生此错误。

归档中的数据分为512个字节的块。
块以称为记录的整数倍读取和写入。
记录中的块数(即,以512字节为单位的记录大小)称为阻塞因子。

阻塞因子大于20的归档文件无法由非常老版本的tar或者在地址空间较小的旧计算机上运行的某些较新版本的tar读取。
使用GNU tar,存档的阻塞因素仅受包含该存档的设备的最大记录大小或者可用虚拟内存量的限制。

如何解决此错误?

使用-b选项将阻塞因子设置为256,以避免出现此错误。
例如,使用以下命令将/webroot目录及其内容备份到具有256阻塞因子的/dev/st0中:

# tar cvf -b 256 /dev/st0 /webroot