
私はユーザーではありませんが、リポジトリからパッケージをインポートする必要がある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
ubuntu
1つのストレージセクションのみが一覧表示されます。
関連するバイナリパッケージのリストが<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の下にある複数のサブディレクトリに分割されている可能性があります。
- 含まれているパッケージ名の最初の文字と一致する単一文字に名前が付けられます。
- 名前付きの場所は単一文字で、
libX
名前が接頭辞なしで同じ文字で始まるX
ライブラリパッケージを含みます。lib
libX*
もしあれば本物リポジトリ内のパッケージの数が増え、さらに分類がある可能性があります。
したがって、「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
プレインストール/インストール後/削除スクリプト(パッケージに必要な場合)とパッケージマネージャの一部のメタデータが含まれています。