yum이 다른 패키지를 업데이트하지 않고 패키지를 설치하거나 실패합니다...?

yum이 다른 패키지를 업데이트하지 않고 패키지를 설치하거나 실패합니다...?

yum현재 설치된 종속성이 충족할 수 있는 패키지 버전을 선택하도록 설치 패키지에 지시하는 방법이 있습니까 ?

예를 들어, pecl 패키지를 설치 중이고 현재 설치되어 있지만 php-5.4.11최신 패키지를 php-5.4.14사용할 수 있는 경우입니다. 새 패키지를 설치하고 싶지 않고(모든 PHP 패키지를 5.4.14로 업데이트) 다른 모든 패키지를 업데이트하지 않고 설치하도록 요청한 패키지의 이전 버전을 선택하고 싶습니다(업데이트할 수 없으면 실패합니다) 완료).

이것은 특정한 경우입니다. PHP 패키지를 제외하거나 수정할 수 있다는 것을 알고 있지만 모든 설치에서 작동하는 일반 옵션을 찾고 있습니다.

그것은 다음과 같습니다:

yum install php-pecl-xxxx --no-updates

답변1

임시 해결책:

-C( ) 플래그를 사용합니다  --cacheonly.

sudo yum install foobar -C

인용하다:Red Hat Enterprise Linux 6에서 Yum 캐시 사용.

영구적인 솔루션:

metadata_expire옵션을 사용하세요yum.conf이것을 제어하기 위해.

편집 /etc/yum.conf및 설정

metadata_expire=15d

d, h또는 를 사용하여 m시간을 구성 할 수 있습니다 .일, 시간또는.

문서는 다음과 같습니다.

메타데이터가 만료되었습니다. 메타데이터가 만료되는 시간(초)입니다. 따라서 현재 다운로드된 메타데이터가 이 초보다 작으면 yum은 저장소에 대해 메타데이터를 업데이트하지 않습니다. yum이 원하는 만큼 자주 업데이트를 다운로드하지 않는 경우 이 옵션의 값을 낮추세요. ad, h 또는 m을 각각 추가하여 기본값인 초를 일, 시간 또는 분으로 변경할 수도 있습니다. 매시간 실행되는 yum-updatesd를 보충하기 위한 기본값은 6시간입니다. 메타데이터가 만료되지 않음을 의미하는 "never"라는 단어를 사용할 수도 있습니다. metalink 파일을 사용할 때 유효성 검사를 위해 metalink는 항상 저장소의 메타데이터보다 최신이어야 하므로 이 시간 제한은 metalink 파일에도 적용됩니다. 또한 "never"는 "yum cleanexpired-cache"를 재정의하지 않는다는 점에 유의하세요.

  - 원천:yum.conf(5)

답변2

패키지에는 yum-utils이라는 도구가 있습니다 yumdownloader. 설치 없이 저장소에서 다운로드하는 데 사용할 수 있습니다. 모든 표준 스위치가 --disablerepo적합합니다. 보다매뉴얼 페이지더 많은 정보를 알고 싶습니다.

RPM을 다운로드한 다음 RPM을 직접 사용하여 원하는 작업을 수행할 수 있다고 생각합니다.

답변3

이전 버전의 패키지가 아직 yum 저장소에 있는 경우 yum install packagename-version-release.arch최신 버전으로 업그레이드하지 않고도 이 명령을 실행하여 이전 버전을 설치할 수 있습니다. yum 저장소에 여러 버전과 아키텍처가 있는 경우 전체 이름, 버전, 릴리스 및 아키텍처를 사용해야 합니다. yum list available 'packagename*'"packagename"으로 시작하는 모든 패키지를 검색하면 이 모든 정보를 얻을 수 있습니다 . 패키지를 성공적으로 업그레이드했고 이전 버전으로 다운그레이드하려면 를 실행할 수 있습니다 yum downgrade packagename1 packagename2. 다운그레이드하려는 모든 패키지 목록을 포함해야 합니다.

이전 버전이 yum 저장소에 없으면 이전 패키지를 찾은 곳에서 다운로드하고 를 사용하여 설치하세요 yum install /path/to/package.rpm. 단, 신뢰할 수 없는 소스에서 패키지를 설치하는 것은 주의해야 합니다.

관련 정보