yum은 ‘apt-get update’에 해당하는 것은 무엇입니까? 가져오고 업데이트합니다. 나는 이런 방식으로 일하는

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



답변

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

yum check-update


답변

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

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


답변

불행히도 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 보다 (?) 더 오래 걸리는 것 같습니다 .


답변

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

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 스위치와 메타 데이터를 강제로 동기화 할 수도 있습니다.


답변