HashiCorp Packerを使用して新しいAWS AMIを構築しています。 NTPクライアントChronyをプレインストールしたいと思います(私たちの組織で人気があり、私たちのチーム外の人々の構成サポートがあります)。しかし、AMIを使用して実行すると
apt-get update
apt-get install -y chrony
わかりました。
Package 'chrony' has no installation candidate
パッカービルドログの他の興味深い内容は次のとおりです。
amazon-ebs: Reading package lists...
amazon-ebs: Building dependency tree...
amazon-ebs: Reading state information...
amazon-ebs: Package chrony is not available, but is referred to by another package.
amazon-ebs: This may mean that the package is missing, has been obsoleted, or
amazon-ebs: is only available from another source
これは奇妙で、私はそれに触れませんでした/etc/apt/sources.list
。cat
パッケージング環境からインポートすると、次のようになります(Ubuntuインラインコメントを削除するように編集されます)。
amazon-ebs: deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ bionic main restricted
amazon-ebs: deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ bionic-updates main restricted
amazon-ebs: deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ bionic universe
amazon-ebs: deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ bionic-updates universe
amazon-ebs: deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ bionic multiverse
amazon-ebs: deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
amazon-ebs: deb http://us-west-2.ec2.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
amazon-ebs: deb http://security.ubuntu.com/ubuntu bionic-security main restricted
amazon-ebs: deb http://security.ubuntu.com/ubuntu bionic-security universe
amazon-ebs: deb http://security.ubuntu.com/ubuntu bionic-security multiverse
これほどあれば見つけることができると思いますかchrony
?また、chronyがバイオテクノロジーのディストリビューションに含まれていることを確認しました。ここにパッケージページがあります。https://packages.ubuntu.com/bionic/chrony。
パッカーで実行するとき、aptに依存関係を解決するための他の規則はありますか?
答え1
あなたのソフトウェアソースは/etc/apt/sources.list
良く見えますが、時間を節約するためにaptを使用してchronyを手動でダウンロードしてインストールすることができます。端末を開き、次のように入力します。
apt download chrony
sudo apt install ./chrony_3.2-4ubuntu4.4_amd64.deb
それでも機能しない場合は、次のようにchronyをインストールしてみてください。
wget -c http://mirrors.kernel.org/ubuntu/pool/main/c/chrony/chrony_3.2-4ubuntu4_amd64.deb
sudo apt install ./chrony_3.2-4ubuntu4_amd64.deb
答え2
私も最近この奇妙なバグを見つけなければなりませんでした。状況は異なる場合がありますが、cloud-init
構成が完了するまで一部のパッケージをインストールできないという問題が発生しています。パッケージをインストールする前にこのHCL2コードを実行すると、問題が解決します。
# Waiting for cloud-init --------------
provisioner "shell" {
inline = [
"/usr/bin/cloud-init status --wait"
]
}