如果我跑
docker run -it --rm --entrypoint=/bin/bash fedora:latest
dnf install moreutils
有用。
如果我运行:
19:57:34:~/ $ docker run -it --rm --entrypoint=/bin/bash public.ecr.aws/lambda/provided:al2023
bash-5.2# dnf install moreutils
dnf install moreutils
Downloading metadata...
error: No package matches 'moreutils'
bash-5.2#
事实并非如此。为什么?
这些说明参考 AL2:https://stackoverflow.com/questions/37951437/installing-moreutils-on-ec2-instance,不适用于 Al2023,并且启用建议的存储库似乎也没有做任何有用的事情:
22:46:20:~/ $ docker run -it --rm --entrypoint=/bin/bash public.ecr.aws/lambda/provided:al2023
bash-5.2# dnf --enablerepo epel install moreutils
dnf --enablerepo epel install moreutils
error: repo epel not found
bash-5.2#
AL2023 基于 Fedora。您链接的问题实际上涉及 AL1,它基于 RHEL 6。似乎没有任何版本的 AL 包含 moreutils,这就是为什么其他问题建议从 EPEL 获取它。EPEL 没有明确支持 AL,但有时可以在 AL1 和 AL2 上运行,因为它们松散地基于 RHEL。 AL2023 与 EPEL 软件包的差异太大,无法正常工作。
amazon -linux-2023 GitHub 存储库接受问题报告并具有包请求模板。已经有人请求moreutils。所以此时你的选择是: