![주어진 바이너리를 포함하는 패키지 이름을 가져옵니다.](https://linux55.com/image/71247/%EC%A3%BC%EC%96%B4%EC%A7%84%20%EB%B0%94%EC%9D%B4%EB%84%88%EB%A6%AC%EB%A5%BC%20%ED%8F%AC%ED%95%A8%ED%95%98%EB%8A%94%20%ED%8C%A8%ED%82%A4%EC%A7%80%20%EC%9D%B4%EB%A6%84%EC%9D%84%20%EA%B0%80%EC%A0%B8%EC%98%B5%EB%8B%88%EB%8B%A4..png)
특정 바이너리(또는 다른 프로그램)의 이름입니다. 어떤 패키지가 이 바이너리를 제공하는지 어떻게 알 수 있나요?
노트:패키지 관리를 위해 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
. 정보는 약간 오래되었지만(데이터베이스는 기본적으로 밤마다 업데이트됨) 쿼리 작업이 더 빠릅니다.