우리 사무실에는 자체 맞춤형 Linux 운영 체제를 실행하는 몇 가지 새로운 하드웨어가 있습니다.
어떤 배포판을 기반으로 하는지 어떻게 결정합니까?
답변1
이와 매우 유사한 질문이 Unix.Stackexchange에 게시되었습니다.여기
Giles
꽤 완벽합니다 | 그가 설명하는 방식에 대한 대답은 매우 멋집니다.
# cat /proc/version
Linux version 2.6.32-71.el6.x86_64 ([email protected]) (gcc version 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC) ) #1 SMP Fri May 20 03:51:51 BST 2011
# uname -a Linux system1.doofus.local 2.6.32-71.el6.x86_64 #1 SMP 금요일 5월 20일 03:51:51 BST 2011 x86_64 x86_64 x86_64 GNU/Linux
# cat /etc/issue
CentOS Linux release 6.0 (Final)
Kernel \r on an \m
cat /proc/config.gz
cat /usr/src/linux/config.gz
cat /boot/config*
몇 가지 확인을 했지만 SUSE를 제외하고는 그다지 신뢰할 수 없습니다.
# zcat /proc/config.gz grep -i 커널 | CONFIG_SUSE_KERNEL=y # CONFIG_KERNEL_DESKTOP이 설정되지 않았습니다. CONFIG_LOCK_KERNEL=y
(/etc
Unix.com에서)
- Novell SuSE---> /etc/SuSE-release
- Red Hat --->/etc/redhat-release, /etc/redhat_version
- Fedora-->/etc/fedora-release
- 슬랙웨어--->/etc/slackware-release, /etc/slackware-version
- 이전 데비안--->/etc/debian_release, /etc/debian_version
- 새로운 데비안--->/etc/os-release
- 맨드레이크 --->/etc/mandrake-release
- 노란 개-->/etc/yellowdog-release
- Sun JDS--->/etc/sun-release
- 솔라리스/스팍--->/etc/release
- 젠투--->/etc/gentoo-release
Unix.com 링크에는 누군가가 검사를 자동화하기 위해 작성한 bash 스크립트도 있습니다.
어떤 패키지 관리자를 가지고 있는지 알아내는 것이 좋은 단서입니다.
rpm
yum
apt-get
zypper
+더보기
그러나 공급업체가 원하는 것은 무엇이든 사용할 수 있으므로 결코 완벽하지는 않습니다. 그것은 실제로 시작점을 제공합니다.
# dmesg | Linux 버전 2.6.32.12-0.7-default (geeko@buildhost) (gcc 버전 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux) ) #1 SMP 2010-05-20 11:14:20 +0200
cat /proc/version
&와 거의 동일한 정보uname
답변2
다음을 사용하고 싶을 것입니다:
$ cat /etc/*-release
다음과 유사한 응답을 받게 됩니다.
$ cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=11.10
DISTRIB_CODENAME=oneiric
DISTRIB_DESCRIPTION="Ubuntu 11.10"
답변3
첫 번째 추측으로 시도해 보십시오 lsb_release -a
. 예를 들어 Arch Linux 시스템에서는 다음을 제공합니다.
LSB 버전: N/A
게시자 ID: archlinux
설명: Arch Linux
버전: Rolling
코드명: N/A
그러나 이것이 실패할 수 있으므로 검색해야 합니다 /etc
(대개 이름이 로 끝나는 파일 내부에 있을 가능성이 높습니다 -release
). 도움이 될 수도 있습니다 cat /etc/issue
.