64ビットアーキテクチャのみの.debファイルを提供するubuntu 12.04サーバーにリポジトリがあります。
apt-get
updateを実行すると、次のようになります
W: Failed to fetch https://test.com/repo/dists/precise/Release Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file)
reprepro
を使用して.deb
ファイルをリポジトリに追加しています
reprepro -Vb . includedeb precise package_AMD64.deb
そして、私の配布ファイル/var/www/site/repo/conf/distributions
では、AMD64ビットアーキテクチャのみを指定しています。
Origin: apt.site.com
Label: apt repository
Codename: precise
Architectures: AMD64 source
Components: main
Description: debian package repo
SignWith: yes
Pull: precise
sources.list
ファイルに[Arch=AMD64]
を含むエントリを含めることでエラーを回避します
deb [Arch=AMD64] https://apt.site.com/repo precise main
ただし、sources.list
ファイルで指定する必要はありません。 AMD64アーキテクチャ用にコンパイルされた.debファイルのみを期待するようにレポジトリからファイルをプルしようとするクライアントに伝えるために、リポジトリに設定できるものはありますか?
AMD64システムでは、aptはAMD64パッケージとi386パッケージの両方を取得しようとします。これは(少なくとも部分的に)i386パッケージはAMD64にインストール可能であり、一部のアプリケーションとライブラリはi386のみであるためです(Skypeが思い浮かびます)。したがって、aptはi386パッケージのリストも取得する必要があります。したがって、そのエラーが発生します。
サーバー側の何かについては、1つの方法は、構成ファイルを編集してi386も許可し、reprepro -Vb . export
を実行することです。これにより、空のi386リリースおよびパッケージファイルが作成されます。