yum은 'apt-get update'에 해당하는 것은 무엇입니까?


86

데비안 apt-get update은 패키지 인덱스를 가져오고 업데이트합니다. 나는 이런 방식으로 일하는 데 익숙하기 때문에 그 yum update모든 일을 하고 시스템을 업그레이드 한다는 사실에 놀랐습니다 . 이로 인해 아무것도 설치하지 않고 패키지 색인을 업데이트하는 방법이 궁금했습니다.

답변:


90

check-update명령은 패키지 색인을 새로 고치고 사용 가능한 업데이트를 확인합니다.

yum check-update

3
이 명령을 사용하면 설치된 패키지에 사용 가능한 업데이트가 있는지 확인할 수 있습니다 . yum사용 가능한 경우 모든 리포지토리에서 모든 패키지 업데이트 목록을 반환합니다. apt-get update인덱스 파일을 새로 고치지 만 yum check-update그렇지 않습니다.
SuB

yum최근에 이미 실행 된 경우 작동하지 않습니다. 대안에 대한 다른 답변을 참조하십시오.
rogerdpack

29

yum check-update설치된 패키지의 업데이트를 확인 하지만 새로 고쳐야하는 경우 대부분의 다른 명령도 업데이트됩니다.

엄격하게 동등한 명령 apt-get updateyum makecache...하지만 일반적으로 yum에서 직접 실행하는 것은 권장되지 않습니다.


1
첫 문장을 이해하지 못합니다. 어쩌면 당신은 어구를 바꿀 수 있습니까?
tshepang

8
다른 yum명령, 예를 들어 필요한 경우 yum upgrade자동으로 실행 yum check-update됩니다. 즉, yum upgrade기본적으로와 동일합니다 apt-get update; apt-get upgrade.
Mikel

감사합니다! yum check-update가 404 오류를 방지하지 못했습니다. 그러나 yum makecache가 도움이됩니다! 큰 감사합니다!
소켓 페어

원본은 최신 정보를 제공하기 위해 자동으로 repodata를 업데이트하는 것에 관한 것입니다. 편집 후 그것은 이제 이상하게 의미가 없습니다 :(.
James Antill

왜 실행하지 않는 것이 좋 yum makecache습니까? 맨 페이지에 나와 있으며 다음과 같이 작동하는 것 같습니다 apt-get update... 또한 yum check-update항상 새로 고침을 수행하지는 않습니다. 다른 답변 참조 FWIW :)
rogerdpack

21

불행히도 yum check-update기본적으로 yum.conf의 metadata_expire 매개 변수가 경과 할 때까지 (기본값 90m) 원격 저장소에서 변경 사항을 풀다운하지 않습니다 . 분명히 그 목적은 "컴퓨터에 대화식으로 실행하지 않고 적용해야 할 업데이트가 있는지 확인"이므로 기본적으로 "업데이트 할 수있는 패키지 목록을 새로 고치지"않고 "패키지를 업데이트 할 수 있는지 확인"합니다 기대했다.

따라서 실행 yum check-update하고 이것을 얻으면 :

$ sudo yum check-update
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile

packagename      version     repo

이는 check-update가 업데이트를 수행 하지 않음을 의미합니다 apt-get update.

당신은 모든 명령을 실행하여, 아래 수행 "자동 새로 고침"하기 전에 걸리는 시간을 볼 수 있습니다 :yum repolist enabled -v

해결 방법 :

먼저 yum clean expire-cache(또는 yum clean all)를 사용 하면 이후의 yum 명령은 "실행시"캐시를 자동으로 새로 고칩니다. . 이후의 yum 명령은 캐시를 새로 고치므로 실제로는와 동일합니다 apt-get update.

또는 yum.conf의 metadata_expire 매개 변수를 기본 90 분 미만으로 변경하십시오.

또는 yum makecache캐시를 제거하고 바로 새로운 사본을 가져 오는 것처럼 보이는 다른 답변에서 실행 하십시오. 그러나 clean allFWIW 보다 (?) 더 오래 걸리는 것 같습니다 .


2
이 답변이 왜 바닥에 어긋나는 지 잘 모르겠습니다. 이것은 명백하고 간단한 대답처럼 보입니다.
cbmanica

2

이것이 로컬 캐시를 업데이트하는 명령이므로

yum makecache

Yum cache 작업 에 따르면 찾고있는 명령 인 것 같습니다 .

yum은 yum.conf의 metadata_expire 값을 기반으로 메타 데이터를 이미 확인하고 새로 고치기 때문에 일반적으로이 명령을 직접 실행할 필요는 없습니다. 기본값은 6 시간입니다.

만 (Ansible이 문제를 참조하십시오 어떤 패키지를 설치하지 않고 캐시를 업데이트에 Ansible 각본에 방법이없는 그러나, Ansible 각본에 적어도 하나의 유스 케이스,있을 수 3346140068을 에 보인다, 버전 2.8, 46183 에서 수정되었습니다 ). Ansible yum 모듈에는 'update_cache : yes'옵션에 대한 패키지 이름이 필요합니다. 따라서 대안 '명령 : yum makecache'를 플레이 북에서 사용할 수 있습니다.

dnf에는 makecache 명령도 있지만 --refresh 스위치와 메타 데이터를 강제로 동기화 할 수도 있습니다.


이 기존 답변에는 이미 언급되어 있습니다 yum makecache. 예를 들어 왜 yum makecache권장되지 않는지 또는 dnf그에 상응하는 것이 무엇인지 설명함으로써 답변을 확장하여 더 유용하게 사용할 수 있습니다 .
Stephen Kitt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.