특정 바이너리(또는 다른 프로그램)의 이름입니다. 어떤 패키지가 이 바이너리를 제공하는지 어떻게 알 수 있나요?
노트:패키지 관리를 위해 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
. 정보는 약간 오래되었지만(데이터베이스는 기본적으로 밤마다 업데이트됨) 쿼리 작업이 더 빠릅니다.