데비안 apt-get update
은 패키지 인덱스를 가져오고 업데이트합니다. 나는 이런 방식으로 일하는 데 익숙하기 때문에 그 yum update
모든 일을 하고 시스템을 업그레이드 한다는 사실에 놀랐습니다 . 이로 인해 아무것도 설치하지 않고 패키지 색인을 업데이트하는 방법이 궁금했습니다.
답변
이 check-update
명령은 패키지 색인을 새로 고치고 사용 가능한 업데이트를 확인합니다.
yum check-update
답변
yum check-update
설치된 패키지의 업데이트를 확인 하지만 새로 고쳐야하는 경우 대부분의 다른 명령도 업데이트됩니다.
엄격하게 동등한 명령 apt-get update
은 yum 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 all
FWIW 보다 (?) 더 오래 걸리는 것 같습니다 .
답변
이것이 로컬 캐시를 업데이트하는 명령이므로
yum makecache
Yum cache 작업 에 따르면 찾고있는 명령 인 것 같습니다 .
yum은 yum.conf의 metadata_expire 값을 기반으로 메타 데이터를 이미 확인하고 새로 고치기 때문에 일반적으로이 명령을 직접 실행할 필요는 없습니다. 기본값은 6 시간입니다.
만 (Ansible이 문제를 참조하십시오 어떤 패키지를 설치하지 않고 캐시를 업데이트에 Ansible 각본에 방법이없는 그러나, Ansible 각본에 적어도 하나의 유스 케이스,있을 수 33461 및 40068을 에 보인다, 버전 2.8, 46183 에서 수정되었습니다 ). Ansible yum 모듈에는 ‘update_cache : yes’옵션에 대한 패키지 이름이 필요합니다. 따라서 대안 ‘명령 : yum makecache’를 플레이 북에서 사용할 수 있습니다.
dnf에는 makecache 명령도 있지만 –refresh 스위치와 메타 데이터를 강제로 동기화 할 수도 있습니다.