![현재 배포판이 Debian 기반인지 여부를 쉘 스크립트에서 어떻게 확인할 수 있나요? [복사]](https://linux55.com/image/98071/%ED%98%84%EC%9E%AC%20%EB%B0%B0%ED%8F%AC%ED%8C%90%EC%9D%B4%20Debian%20%EA%B8%B0%EB%B0%98%EC%9D%B8%EC%A7%80%20%EC%97%AC%EB%B6%80%EB%A5%BC%20%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%99%95%EC%9D%B8%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
나는 시스템이 실제로 데비안 기반인지를 알아야 하는 쉘 스크립트를 작성해 왔습니다. 이제 나는 보았다이것질문이 있지만 그 답변은 그다지 도움이 되지 않습니다. 나는 체크섬 /etc/os-release
의 출력을 알고 있으며, 마찬가지로 명령 이 있는지 확인하는 것이 배포판이 Red Hat 또는 Debian을 기반으로 하는지 확인하는 또 다른 방법이라는 것을 lsb_release
알고 있습니다 . 그러나 이러한 방법에는 모두 결함이 있습니다. 수백 가지의 다양한 Debian 기반 배포판(자체가 Debian 기반인 Ubuntu 기반 배포판 포함)이 있습니다. 내부 또는 출력의 필드가 알려진 수백 개의 Debian 기반 배포판과 일치하는지 확인하세요. 그중 하나를 일치시키는 데 시간이 오래 걸립니다. . 어떤 사람들은 다양한 이유로 다른 배포판에서 패키지 관리자를 설치하기 때문에 dpkg 및 rpm 명령이 있는지 확인하는 것 역시 완벽하지는 않습니다. 예를 들어, 내 Ubuntu 컴퓨터에는 RPM이 설치되어 있는데, 이는 부분적으로 RPM이 필요한 Open Build Service의 OSC 명령을 사용하기 때문이기도 합니다.rpm
dpkg
NAME
/etc/os-release
Distributor ID
lsb_release -a
간단히 말해서, 내 스크립트가 배포된 배포판이 데비안 기반인지 확인(결정)하는 간단하고 빠른 방법을 원합니다. 가능합니까?
편집하다: 이 질문에 투표한 사람들이 암시하는 것처럼 /etc/debian_version은 모든 데비안 기반 시스템에 존재합니다. 이에 대한 증거가 있는 사람이 있나요?
답변1
/etc/debian_version
모든 데비안 파생 제품에는 Essential에서 제공하는 이 기능이 있어야 합니다 .base-files
팩. 중요하므로 설치에 의존할 수 있으므로 이 파일도 존재합니다.
파생상품이 파일을 삭제하는 것을 막을 수 있는 방법이 없기 때문에 "해야 한다"라고 말하지만, 제가 아는 한에는 막을 수 있는 방법이 없습니다. 바라보다리눅스 민트에는 /etc/debian_version이 있나요?자세한 내용은.