CentOS에서 특정 명령이 속한 패키지를 찾는 방법은 무엇입니까?


19

예를 들어 찾기 명령이 mlocate.i386 패키지에 속하는 것을 쉽게 찾을 수 있습니다.

yum search locate
mlocate.i386 : An utility for finding files by name
[mirror@home /]$ rpm -qa | grep locate
mlocate-0.15-1.el5.1

yum search updatedb
Loaded plugins: fastestmirror, protectbase
0 packages excluded due to repository protections
=========================================== Matched: updatedb ===========================================
mlocate.i386 : An utility for finding files by name

그러나 어떤 패키지 프리 명령이 속하는지 찾기는 쉽지 않습니다.

yum search free   // this command just returns too much informationy 
rpm -qa | grep free
freetype-2.2.1-31.el5_8.1   // obviously not the package by which free command is installed

Linux에서 특정 명령이 속하는 패키지를 알 수있는 확실한 방법이 있습니까? 예를 들어 CentOS 또는 다른 배포판

답변:



24

free명령 패키지를 확인하는 데비안 / 데비안 예제 :

dpkg -S $(which free)

이것은 설치된 패키지에서만 작동합니다. 설치되지 않은 패키지에 적합한 것을 발견 했습니다$ dpkg -S */free$*
bobrobbob

@bobrobbob 정확하지 않은 것이 두렵습니다. 내가 테스트 dpkg -S */firefox$*하는 파이어 폭스가 설치된 파이어 폭스가없는 서버에 아무도이없는 서버에서 여러 결과를 제공합니다. dpkg로컬로 설치된 패키지에서 작동하는 명령 이기 때문에 작동하지 않는다고 생각 합니다. 설치되지 않은 패키지를 찾으려면 packages.ubuntu.com/…으로 이동 하십시오.
Jeroen Vermeulen-MageHost

어머. 당신이 맞아요, 미안 해요
bobrobbob

1
당신이 얻을 경우 때 dpkg - 쿼리 : 어떤 경로 패턴이 일치하는 발견 이 시도 : dpkg -S "$(readlink -fn "$(which free)")".
Pablo A

7

CentOS의 경우 yum은 어떤 기능을 제공합니까?

사용하다

which free 

그것이 어디에 있는지 알아 내기 위해

나에게있어

/ usr / bin / free

그럼 당신은 실행할 수 있습니다

yum provides /usr/bin/free

그리고 어떤 패키지가 있는지 알려줄 것입니다


경우 the command설치 또는 CentOS는 사용할 수 없습니다, 당신은 사용할 수 yum provides <command>있기 때문에, which <command>반환not <command> in ...
레인 Ouyang

1

모든 Red Hat 기반 배포에 대해 yum 패키지 관리 유틸리티를 사용할 수 있습니다

yum provides `which free`

제공 인수는 특정 기능 또는 파일을 제공하는 패키지를 지정합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.