我在使用 tar 使用 bzip 压缩存档时遇到困难。我的存档是 user-logs.tar。
我正在尝试运行这个:
tar -jf user-logs.tar
我收到此错误:
tar: You must specify one of the `-Acdtrux' or `--test-label' options
Try `tar --help' or `tar --usage' for more information.
我还尝试使用 -c 创建一个带有 bzip 文件扩展名的新文件,但没有成功。
# tar -cvjf user-logs.tar.gz user-logs.tar
user-logs.tar
tar (child): bzip2: Cannot exec: No such file or directory
tar (child): Error is not recoverable: exiting now
答案1
错误消息告诉您该怎么做:您可能需要添加-c
(例如创造),例如,
tar -jcf user-logs.tar myargs
以及一些论点米亚格斯(要放入user-logs.tar
档案的东西)。
第二种情况,问题是你没有bzip2
安装。 tar 程序依赖于此外部的程序进行压缩。
如果您有一个 tar 存档并且只是想压缩它,您可以这样做:
bzip2 user-logs.tar
其中(如果你有 bzip2
安装)会将文件更改为user-logs.tar.bz2
(通常会使其小得多)。
对于安装bzip2
,这取决于您所使用的系统。例如,对于 Ubuntu,这将是
sudo apt-get install bzip2
而 Fedora 可能是(也许dnf
):
sudo yum install bzip2
GNUtar
程序不知道如何压缩现有文件,例如user-logs.tar
(bzip2
这样做)。该tar
程序可以使用外部压缩程序,gzip
通过打开bzip2
xz
管道对于这些程序,通过管道将 tar 存档发送到压缩实用程序,该实用程序压缩从中读取的数据tar
并将结果写入tar
程序指定的文件名。
或者,tar
和压缩实用程序可以是同一个程序。 BSD tar 使用以下方式进行压缩libarchive
(除了名称之外,它们并没有真正不同)。
进一步阅读:
答案2
错误消息bzip2: Cannot exec: No such file or directory
告诉您 tar 找不到 bzip2。很可能你没有安装它。
yum install bzip2
通过或apt-get install bzip2
或类似的方式安装它,具体取决于您的操作系统。
答案3
我不确定我是否正确地解释了您的问题和数据,但在我看来您好像已经有了 tar 球并且只是想压缩它?
bzip2 user-logs.tar