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

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

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 を実行しているかどうかを判断する最も信頼性の高い方法は、 の IDフィールドを確認することですos-release

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

  • Amazon Linux AMI: 日付ベースのバージョン (例: 2018.03) VERSION_IDを含む

  • 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 – End-of-support YYYY-MM-DD

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

  • ANSI_COLOR – ターミナルディスプレイの ANSI カラーコード

Amazon Linux をプログラムで識別する必要があるスクリプトやアプリケーションを作成するときは、 IDや などの機械読み取り可能なフィールドを使用しますVERSION_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 – オペレーティングシステムを一意に識別します: amzn for Amazon Linux、 fedora for Fedora、 debian for Debian、 ubuntu for Ubuntu

  • ID_LIKE – ディストリビューション関係を示します。Amazon Linux は fedora (AL2023) または centos rhel fedora (AL2) を使用しますがdebian、Ubuntu は 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) を使用します。