我正在使用HashiCorp封隔器来构建一个新的AMI。我想预装NTP客户端时间(它在我们的组织中很受欢迎,它将得到我们团队之外的人的配置支持)。但是当我使用AMI
apt-get update
apt-get install -y chrony
我得到了
Package 'chrony' has no installation candidate
与packer构建日志中的其他一些感兴趣的部分:
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
。如果我将它从packer环境中删除(编辑以删除cat
内联注释):
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。
当从packer运行时,apt有不同的规则来解决依赖关系吗?
发布于 2020-06-18 12:56:25
您在/etc/apt/sources.list
中的软件源代码看起来不错,但是为了节省时间,您可以使用apt手动下载并安装它。打开终端并键入:
apt download chrony
sudo apt install ./chrony_3.2-4ubuntu4.4_amd64.deb
如果这样做不起作用,请尝试使用以下命令安装try:
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
发布于 2020-08-11 19:31:32
我最近还得找出这个奇怪的错误。在您的情况下可能不一样,但是我们遇到了一个问题,在cloud-init
完成配置之前,有些软件包无法安装。如果您在安装包之前运行该HCL2代码,那么它应该可以做到这一点:
# Waiting for cloud-init --------------
provisioner "shell" {
inline = [
"/usr/bin/cloud-init status --wait"
]
}
https://unix.stackexchange.com/questions/593444
复制相似问题