답변:
dpkg -S
명령을 찾고 있다고 생각합니다 ( dpkg에 자주 사용되는 옵션 참조 ).
dpkg -S
소스 (코드) 패키지의 이름과 다를 수있는 이진 패키지 이름을 찾습니다.
-S
의 짧은 형태 --search
가 실제로는 dpkg-query
명령에 대한 옵션입니다 (그러나 일반도 dpkg
작동합니다)
설치하지 않은 패키지에서 파일을 찾으려면 apt-file을 사용 하십시오.
apt-get install -y apt-file
apt-file update
그런 다음 무언가를 찾으십시오.
apt-file search /usr/bin/file
또는
apt-find search file
여기서 "file"은 검색하려는 이름입니다.
모든 데비안 시스템에서이 작업을 수행하고 싶지 않다면이 스크립트를 사용할 수 있습니다.
#!/bin/bash
which apt-get >/dev/null || { echo apt-get not found >&2; exit 1; }
which apt-file >/dev/null || { apt-get install -y apt-file; apt-file update; }
unset i; IFS=$'\x0a'; select i in $( apt-file search "/$@" ); do
test -n "$i" || break; apt-get install "${i%% *}"; done
나는 그때 그것을 채찍질했지만 잘 작동하는 것 같습니다.
참고 : "dpkg -S"는 이미 설치 한 항목 만 찾습니다.
-y
매개 변수를 사용하면 위험하므로 여러 가지 예를 말할 수 있습니다. 스크립트에서는 괜찮을지 모르지만 첫 번째 명령은 사용자 시스템의 모양을 알 수 없으므로 실제로 읽지 apt-get install apt-file
않아야합니다 -y
.
dpkg -S `which COMMANDHERE`
나를 위해 일했다.