yum에게 특정 버전의 패키지 X를 설치하도록 지시하려면 어떻게해야합니까?


226

YUM 저장소에 사용 가능한 특정 RPM 버전이 두 개 이상인 경우 yum원하는 버전을 설치하도록 지시 하려면 어떻게 해야합니까?

Koji 빌드 서비스를 살펴보면 여러 버전이 있음을 알았습니다.

    ss # 1

답변:


310

사용 가능한 특정 버전을 확인하려면 스위치를 yum사용할 수 있습니다 --showduplicates. "package name.architecture version"과 같은 목록을 제공합니다.

$ yum --showduplicates list httpd | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit
Loading mirror speeds from cached hostfile
 * fedora: mirror.steadfast.net

Available Packages
httpd.x86_64                        2.4.6-6.fc20                         fedora 
httpd.x86_64                        2.4.10-1.fc20                        updates

특정 버전을 설치하는 한? 패키지 이름에 버전 정보를 추가하여 다음과 같이 아키텍처 이름을 제거 할 수 있습니다.

$ sudo yum install <package name>-<version info>

예를 들어이 경우 이전 버전 2.4.6-6을 설치하려면 다음을 수행하십시오.

$ sudo yum install httpd-2.4.6-6

패키지를 지정할 때 릴리스 정보를 포함 할 수도 있습니다. 이 경우 Fedora 20 (F20)을 다루기 때문에 릴리스 정보는 "fc20"이고 아키텍처 정보도 있습니다.

$ sudo yum install httpd-2.4.6-6.fc20
$ sudo yum install httpd-2.4.6-6.fc20.x86_64

repoquery

당신이 논쟁을 올바르게 구성하고 있는지 확실하지 않다면 당신은 또한 상담 할 수 repoquery있습니다.

$ sudo yum install yum-utils  # (to get `repoquery`)
$ repoquery --show-duplicates httpd-2.4*
httpd-0:2.4.6-6.fc20.x86_64
httpd-0:2.4.10-1.fc20.x86_64

다운로드 및 설치

다음 옵션 중 하나를 사용하여 웹에서 특정 RPM을 다운로드 한 다음이를 사용 yum하여 설치할 수도 있습니다.

$ yum --downloadonly <package>
-or-
$ yumdownloader <package>

그런 다음 다음과 같이 설치하십시오.

$ sudo yum localinstall <path to rpm>

X 패키지에 필요한 모든 것을 다운로드하려면 어떻게합니까?

$ yumdownloader --resolve <package>

$ yumdownloader --resolve vim-X11
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
--> Running transaction check
---> Package vim-X11.x86_64 2:7.3.315-1.fc14 set to be reinstalled
--> Finished Dependency Resolution
vim-X11-7.3.315-1.fc14.x86_64.rpm                              | 1.1 MB     00:01

종속성 검사를 수행 한 다음 누락 된 부분을 다운로드합니다. 더 자세한 내용은 내 대답을 참조하십시오 : repo에서 파일을 다운로드하고 인터넷 연결없이 나중에 설치하는 방법은 무엇입니까? .

참고 문헌


1
찾은 최신 버전 @updates과 찾은 OS의 초기 버전 사이의 패키지에서는 작동하지 않는다고 생각합니다 @fedora. 예를 들어, 당신은 설치하려고하는 경우 httpd-2.4.8-1, yum패키지는 사용할 수 없습니다 말할 것입니다.
질문 오버플로

@QuestionOverflow-팔로우 안 됨 해당 버전은 리포지토리에서 사용 가능한 것으로 표시되지 않습니다.
slm

1
yum 로그의 실제 예를 사용하여 다시 시도하겠습니다. python-libs-2.7.5-12.fc20.x86_64한 번은 내 컴퓨터에 설치되었지만 이후 교체되었습니다. 지금 나는이 특정 패키지를 설치하려는 가정 yumdownloader python-libs-2.7.5-12*말할 것입니다 No Match for argument python-libs-2.7.5-12* Nothing to download. 내가 말하려는 것은 새 패키지가 도착하면 이전 패키지는 더 이상 yum에서 액세스 할 수 없다는 것입니다. 최신 패키지 또는 초기 버전 만 설치할 수 있지만 그 사이의 버전은 설치할 수 없습니다.
질문 오버플로

2
@QuestionOverflow-이 시나리오에서는 yum downgrade ...패키지가 이미 설치되어 있고 나중에 다시 시도하려는 경우 사용해야한다고 생각합니다 . 제 QI에서는 아직 설치되지 않은 패키지의 특정 버전을 직접 선택하는 방법을 보여 주려고했습니다. docs.fedoraproject.org/en-US/Fedora/14/html/…
slm

아니요, 특정 패키지로 업그레이드 할 때도 작동하지 않습니다. 나는 며칠 전에 새로 설치하여 이것을 실험했습니다. 원하는 버전이 아닌 최신 패키지로만 yum 업데이트를 수행 할 수 있습니다.
질문 오버플로

6

또 다른 옵션은 rpm파일을 다운로드 한 후 다음 yum을 수행하도록 지시 할 수 있습니다 localinstall.

yum localinstall /path/to/package.rpm

필요한 패키지를 얻는 좋은 곳은 rpmfind.com이며 패키지 이름을 검색하십시오.


모든 버전의 rpm 파일을 포함하지 않는 URL이 있습니까?
질문 오버플로

@QuestionOverflow : rpmfind.net
cuonglm

4
도 있습니다 yum --downloadonly <package>다음, yum localinstall <path to package>도. 이 유틸리티도 사용할 수 있습니다 yumdownloader <package>.
slm

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