Путеводитель по Руководству Linux

  User  |  Syst  |  Libr  |  Device  |  Files  |  Other  |  Admin  |  Head  |



   os-release    ( 5 )

идентификация операционной системы (Operating system identification)

  Name  |  Synopsis  |  Description  |  Options  |    Examples    |  See also  |  Note  |

Примеры (Examples)

Example 1. os-release file for Fedora Workstation

NAME=Fedora VERSION="32 (Workstation Edition)" ID=fedora VERSION_ID=32 PRETTY_NAME="Fedora 32 (Workstation Edition)" ANSI_COLOR="0;38;2;60;110;180" LOGO=fedora-logo-icon CPE_NAME="cpe:/o:fedoraproject:fedora:32" HOME_URL="https://fedoraproject.org/" DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f32/system-administrators-guide/" SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help" BUG_REPORT_URL="https://bugzilla.redhat.com/" REDHAT_BUGZILLA_PRODUCT="Fedora" REDHAT_BUGZILLA_PRODUCT_VERSION=32 REDHAT_SUPPORT_PRODUCT="Fedora" REDHAT_SUPPORT_PRODUCT_VERSION=32 PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" VARIANT="Workstation Edition" VARIANT_ID=workstation

Example 2. extension-release file for an extension for Fedora Workstation 32

ID=fedora VERSION_ID=32

Example 3. Reading os-release in sh(1)

#!/bin/sh -eu

test -e /etc/os-release && os_release='/etc/os-release' || os_release='/usr/lib/os-release' . "${os_release}"

echo "Running on ${PRETTY_NAME:-Linux}"

if [ "${ID:-linux}" = "debian" ] || [ "${ID_LIKE#*debian*}" != "${ID_LIKE}" ]; then echo "Looks like Debian!" fi

Example 4. Reading os-release in python(1)

#!/usr/bin/python

import ast import re import sys

def read_os_release(): try: filename = '/etc/os-release' f = open(filename) except FileNotFoundError: filename = '/usr/lib/os-release' f = open(filename)

for line_number, line in enumerate(f): line = line.rstrip() if not line or line.startswith('#'): continue if m := re.match(r'([A-Z][A-Z_0-9]+)=(.*)', line): name, val = m.groups() if val and val[0] in '"\'': val = ast.literal_eval(val) yield name, val else: print(f'{filename}:{line_number + 1}: bad line {line!r}', file=sys.stderr)

os_release = dict(read_os_release())

pretty_name = os_release.get('PRETTY_NAME', 'Linux') print(f'Running on {pretty_name}')

if 'debian' in [os_release.get('ID', 'linux'), *os_release.get('ID_LIKE', '').split()]: print('Looks like Debian!')