获取 token 后这里并尝试启用 livepatch:
sudo canonical-livepatch enable XXXXXXXXXXXXXXXXXX
我收到以下错误消息:
2020/08/31 17:19:57 error executing enable: cannot enable machine: bad temporary server status 500 (URL: https://livepatch.canonical.com/api/machine-tokens) server response: machine token already exists
我该如何解决这个问题并启用 Canonical livepatch?
Ubuntu 详细信息:
NAME="Ubuntu"
VERSION="20.04.1 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.1 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
答案1
编辑(近 2 年后):这是核选项,尽管我不知道它是否造成了任何实际问题。请先尝试简单的禁用并重新启用。如果失败,请尝试snap remove
和snap install
步骤。如果前两件事无法解决问题,请继续阅读:
我今天遇到了同样的问题,并通过执行以下操作解决了该问题:
- 通过 GUI 或
canonical-livepatch disable
以 root身份运行禁用 Livepatch - 以 root 身份卸载 Livepatch
snap remove canonical-livepatch
(可选。先尝试不执行此操作) - 以 root 身份运行该命令
rm /etc/machine-id
以删除您当前的机器 ID(如果它说文件或目录不存在,您可以放心地忽略它) - 以 root身份运行命令
systemd-machine-id-setup
以重新生成 ID - 以 root 身份重新安装 Livepatch
snap install canonical-livepatch
(如果你之前删除过它) - 要么从https://auth.livepatch.canonical.com并按照那里的说明重新启用或使用 Livepatch GUI
如果这对您有用,请将此答案标记为正确,以便我获得足够的声誉来做事。
编辑:@scoobydoo 必须rm /etc/machine-id /var/lib/dbus/machine-id
在步骤 3 中运行。
答案2
除非绝对必要,否则不要重新生成您的机器 ID:您可能只需要卸载并重新安装实时补丁。假设您已经通过 GUI 或命令行禁用它(系统应该会提示您输入 sudo 密码):
snap remove canonical-livepatch
snap install canonical-livepatch
按下搜索键(许多键盘上的 Windows 键),搜索 Livepatch,然后再次从 GUI 启用。这对我有用,我不需要重新生成、删除并重新制作机器 ID。
答案3
我刚刚做了以下操作,因为已经有一个令牌,这是我在 18.04 m/c 上第一次安装时保存的。
sudo canonical-livepatch disable # to remove old UUID stuff
sudo canonical-livepatch enable xxxxxxxxxxxxxxxxxxxxxxxxxxxx
并得到了以下回应
Successfully disabled device. Removed machine-token: xxxxxxxxxxxxxxxxxxxxxxxxxxx
$ sudo canonical-livepatch enable xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Successfully enabled device. Using machine-token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
答案4
如果您正在使用 VPN,请确保断开与 VPN 的连接。这导致了我出现此问题。