`/etc/apt/sources.list.d/`リポジトリファイルのパッケージとディレクトリ構造をURLにデコードする

`/etc/apt/sources.list.d/`リポジトリファイルのパッケージとディレクトリ構造をURLにデコードする

私はユーザーではありませんが、リポジトリからパッケージをインポートする必要があるapt状況にあります。.deb

私はdebベースのディストリビューションユーザーではないので、deb必要なリポジトリを簡単にインストールすることはできません。これは他の理由からも実用的ではありません。

代わりに、単にパッケージをキャッチして解凍することがより簡単な解決策になる可能性があると思いましたが、ディレクトリ内のリポジトリエントリを「解読」するのにかなりの困難がありますsources.list.d

deb [arch=amd64] http://apt.domain.de/ stable ubuntu

利用可能なパッケージのリストなどを調べたり、パッケージ名がわかっている場合は、そのパッケージのURLのみを知るようにURLに変換するにはどうすればよいですか?

本質的に、私の場合は、Debianリポジトリに手動でアクセスしてパッケージをインポートして解凍してチェックすることをインストールし、それを介してパッケージなどをインストールするaptよりも実用的でした。

ベストアンサー1

項目の構造は次のとおりです。

deb [arch=architecture] base-URL version repo-sections...

アイテムがある場合sources.list.d

deb [arch=amd64] http://apt.domain.de/ stable ubuntu

これは次のことを示します。

  • デフォルトのURLは次のとおりです。http://apt.domain.de/
  • バージョンコードはstable
  • アーキテクチャはamd64
  • ubuntu1つのストレージセクションのみが一覧表示されます。

関連するバイナリパッケージのリストが<base-URL>/dists/<version>/<repository-section>/binary-<arch>/Packages.(gz|xz)次の場所にあることを示します。

http://apt.domain.de/dists/stable/ubuntu/binary-amd64/Packages.(gz|xz)

実際のパッケージは次の場所にある可能性があります<base-URL>/pool/<repository-section>

http://apt.domain.de/pool/ubuntu/

リポジトリに多数のパッケージが含まれている場合は、2番目のURLの下にある複数のサブディレクトリに分割されている可能性があります。

  1. 含まれているパッケージ名の最初の文字と一致する単一文字に名前が付けられます。
  2. 名前付きの場所は単一文字で、libX名前が接頭辞なしで同じ文字で始まるXライブラリパッケージを含みます。liblibX*

もしあれば本物リポジトリ内のパッケージの数が増え、さらに分類がある可能性があります。

したがって、「foo」パッケージを探している場合は、まずファイルをダウンロードまたはhttp://apt.domain.de/dists/stable/ubuntu/binary-amd64/Packages.gz読み取って、http://apt.domain.de/dists/stable/ubuntu/binary-amd64/Packages.xzそのリポジトリのバージョンセクションubuntuでどのパッケージバージョンが最新と見なされるかを確認してください。stable

次の内容を見つけることができます。

Package: foo
Source: foo (1.2.3-4)
Version: 1.2.3-4+b1
Installed-Size: 12345
Maintainer: The Developer Guy <[email protected]>
Architecture: amd64
Depends: libfoo (>= 1.2.3-4+b1)
...
Filename: pool/ubuntu/f/foo/foo_1.2.3-4+b1_amd64.deb
...

これにより、次のことがわかります。

  • 関連パッケージはfoo-1.2.3-4+b1.deb

  • libfooパッケージ、バージョン1.2.3-4+b1以上によって異なります。

  • パッケージは以下にあります。

    http://apt.domain.de/pool/ubuntu/f/foo/foo_1.2.3-4+b1_amd64.deb

その後、パッケージを一時ディレクトリにダウンロードし、解凍を開始できます。

mkdir workdir
cd workdir
wget http://apt.domain.de/pool/ubuntu/f/foo/foo_1.2.3-4+b1_amd64.deb
ar x foo_1.2.3-4+b1_amd64.deb

control.tar.xzこれにより、data.tar.xzおよび3つのファイルが提供されますdebian-binary。最後のファイルにはパッケージ形式のバージョン番号のみが含まれており、通常は無視できます。

data.tar.xzパッケージがインストールする物理ファイルを含みます。

control.tar.xzプレインストール/インストール後/削除スクリプト(パッケージに必要な場合)とパッケージマネージャの一部のメタデータが含まれています。

おすすめ記事