我希望任何人都有使用 EC2 的经验。我处于困境中。
我意外地从我的 Amazon Linux 2 实例中删除了 glibc。好吧,这并非完全是意外,我当时正试图用官方 Amzn2 repo 包替换我已有的包(我之前曾尝试通过 rpm 手动升级它)。
尽管我以前做过,但我还是遵循了以下指南:https://www.rootusers.com/how-to-repair-an-aws-ec2-instance-without-console/
我创建了一个新的 Amazon Linux 2 实例,从我制作的快照中挂载了一个新卷,挂载了 dev/nvme1n1p1 并进行了 chroot。修复了 glibc 和 yum。执行了 yum distro-sync(现在没有问题了)。我小心地卸载了所有内容。关闭实例。创建了一个新快照。从该快照中创建了一个新卷。将该卷作为 dev/xvda 挂载到我的第一个(损坏的)实例。但它不起作用。通过了 1/2 系统检查(就像过了很长时间之后一样),无法访问。查看了内核日志,但没有发现任何异常。我尝试重新连接弹性 IP。
我甚至尝试在修复后直接以 root 身份将固定卷安装到我的临时实例。仍然没有成功。甚至尝试从快照创建 AMI。我真诚地感谢任何帮助,我不知道该怎么做。
答案1
好的,如果有人在切换至 Amazon Linux 2 实例时遇到问题,尽管主机也是 Amazon Linux 2 实例(即相同的架构)。只需将缺少的库复制到 /mnt/lib64 中。如果需要该目录进行修复,则不要挂载它。
例如# cp -n /lib64/* /mountpoint/lib64/