![내 Linux 배포판에서 명령을 사용할 수 있는지 어떻게 알 수 있나요?](https://linux55.com/image/94219/%EB%82%B4%20Linux%20%EB%B0%B0%ED%8F%AC%ED%8C%90%EC%97%90%EC%84%9C%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%8A%94%EC%A7%80%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%95%8C%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
우리는 일부 Linux용 USB 제품에 대한 일부 드라이버를 제공하고 있습니다. 드라이버 코드에서 배포판에 구애받지 않도록 하려면 배포판 이름을 동적으로 가져와야 하며 런타임에 각 대상 배포판에서 라이브러리를 사용할 수 있는지 여부를 찾아야 합니다.
이를 위해서는 ldconfig, pkg-config 등과 같은 몇 가지 명령을 실행해야 합니다. 이 질문은 다음과 관련이 있습니다.이것. 따라서 답변에 따라 일부 배포판에는 명령이 있을 수 있으며 해당 명령을 실행하기 전에 배포판에서 이러한 명령을 사용할 수 있는지 확인하는 것이 좋습니다.
따라서 문제는 이러한 명령을 사용할 수 있는지 확인하는 것입니다. 실행 파일이 존재하는지 확인하려고합니다. 예를 들어,
if [ -f /usr/bin/pkg-config ] ; then
이를 수행하는 다른 더 좋은 방법이 있습니까?
답변1
나는 이렇게 할 것이다:
if type pkg-config >/dev/null 2>/dev/null; then …
pkg-config
하지만 이전 질문 에 대해 언급했듯이 pkg-config
. Debian 및 RedHat 패키지에는 모두 특정 라이브러리/버전 설치를 요구하는 조항이 있습니다.
패키징은 여러 다른 배포판에 대해서도 장치 드라이버를 만드는 작업에 비하면 아무 것도 아닙니다.