私はソルト(SaltStack)を使用してUbuntu 18.04にパッケージをインストールしています。 dockerの式 などをインストールしたい。 docker
状態を適用すると、式で使用されているパッケージリポジトリが署名されていないため、パッケージをインストールできないというエラーが表示されます。
ID: docker package
Function: pkg.installed
Name: docker-engine
Result: False
Comment: An error was encountered while installing package(s): E: Failed to fetch https://apt.dockerproject.org/repo/dists/ubuntu-bionic/InRelease 403 Forbidden [IP: 13.33.98.216 443]
E: The repository 'https://apt.dockerproject.org/repo ubuntu-bionic InRelease' is not signed.
別の数式を使用しているときにも同じことが起こります。
コマンドラインから手動でパッケージをインストールする場合は、--allow-unauthenticated
オプション。
しかし、ソルトとソルト式を使用しているときにこの問題を解決する方法は何ですか?署名されていないリポジトリからパッケージをインストールするにはどうすればよいですか?
パッケージ検証を無効にすることは、どのようなシナリオでも非常に悪い考えです。 Dockerリポジトリは、Ubuntuパッケージ署名標準に完全に準拠しており、それらを検証するためのGPGキーを公開しています。手動でシステムに追加できます。
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | Sudo apt-key add -
しかし、これはここでの主要な問題ではありません-参照しているソルトルールが古く、誤ったDockerリポジトリURLを設定しているためです-最近のインストールスクリプトでは、それを https://apt.dockerprojectから変更しました.org/repo to https://download.docker.com/linux/ubuntu/ そして、古いミラーは機能しているようですが、新しいリリースの署名ファイルはそうではありませんaptを混乱させるそこで利用可能です。
したがって、Ansibleを使用しています(申し訳ありませんが、Saltはわかりません)。
- apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
- apt_repository:
repo: 'deb https://download.docker.com/linux/ubuntu/ bionic stable'
- apt: name=docker-ce