it-swarm-ko.com

Ubuntu / Debian에서 파일이 속한 패키지를 찾으십니까?

필자는 종종 우분투 8.04 시스템에서 작업 할 때 프로그램, 맨 페이지 또는 다른 파일을 놓친다. 패키지가 이미 설치되어 있는지 여부에 상관없이 주어진 파일이 들어있는 패키지를 찾는 간단한 방법이 있습니까? apt 또는 dpkg에 대한 모호한 옵션이 있습니까?

292
Jay Conrod
apt-file search filename

또는

apt-file search /path/to/file


설치하려면 apt-file 을 사용하십시오.

Sudo apt-get install apt-file

데이터베이스를 사용하려면 먼저 데이터베이스를 업데이트해야합니다.

Sudo apt-file update
239
John T

(Debian/Ubuntu) 파일이 속한 패키지를 발견하십시오 :

dpkg -S /usr/bin/ls

'dpkg -S'는 사용자가 제공 한 문자열과 일치하므로 'ls'를 인수로 사용하면 파일 이름의 아무 곳에 나 'ls'가있는 패키지의 모든 파일과 일치합니다. 따라서 일반적으로 절대 경로를 사용하는 것이 좋습니다. 두 번째 예제에서 dpkg로 알려진 12,000 개의 파일이 맨체스터 문자열 'ls'과 일치 함을 볼 수 있습니다.

391
splattne

packages.debian.org 는이 작업을 수행하기 위해 항상 사용합니다. 그것은 파일 이름의 일부를 찾을 수 있기 때문에 apt-file보다 우수합니다. 또한 설명, 버그 등을 나열 할 주요 패키지 목록까지 링크되어 있습니다. 모두 훌륭한 웹 사이트입니다. 커맨드 라인만큼 유용하지는 않지만 여전히 유용합니다.

속도를 위해 URL에 북마크했습니다.

http://packages.debian.org/search?searchon=contents&keywords=%s&mode=filename&suite=unstable&Arch=any

파이어 폭스에서는 "debfind"를 키워드로 추가했다. (북마크 관리자에서 "더 자세히"를 클릭한다.) 그래서 "debfind"라고 입력하면된다. 다른 버전의 배포판의 경우 불안정한 상태에서 안정적인 상태로 변경하거나 원하는 경우 테스트 할 수 있습니다.

18
jamuraa

Dlocate를 사용할 수도 있습니다. 맨 페이지에서;

$ dlocate [ PATTERN ]
List all records where either the package name or the filename matches PATTERN.
11
jeremiah

와지 그 찾았 어 ...

wajig whichpackage /path/to/file 

예 :.

wajig whichpackage /etc/apt/sources.list

Wajig는 당신이 결코 배우고 싶지 않은 모든 apt-get, dpkg의 장점을 감싸는 편리한 명령 줄 또는 콘솔 도구입니다. .

와직 사용하기 :

apt-get install wajig

그 명령은 '패키지'자체가 apt-file에 의존합니다.

그것을 사용하기 전에 데이터베이스를 업데이트 할 필요가 있습니다 : - 아직 waptig update whixh가 apt-get 업데이트로 파일 캐시를 업데이트하더라도 모르겠지만 그렇게 할 것으로 기대합니다.

Sudo wajig update

Sudo apt-file update

(그리고 슈퍼 카우, 부활절 egss?!)

4
pete_m

데비안에 대한 jamuraa의 답변과 비슷하게 우분투의 경우 http://packages.ubuntu.com/ 로 이동할 수도 있습니다. "패키지 내용 검색"searchbox를 찾으려면 조금 아래로 스크롤해야합니다. 여기서 파일 경로를 입력 할 수 있습니다.

2
kiri

을 사용하여 파일을 검색해보십시오. http://www.kodkast.com/applications/find-which-package-file-belongs-to

이 응용 프로그램은 다른 rpms/linux 패키지에 들어있는 파일을 검색하는 데 사용되며 rpm이 시스템에 설치되어 있지 않은 경우에도 매우 유용합니다.

0
Ravi Agarwal

Command-not-found 패키지는 잠재적 인 명령과 debian 패키지의 이름에 대한 힌트를 제공합니다. bash 쉘에서 명령을 입력하고 출력을 보면 작동합니다.

예를 들어 명령 이름을 알고있는 경우 :

[email protected]:~ 10:45 $ zsh5
The program 'zsh5' is currently not installed.  To run 'zsh5' please ask
your administrator to install the package 'zsh'
zsh5: command not found

명령이 알려지지 않은 경우 일부 추측이 적용됩니다.

[email protected]:~ 09:46 $ zsh
No command 'zsh' found, did you mean:
 Command 'lsh' from package 'lsh-client' (main)
 Command 'osh' from package 'omake' (main)
 Command 'ysh' from package 'libyaml-Shell-Perl' (main)
 Command 'ssh' from package 'openssh-client' (main)
 Command 'vsh' from package 'crystalspace' (main)
 Command 'dsh' from package 'dsh' (main)
 Command 'ash' from package 'ash' (main)
 Command 'msh' from package 'nmh' (main)
 Command 'zssh' from package 'zssh' (main)
 Command 'qsh' from package 'gridengine-client' (main)
 Command 'sh' from package 'dash' (main)
 Command 'bsh' from package 'bsh' (main)
zsh: command not found
0
erwing