ファイルを圧縮できません:ターミナルからアーカイブコンテンツの読み取りが拒否されました。

ファイルを圧縮できません:ターミナルからアーカイブコンテンツの読み取りが拒否されました。

私のホストにいないのでインストールする必要がdpkgあります。
以下の指示に従いました。ここそしてここ

両方の答えからファイルをダウンロードする必要があると書いています。

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次のように使用します。

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

[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 ましたが失敗しました。

gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

tarファイルdebをに保存する方法を知っていますかdata.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

ベストアンサー1

Debian パッケージはarファイル内部にはtar-in-tarではなくtarballがあります。コマンドは次のようにする必要があります

ar x dpkg*.deb data.tar.gz

代わりにtar x。これ最初の答えお客様がリンクして引用した内容は無条件に盗用されました。第二そしてあなたに間違った指示をしました(過度に修正したのか、痕跡を隠そうとしたのかわかりません)。

圧縮によって異なる名前が必要になる場合がありますdata.tar.gz(時間の経過とともに変更されます)

ar x dpkg*.deb

これにより、tar xaf data.tar.* ./usr/bin/dpkgどの圧縮を使用してもソートできます。無視または削除できるいくつかの追加ファイル(control.tar.*debian-binaryおよびその他のいくつかのファイル)を抽出します。

残りの指示は大丈夫でしょう。

おすすめ記事