Ubuntu Bionic 中缺少 chrony 软件包

Ubuntu Bionic 中缺少 chrony 软件包

我正在使用 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 在 bionic 发行版中,它在这里有一个包页面: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"
  ]
}

相关内容