주어진 바이너리를 포함하는 패키지 이름을 가져옵니다.

주어진 바이너리를 포함하는 패키지 이름을 가져옵니다.

특정 바이너리(또는 다른 프로그램)의 이름입니다. 어떤 패키지가 이 바이너리를 제공하는지 어떻게 알 수 있나요?

노트:패키지 관리를 위해 apt/ 를 사용한다고 가정합니다 .dpkg

편집하다

아래의 정답 외에도 몇 가지 추가 정보를 추가하고 싶습니다. 위의 질문에서 나는해당 패키지가 설치되었습니다. 만약 이것이라면아니요apt-file이 경우 어쨌든 작업을 수행하는 패키지가 있습니다 .

다음으로 이 mysqldump도구를 검색하세요.

$ apt-file --regexp search .*mysqldump$

다음으로 이어진다:

mariadb-client-10.0: /usr/bin/mysqldump
mysql-client-5.5: /usr/bin/mysqldump

이 솔루션을 찾았습니다여기하지만 여기서 언급하는 것이 도움이 될 것이라고 생각했습니다.

답변1

당신이 원하는포장 백. 특히 이 -S옵션은 파일을 소유한 패키지를 찾습니다.

한 가지 예:

$ dpkg -S /usr/bin/whereis
util-linux: /usr/bin/whereis

이 예에서는 util-linux패키지에 가 포함되어 있음 을 보여줍니다 /usr/bin/whereis.

답변2

dpkg --search /usr/bin/mysqldump
dpkg -S /usr/bin/mysqldump

의 인수는 dpkg --search쉘 와일드카드 패턴이므로 다음과 같은 작업을 수행할 수 있습니다 dpkg -S bin/*dump.

또는 데이터베이스를 수동으로 검색할 수도 있습니다. 이는 단지 텍스트 파일일 뿐입니다.

grep mysqldump /var/lib/dpkg/info/*.list

많은 패키지가 설치된 시스템에서는 dpkg -S읽어야 하기 때문에 속도가 느려질 수 있습니다 /var/lib/dpkg/info.위치모든 파일과 동일한 방식으로 deb 패키지를 통해 설치된 파일을 색인화합니다 locate. 정보는 약간 오래되었지만(데이터베이스는 기본적으로 밤마다 업데이트됨) 쿼리 작업이 더 빠릅니다.

관련 정보