저는 대부분의(또는 이상적으로는 모든) 최신 배포판에 작동하는 Linux 배포판 이름과 버전을 확인하는 방법을 찾으려고 노력하고 있습니다. 여기 /etc/os-release
에는 제가 시도한 배포판(CentOS, Debian)에 필요한 정보가 포함되어 있다는 것을 알았습니다 . 하지만 그 존재에 의존하는 것이 얼마나 안전합니까? 이와 같은 명령은 uname -a
실제로 동일한 정보를 포함하지 않으며 lsb_release
최소한의 CentOS에는 분명히 존재하지 않습니다.
배포판에 무엇이 포함되어 있는지 정확하게 알아낼 수 있는 빠른 방법이 있습니까 /etc/os-release
? 또한 , 및 필드가 /etc/os-release
포함되어 있는지 보장됩니까 ?NAME
VERSION
PRETTY_NAME
답변1
systemd를 실행하는 모든 시스템에는 다음이 /etc/os-release
있어야 합니다.지정됨systemd의 일부로. systemd가 없는 일부 시스템에도 이 기능이 있을 수 있습니다(예를 들어Debian 8, 여기서 systemd는 선택 사항이지만 /etc/os-release
모든 경우에 설치됩니다.
사양에 따르면 모든 필드는 선택 사항이며 일부 필드에는 기본값이 있습니다("Linux"는 NAME
및 를 의미함 PRETTY_NAME
).
더 많은 배경 정보를 확인할 수 있습니다./etc/os-release
발표.