首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能tar文件:拒绝从终端读取存档内容

不能tar文件:拒绝从终端读取存档内容
EN

Unix & Linux用户
提问于 2019-01-15 20:54:47
回答 2查看 4.2K关注 0票数 0

我有没有dpkg的主机,所以我需要安装它。我遵循了这里这里的指示。

在这两个答案上,他们写道,我需要下载该文件:

代码语言:javascript
复制
wget http://security.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg_1.17.5ubuntu5.2_i386.deb
or
wget http://security.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg_1.17.5ubuntu5.2_amd64.deb

然后像这样使用tar

代码语言:javascript
复制
tar x dpkg*.deb data.tar.gz
tar xfvz data.tar.gz ./usr/bin/dpkg
cp ./usr/bin/dpkg /usr/bin/

但是在运行tar x dpkg*.deb data.tar.gz之后,它失败了:

代码语言:javascript
复制
[root@webtl1 ~]# tar x dpkg*.deb data.tar
tar: Refusing to read archive contents from terminal (missing -f option?)
tar: Error is not recoverable: exiting now

我遵循了以下链接:https://askubuntu.com/questions/143107/how-to-extract-archives-to-file-system-in-terminal并尝试使用tar xvzf dpkg*.deb data.tar.gz,但也失败了:

代码语言:javascript
复制
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

知道我怎样才能将tar文件D11data.tar.gz吗?

编辑:如果您想要复制,请转到:https://www.katacoda.com/courses/prometheus/getting-started

运行:wget http://security.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg_1.17.5ubuntu5.2_amd64.deb,然后尝试tar x dpkg*.deb data.tar.gz

EN

回答 2

Unix & Linux用户

发布于 2019-01-15 21:23:38

Debian包是带有tarball的ar档案馆包,而不是tar。命令必须是

代码语言:javascript
复制
ar x dpkg*.deb data.tar.gz

而不是tar x。你链接和引用的第一个答案不称职地抄袭了第二个,并给了你错误的指令(无论是通过过度修正还是试图掩盖它的踪迹,我不知道)。

您可能需要一个与data.tar.gz不同的名称来进行不同的压缩(随着时间的推移它会改变),但是

代码语言:javascript
复制
ar x dpkg*.deb

那么,无论使用了什么压缩,tar xaf data.tar.* ./usr/bin/dpkg都应该对您进行排序。它将提取一些您可以忽略或删除的额外文件(control.tar.*debian-binary,也许还有其他文件)。

剩下的说明应该没问题。

票数 5
EN

Unix & Linux用户

发布于 2019-01-16 08:07:56

我的主机没有dpkg,所以我需要安装它。

No,你没有。

即使您设法获得了dpkg程序的一个版本,它也是不可用的。Dpkg需要一些其他程序和数据文件。手动组装运行dpkg所需的一切对于熟悉Unix命令行工具的人来说都是一项挑战。

Dpkg是Debian和派生发行版的低级别包管理工具。如果您的主机没有dpkg,这意味着它运行的是使用不同包管理工具的不同发行版。例如,CentOS (用于托管的非Debian发行版中最受欢迎的选择)使用Yum。(Yum相当于apt,这是您通常在基于Debian的发行版上使用的工具;与dpkg对应的低级打包工具是rpm。)您的主机文档应该清楚地指出它正在运行的发行版,但是如果您找不到这些信息,请看这条线索,了解如何从经验中找到答案。

如果您已经知道如何使用dpkg和apt,那么帕克曼·罗塞塔是一个用于常见任务的方便的转换表。

如果您真的想在不同的Linux发行版上安装Debian或Ubuntu包,请使用脱靴带设置一个色色环境。chroot环境的运行将主要独立于已经安装的系统:它将有自己的一组程序,但网络配置相同,您可以让它访问主机的数据。

票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/494680

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档