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

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

私のホストにいないのでインストールする必要が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およびその他のいくつかのファイル)を抽出します。

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

答え2

私のホストにはdpkgがないので、インストールする必要があります。

いいえ、そうではありません。

dpkgプログラムバージョンを入手しても動作しません。 dpkgには他のプログラムとデータファイルが必要です。 Unixコマンドラインツールに精通している人でも、dpkgを実行するために必要なすべてを手動で組み立てることは困難です。

Dpkgは、Debianおよび派生ディストリビューション用の低レベルパッケージ管理ツールです。ホストにdpkgがない場合は、別のパッケージ管理ツールを使用して別のディストリビューションを実行していることを意味します。たとえば、CentOS(Debianベースではなく最も人気のあるホスティングディストリビューションを選択)は、次のように使用します。ヤム(Yumは、Debianベースのディストリビューションで一般的に使用されるツールであるaptと同じです。dpkgに対応する低レベルのパッケージングツールはrpmです。)ホストドキュメントには、実行中のディストリビューションが何であるかを明確に指定する必要があります。この情報が見つかりません。経験的に理解する方法については、このスレッドを参照してください。

dpkgとaptの使い方を既に知っていれば、パックマンロゼッタ一般的な仕事のための便利な翻訳シートです。

他のLinuxディストリビューションにDebianまたはUbuntuパッケージをインストールするには、次のようにします。ブート防止プログラム設定するchroot環境。 chroot環境の動作は、ほとんどがインストールされているシステムとは無関係です。独自のプログラムセットがありますが、ネットワーク構成は同じで、ホストデータへのアクセスを許可できます。

関連情報