解決策 1:
特定のディストリビューションがベースにしている RHEL のバージョンを推測する代わりに、以下を実行してください:
rpm -E %{rhel}
Amazon Linux 2 の場合、これにより 7
が得られます。 .
解決策 2:
AWS フォーラムには、公式にサポートされている Amazon Linux AMI がどの Linux ディストリビューションにも基づいていないことを示すディスカッション スレッドがあります。むしろ、Amazon Linux AMI は、Amazon によって独立して維持されているイメージです。
解決策 3:
RHEL に基づいているようです:
$ cat /etc/os-release
NAME="Amazon Linux AMI"
VERSION="2017.09"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2017.09"
PRETTY_NAME="Amazon Linux AMI 2017.09"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2017.09:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
freedesktop は「ID_LIKE」について次のように述べています:
<ブロック引用>パッケージ化およびプログラミング インターフェイスに関してローカル オペレーティング システムに密接に関連するオペレーティング システムの識別子をリストする必要があります。たとえば、ローカル OS の派生元である 1 つまたは複数の OS 識別子をリストします。
ローカル OS の派生元である 1 つ以上の OS 識別子をリストする
RHEL/CentOS7 を見ると、同じファイルは次のようになります。
$ cat /etc/os-release
...
ID_LIKE="fedora"
...
それでも、Amazon Linux はまだ yum
を備えています dnf
なし 洞察;変。憶測により、Amazon が サポート しているという理論を支持するようになりました。 RH とのアップストリーム契約。
RHEL 5/6 をベースにしている可能性は非常に低いようです。
<オール>それは怠惰で愚かなことです。通常、Amazon のエンジニアのせいにしない 2 つのこと。それを判断する 1 つの方法は、RHEL7 の最新バージョン、ドライバー、カーネル セキュリティ パッチなどにのみ存在するものを分離し、Amazon Linux で同じテストを実行することです。存在するか、存在しないかのどちらかです。
無責任ではありませんが、RHEL6x を使用する正当な理由もありません。
解決策 4:
少し遅れましたが、実行できます:
cat /proc/version
そしてあなたに言うでしょう:
Linux version 4.14.173-137.229.amzn2.x86_64 ([email protected]) (gcc version 7.3.1 20180712 (Red Hat 7.3.1-6) (GCC)) #1 SMP Wed Apr 1 18:06:08 UTC 2020
この場合は RedHat 7 です。
解決策 5:
/usr/local/bin/composer の代わりに、CentOS 7 である /usr/bin/composer を使用する必要があるファイル構造に基づく