os-release 標準の使用 - Amazon Linux 2

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

os-release 標準の使用

Amazon Linux は、Linux ディストリビューションを識別するための os-release 標準に準拠しています。このファイルは、オペレーティングシステムの識別とバージョンに関する機械読み取り可能な情報を提供します。

注記

標準では、最初に /etc/os-release を解析し、次に /usr/lib/os-release を解析するよう規定してします。ファイル名とパスに関しては、標準に従うよう注意する必要があります。

識別の主な違い

os-release/etc/os-release にあります。そこにない場合は /usr/lib/os-release にあります。詳細については、os-release 標準を参照してください。

インスタンスが Amazon Linux を実行しているかどうかを判断する最も信頼性の高い方法は、os-releaseID フィールドを確認することです。

バージョンを区別する最も信頼性の高い方法は、os-releaseVERSION_ID フィールドを確認することです。

  • Amazon Linux AMI: VERSION_ID は日付ベースのバージョン (例: 2018.03) を示します。

  • AL2: VERSION_ID="2"

  • AL2023: VERSION_ID="2023"

注記

VERSION_ID はプログラムによる使用を目的とした機械読み取り可能なフィールドであり、PRETTY_NAME はユーザーへの表示用に設計されていることに注意してください。フィールドタイプの詳細については、「フィールドタイプ: 機械読み取り可能なタイプと人間が読み取り可能なタイプの比較」を参照してください。

フィールドタイプ: 機械読み取り可能なタイプと人間が読み取り可能なタイプの比較

/etc/os-release ファイル (/etc/os-release が存在しない場合は /usr/lib/os-release) には、プログラムによる使用を目的とした機械読み取り可能なフィールドと、ユーザーへの表示を目的とした人間が読み取り可能なフィールドという 2 つのタイプのフィールドが含まれています。

機械読み取り可能なフィールド

標準化された形式を使用するフィールドであり、スクリプト、パッケージマネージャー、その他の自動ツールによる処理を目的としています。小文字、数字、限定された句読点 (ピリオド、アンダースコア、ハイフン) のみを使用できます。

  • ID – オペレーティングシステム識別子。Amazon Linux はすべてのバージョンで amzn を使用し、Debian (debian)、Ubuntu (ubuntu)、Fedora (fedora) などの他のディストリビューションと区別しています。

  • VERSION_ID – プログラムで使用するオペレーティングシステムのバージョン (例: 2023)

  • ID_LIKE – 関連するディストリビューションのスペース区切りリスト (例: fedora)

  • VERSION_CODENAME – スクリプトのリリースコード名 (例: karoo)

  • VARIANT_ID – プログラムで決定するバリアント識別子

  • BUILD_ID – システムイメージのビルド識別子

  • IMAGE_ID – コンテナ化された環境のイメージ識別子

  • PLATFORM_ID – プラットフォーム識別子 (例: platform:al2023)

人間が読み取り可能なフィールド

ユーザーへの表示を目的としたフィールドであり、スペース、大文字と小文字の混在、説明テキストを使用できます。ユーザーインターフェイスでオペレーティングシステム情報を表示するときに使用してください。

  • NAME – 表示用のオペレーティングシステム名 (例: Amazon Linux)

  • PRETTY_NAME – 表示用のバージョンを含む完全なオペレーティングシステム名 (例: Amazon Linux 2023.8.20250721)

  • VERSION – ユーザーへの表示に適したバージョン情報

  • VARIANT – 表示用のバリアント名またはエディション名 (例: Server Edition)

その他の情報フィールド

オペレーティングシステムに関する追加のメタデータを示すフィールドです。

  • HOME_URL – プロジェクトのホームページ URL

  • DOCUMENTATION_URL – ドキュメント URL

  • SUPPORT_URL – サポート情報 URL

  • BUG_REPORT_URL – バグレポート URL

  • VENDOR_NAME – ベンダー名

  • VENDOR_URL – ベンダー URL

  • SUPPORT_END – サポート終了日 (YYYY-MM-DD 形式)

  • CPE_NAME – 共通プラットフォーム列挙識別子

  • ANSI_COLOR – ターミナル表示用の ANSI カラーコード

Amazon Linux をプログラムで識別する必要があるスクリプトやアプリケーションを作成するときは、IDVERSION_ID などの機械読み取り可能なフィールドを使用します。ユーザーにオペレーティングシステム情報を表示するときは、PRETTY_NAME などの人間が読み取り可能なフィールドを使用します。

/etc/os-release の例

/etc/os-release ファイルの内容は Amazon Linux のバージョンによって異なります。

AL2023
[ec2-user ~]$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2023"
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2023"
PLATFORM_ID="platform:al2023"
PRETTY_NAME="Amazon Linux 2023.8.20250721"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
HOME_URL="https://aws.amazon.com/linux/amazon-linux-2023/"
DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/"
SUPPORT_URL="https://aws.amazon.com/premiumsupport/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
VENDOR_NAME="AWS"
VENDOR_URL="https://aws.amazon.com/"
SUPPORT_END="2029-06-30"
AL2
[ec2-user ~]$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"
SUPPORT_END="2026-06-30"
Amazon Linux AMI
[ec2-user ~]$ cat /etc/os-release
NAME="Amazon Linux AMI"
VERSION="2018.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2018.03"
PRETTY_NAME="Amazon Linux AMI 2018.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2018.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"

他のディストリビューションとの比較

Amazon Linux が広範な Linux エコシステムにどのように適合するかを理解するには、その /etc/os-release 形式を他の主要なディストリビューションと比較します。

Fedora
[ec2-user ~]$ cat /etc/os-release
NAME="Fedora Linux"
VERSION="42 (Container Image)"
RELEASE_TYPE=stable
ID=fedora
VERSION_ID=42
VERSION_CODENAME=""
PLATFORM_ID="platform:f42"
PRETTY_NAME="Fedora Linux 42 (Container Image)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:42"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f42/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=42
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=42
SUPPORT_END=2026-05-13
VARIANT="Container Image"
VARIANT_ID=container
Debian
[ec2-user ~]$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Ubuntu
[ec2-user ~]$ cat /etc/os-release
PRETTY_NAME="Ubuntu 24.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.2 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
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"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo

機械読み取り可能なフィールドは、ディストリビューション間を一貫した方法で識別することに注目してください。

  • ID – オペレーティングシステムを一意に識別: Amazon Linux 用の amzn、Fedora 用の fedora、Debian 用の debian、Ubuntu 用の ubuntu

  • ID_LIKE – ディストリビューションの関係を表示: Amazon Linux は fedora (AL2023) または centos rhel fedora (AL2) を使用、Ubuntu は Debian の伝統を示す debian を表示

  • VERSION_ID – 機械解析可能なバージョン情報を提供: AL2023 用の 2023、Fedora 用の 42、Debian 用の 12、Ubuntu 用の 24.04

対照的に、人間が読み取り可能なフィールドはユーザーへの表示用に設計されています。

  • NAME – ユーザーフレンドリーな OS 名: Amazon LinuxFedora LinuxDebian GNU/LinuxUbuntu

  • PRETTY_NAME – 完全な表示名とバージョン: Amazon Linux 2023.8.20250721Fedora Linux 42 (Container Image)Debian GNU/Linux 12 (bookworm)Ubuntu 24.04.2 LTS

  • VERSION – コード名やリリースタイプなどの追加のコンテキストを含む、人間が読み取り可能なバージョン

クロスプラットフォームスクリプトを記述する場合、ロジックと決定には常に機械読み取り可能なフィールド (IDVERSION_IDID_LIKE) を使用し、人間が読み取り可能なフィールド (PRETTY_NAMENAME) はユーザーに情報を表示する目的にのみ使用します。