예를 들어, 패키지 mod_files.sh
와 함께 제공 되는 파일을 찾고 php-devel
있습니다. 패키지 와 함께 파일을 yum
설치 한다고 생각 했지만 파일이 파일 시스템에 설치되지 않은 것으로 보입니다.mod_files.sh
php-devel x86_64 5.1.6-23.2.el5_3
어떤 파일이 특정 파일을 설치하는지 어떻게 알 수 있습니까? 필자가 찾고있는 파일을 포함 할 수있는 패키지를 이미 로컬로 다운로드하지 않은 곳을 찾고 있습니다.
CentOS 5를 사용하고 있습니다.
답변
이것은 오래된 질문이지만 현재 답변이 잘못되었습니다 🙂
원하는 파일의 절대 경로 (와일드 카드로 표시 될 수 있음)와 함께 yum whatprovides를 사용하십시오 . 예를 들면 다음과 같습니다.
yum whatprovides '*bin/grep'
보고
grep-2.5.1-55.el5.x86_64 : The GNU versions of grep pattern matching utilities.
Repo : base
Matched from:
Filename : /bin/grep
패키지 repoquery
에서 제공되는 도구 의 출력 및 속도를 선호 할 수 있습니다 yum-utils
.
sudo yum install yum-utils
repoquery --whatprovides '*bin/grep'
grep-0:2.5.1-55.el5.x86_64
grep-0:2.5.1-55.el5.x86_64
repoquery
패키지 내용, 종속성, 역 의존성 등의 다른 쿼리를 수행 할 수 있습니다.
답변
패키지가 이미 설치된 파일을 소유 (또는 제공)하는 방법을 알려면 :
rpm -qf myfilename
답변
가장 인기있는 답변은 불완전합니다.
이 검색은 일반적으로 설치된 패키지의 파일에 대해서만 수행되므로 모든 외부 저장소를 비활성화하여 yum 이 제공하는 내용을 매우 빠르게 만듭니다 (암시 적 “설치된”저장소를 비활성화 할 수 없음).
yum --disablerepo=* whatprovides <file>
답변
http://www.rpmfind.net으로 이동 하여 파일을 검색하십시오.
많은 다른 배포판과 버전에 대한 결과를 얻을 수 있지만 Fedora 및 / 또는 CentOS도 팝업되어 yum과 함께 설치할 패키지 이름을 알 수 있습니다
답변
인터넷 (리포지토리)에 연결되어있을 때 패키지를 찾는 것은 쉽지만 Redhat 또는 Centos DVD 내부의 RPM 패키지에만 액세스 할 수있는 경우 (이는 서버를 복구하고 응용 프로그램이 필요할 때 자주 발생합니다) 아래 명령을 사용하여 인터넷 및 저장소와 완전히 독립적입니다. DVD에 많은 제거 된 패키지가있을 수 있습니다. ~ / cent_os_dvd에 Package 폴더를 마운트하고 “시니 지”를 제공하는 패키지를 찾고 있다고 가정하면 다음을 실행할 수 있습니다.
for file in `find ~/cent_os_dvd/ -iname '*.rpm'`; do rpm -qlp $file |grep '.*bin/semanage'; if [ $? -eq 0 ]; then echo "is in";echo $file ; fi; done
답변
rpm 유틸리티 만 사용하면 rpm이있는 모든 OS에서 작동합니다.
rpm -q --whatprovides [file name]
답변
여기에서도 패키지와 함께이 작업을 수행 할 수 있습니다. 내 경우에는lsb_release
운영: yum whatprovides lsb_release
응답:
redhat-lsb-core-4.1-24.el7.i686 : LSB Core module support
Repo : rhel-7-server-rpms
Matched from:
Filename : /usr/bin/lsb_release
redhat-lsb-core-4.1-24.el7.x86_64 : LSB Core module support
Repo : rhel-7-server-rpms
Matched from:
Filename : /usr/bin/lsb_release
redhat-lsb-core-4.1-27.el7.i686 : LSB Core module support
Repo : rhel-7-server-rpms
Matched from:
Filename : /usr/bin/lsb_release
redhat-lsb-core-4.1-27.el7.x86_64 : LSB Core module support
Repo : rhel-7-server-rpms
Matched from:
Filename : /usr/bin/lsb_release`
설치를 위해 실행 : yum install redhat-lsb-core
패키지 이름은 번호와 시스템 유형이 없어야하므로 yum packager가 가장 적합한 것을 선택할 수 있습니다.