찾고있는 파일을 제공하는 rpm 패키지를 어떻게 찾습니까?
예를 들어 패키지 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
참고 :이 명령을 루트로 실행할 필요는 없습니다 (와 반대로 sudo yum whatprovides myfilename
).
가장 인기있는 답변은 불완전합니다.
이 검색은 일반적으로 설치된 패키지의 파일에 대해서만 수행되므로 모든 외부 저장소를 비활성화하여 yum 이 제공하는 내용을 매우 빠르게 만듭니다 (암시 적 "설치된"저장소를 비활성화 할 수 없음).
yum --disablerepo=* whatprovides <file>
인터넷 (리포지토리)에 연결할 때 패키지를 찾는 것은 쉽지만 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
http://www.rpmfind.net으로 이동 하여 파일을 검색하십시오.
많은 다른 배포판과 버전에 대한 결과를 얻을 수 있지만 Fedora 및 / 또는 CentOS도 팝업되어 yum과 함께 설치할 패키지 이름을 알 수 있습니다
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가 가장 적합한 것을 선택할 수 있습니다.
'IT story' 카테고리의 다른 글
offsetHeight, clientHeight, scrollHeight 란 무엇입니까? (0) | 2020.05.08 |
---|---|
제약 조건을 일시적으로 해제 (MS SQL) (0) | 2020.05.08 |
jQuery를 사용하여 입력 필드 유형 변경 (0) | 2020.05.08 |
Angular 4 : 컴포넌트 팩토리를 찾을 수 없습니다. @ NgModule.entryComponents에 추가하셨습니까? (0) | 2020.05.08 |
트위터 부트 스트랩 3 스티커 바닥 글 (0) | 2020.05.08 |