OpenSuSE에서 특정 파일을 제공하는 패키지를 찾는 방법은 무엇입니까?

OpenSuSE에서 특정 파일을 제공하는 패키지를 찾는 방법은 무엇입니까?

나는 Contents-<arch>.gz데비안과 같은 것을 생각하고 있습니다. 인터넷 서비스도 괜찮습니다. 존재합니까?

간략한 설명:exampletool예를 들어, 다른 배포판이나 운영 체제에서 잘 알려진 이라는 바이너리가 필요합니다 . 예를 들어 zypper를 사용하여 설치하려고 합니다. 하지만 zypper는 하나의 패키지만 설치할 수 있습니다. 어떤 패키지에서 필요한 바이너리를 찾을 수 있는지 알아내기 위해 exampletool실제로 검색을 수행해야 합니다.현재 설치되지 않았지만 저장소에서 사용할 수 있는 패키지 파일 목록. 데비안에는 단일 명령으로 필요한 패키지를 찾을 Contents-amd64.gz수 있는 패키지 저장소에 호출되는 인덱스 파일이 있습니다 . zgrep또한 OpenSUSE에 대한 유사한 단일 명령 솔루션을 찾고 있습니다. 그렇지 않은 경우 웹 서비스는 동일한 기능을 달성할 수 있습니다.

답변1

사용 가능한 모든 패키지를 검색하여 특정 파일을 찾으려면 옵션을 사용하거나 wpse --provides --match-exact를 들면 다음과 같습니다.

zypper se --provides --match-exact hg

다음과 유사한 출력이 표시됩니다.

Loading repository data...
Reading installed packages...

S | Name      | Summary                  | Type   
--+-----------+--------------------------+--------
  | mercurial | Scalable Distributed SCM | package

그때부터 표준 zypper 설치를 통해 패키지를 설치할 수 있습니다.

zypper in mercurial

zypper wp오래되어 더 이상 사용하지 못할 수도 있다는 점에 유의해야 합니다 .

답변2

미래의 Google 사용자를 위해: @SailorCire의 훌륭한 솔루션 외에도 scout거의 모든 것을 검색할 수 있는 도구가 있습니다. 주어진 Java 클래스 jar을 찾을 수 있는 것처럼 바이너리에 대한 rpm-s를 찾을 수 있습니다.

예를 들어 scout 명령을 사용하여 실행 파일을 bin제공하는 패키지를 찾을 수 있습니다.hg

scout bin hg

이 검색 결과는 mercurial패키지입니다.

 repository      | package   | path     | binary
-----------------+-----------+----------+--------
 zypp (repo-oss) | mercurial | /usr/bin | hg    

답변3

@Vicente Bolea보다 나중에 파티에 참석했지만 zypper se@SailorCire가 제안한 문서를 확인하여 해결책을 찾았습니다.

zypper search --file-list <filename>

또는 짧은 버전

zypper se -f <filename>

사용 가능한 패키지 파일 목록에서 검색

답변4

내 첫 번째 샷은 항상 cnf 일명 명령을 찾을 수 없습니다.

비명을 지르다

"yelp" 프로그램은 다음 패키지에서 찾을 수 있습니다:

  • yelp [경로: /usr/bin/yelp, 저장소: zypp (openSUSE-Leap-15.4-1) ]
  • yelp [경로: /usr/bin/yelp, 저장소: zypp (repo-oss) ]

다음 명령을 사용하여 설치해 보십시오: sudo zypper install yelp

사용 가능한 버전과 리포지토리를 추가로 확인하려면 opi(OBS 패키지 설치 프로그램(CLI))를 사용하여 openSUSE 및 SLES에 사용 가능한 거의 모든 패키지를 검색하고 설치하십시오.

$ 오피 비명

  1. 울다
  2. yelp-xsl
  3. 옐프 도구
  4. libyelp0
  5. 랭을 외치다
  6. yelp-devel은 숫자를 선택합니다(0 종료):

1

패키지 이름을 선택하셨습니다: yelp

  1. GNOME:STABLE:41 ? 41.2 | x86_64 숫자를 선택하세요(0은 종료를 의미).

1을 선택하면 먼저 리포지토리를 추가하고(필요한 경우) 이를 활성화한 다음 패키지를 다운로드하여 설치합니다.

선택할 수 있는 버전이 여러 개 있으면 OPI의 장점이 더욱 분명해집니다.

$ opipphp8

패키지 이름을 선택했습니다: php8

  1. 개발: 언어: php: php82? 8.2.4 |
  2. 개발: 언어: php? 17.8.1 |
  3. 개발: 언어: php: php81? 8.1.13 |
  4. 개발: 언어: php: php80? 8.0.28 |
  5. 홈페이지: 13ilya! 8.2.4 |
  6. 홈:mmanu84:php8:php82! 8.2.4 |
  7. 홈:SCNOPS:php81 !|8.1.17 |
  8. 홈:illusio:php-next! | 17.8.1 | x86_64 숫자 선택(0 종료):

이렇게 하면 PHP 8.0.28, 8.1.13, 8.1.17 및 8.2.4 중에서 선택할 수 있습니다. 아직 안정적인 패키지는 없으며 모든 패키지는 "개발" 또는 "홈"으로 표시됩니다.

관련 정보