저장소 정보를 업데이트하지 않고 yum으로 패키지를 설치하는 방법은 무엇입니까?


10

저장소에서 일부 패키지를 설치하고 싶지만 항상 yum install packagename업데이트 DB 를 yum 하려고 할 때 :

Loaded plugins: fastestmirror, langpacks, presto, refresh-packagekit
Determining fastest mirrors
updates/metalink                                                                                                                      |  23 kB     00:00     
 * fedora: nl.mirror.eurid.eu
 * rpmfusion-free: ftp.astral.ro
 * rpmfusion-free-updates: ftp.astral.ro
 * rpmfusion-nonfree: ftp.astral.ro
 * rpmfusion-nonfree-updates: ftp.astral.ro
 * updates: nl.mirror.eurid.eu
fedora-awesome                                                                                                                    | 3.3 kB     00:00     
google-chrome                                                                                                                     |  951 B     00:00     
rpmfusion-free-updates                                                                                                        | 3.3 kB     00:00     
rpmfusion-free-updates/primary_db                                                                                             | 272 kB     00:08     
rpmfusion-nonfree-updates                                                                                                     | 3.3 kB     00:00     
rpmfusion-nonfree-updates/primary_db                                                                                          |  93 kB     00:05     
updates                                                                                                                       | 4.7 kB     00:00     
updates/primary_db                                                                                                            | 4.6 MB     02:35     
updates/group                                                                                                                     | 1.9 MB     00:33     

따라서 사용 yum install packagename -C도 작동하지 않습니다 ( "캐시를 찾을 수 없음"오류가 발생하고 yum makecache결과도 제공하지 않음). 그러나 db를 업데이트하지 않고 패키지를 설치하고 싶습니다.


3
왜? DB를 수단 업데이트는 패키지 목록의 최신 버전이
스머지

우리는 무슨 DB에 대해 이야기하고 있습니까? yum 저장소 / 패키지 캐시?
thinice

1
인터넷 속도가 너무 느려 모든 설치에 대해 저장소를 업데이트하기 때문에 @sam.
Clark

1
로그에서 볼 수 있듯이 @thinice yes 저장소에 대한 업데이트가 있습니다. 저장소 업데이트없이 패키지를 설치하고 싶을 필요는 없습니다.
Clark

1
@purple 그런 다음 로컬 저장소를 사용해야합니다. yum은 원격 또는 로컬 yum이 신경 쓰지 않지만 repo 데이터에 대한 모든 액세스 권한으로 작동하도록 설계되었습니다.
Smudge

답변:


12

당신이 원하는 경우 yum처럼 행동하는 apt-get(각 실행하여 메타 데이터를 업데이트하지 않음), 편집 /etc/yum.conf하고 거기에 넣어 :

metadata_expire=never

또는

metadata_expire=7d

일주일 후에 메타 데이터를 업데이트하려는 경우 를 실행하면 데비안에서 yum makecache와 같이 메타 데이터가 업데이트됩니다 apt-get update.

그러나 구성 파일에서 "never"를 사용하지 않으면 수동으로 관리해야합니다. 예를 들어 "7d"를 사용하면 데이터 대역폭이 절약되지만 일주일이 지나면 메타 데이터가 자동으로 업데이트됩니다.

metadata_expire설명서 는 다음과 같습니다 .

ad, h 또는 m을 각각 추가하여 기본값을 초 단위 사용에서 일, 시간 또는 분 단위로 변경할 수도 있습니다. yum-updatesd가 한 시간에 한 번씩 실행되도록 기본값은 6 시간입니다. "never"라는 단어를 사용하는 것도 가능합니다. 즉, 메타 데이터가 만료되지 않습니다.


2w잘 작동?
Sebastian Godelet

아니오 2w작동하지 않습니다. yum-updatesd가 한 시간에 한 번씩 실행되도록 기본값은 6 시간입니다. a d, h or m각각 을 추가하여 초를 사용하는 기본값에서 일, 시간 또는 분을 사용하도록 변경할 수 있습니다 .
Shubham Chaudhary 2016 년

4

당신이 묻는 것은 어떤면에서 m의 정신에서 벗어났습니다. Yum은 포괄적 인 패키지 및 종속성 관리자입니다. 호환되지 않는 패키지를 믹스 앤 매치하여 시스템을 망가 뜨리지 않고 작업을 수행하려면 업데이트하지 않으려는 데이터가 있어야합니다.

패키지를 사용 deplist <packagename>하고 수동으로 설치 하여 패키지의 종속성을 수동으로 분석 할 수 있습니다 .

yum에 최신 정보가없는 것은 어떤 상황이든 이상한 요청처럼 보입니다 ...


그러나 install 명령을 입력 할 때 왜 apt-get이 저장소를 업데이트하지 않습니까? update를 입력 할 때만 리포지토리 만 업데이트합니다. m도 같은 일을하고 싶습니다.
Clark

1
apt-get install foo를 실행하고 원격 패키지 버전이 변경되면 다음과 같은 메시지가 표시됩니다. bitbucket.org/ianb/silverlining/issue/26/…- 마찬가지로 저장소에서 업데이트 된 종속성과 함께 게다가. 기본적으로 업데이트를 강제로 실행합니다.
thinice

2
예, 변경되지 않은 응용 프로그램을 설치하기 위해 yum을 실행하면 db도 업데이트됩니다.
Clark

4

db를 업데이트하지 않고 패키지를 설치하려면 yumdownloader, ftp 또는 웹 브라우저를 통해 rpm을 직접 다운로드 한 다음 rpm으로 직접 설치하십시오.

rpm -ivh packagename

종속성을 추적하는 것이 훨씬 더 많은 작업이므로 (yum이 생성되는 이유) yum을 통해 향후 설치를 중단 할 수 있으므로 권장하지 않습니다.


예. 왜 예를 들어 apt-get이 패키지를 설치하라는 메시지를 표시 할 때 저장소를 업데이트하지 않습니까? 그리고 업데이트하려면 'apt-get update'명령을 사용하십시오.
Clark
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.