yum/dnf가 저장소를 업데이트하는 것을 (일시적으로) 방지하는 방법은 무엇입니까?

yum/dnf가 저장소를 업데이트하는 것을 (일시적으로) 방지하는 방법은 무엇입니까?

가끔 작은 패키지를 검색하거나 설치하려고 하는데 인터넷 연결이 매우 제한된 경우(예: 해외 원격 지역의 모바일 데이터) 문제에 직면할 때가 있습니다. 긴급 상황에 가깝기 때문에 캐시된 저장소 콘텐츠를 사용해도 괜찮습니다. 마지막 업데이트는 1~2주 전이었습니다. 하지만 dnf몇 MB의 메타데이터를 다운로드하는 데 시간이 오래 걸리고 싶지 않습니다. 오늘 오전에는 간단한 작업을 완료할 수 없었습니다.찾다따라서 작동. 오프라인으로 명령을 실행해 보았지만 메타데이터가 최신이 아니면 실행이 거부됩니다. 명령이 이전 데이터를 사용하도록 강제하는 옵션이나 유효한 것으로 간주되는 기간을 변경하는 구성 항목이 있습니까?

답변1

나는 이 질문이 약간 오래되었다는 것을 알고 있지만(이 옵션은 새로운 것일 수 있음) 이것은 나에게 효과적이었습니다.

 -C, --cacheonly
              Run entirely from system cache, don't update the cache and use it even in case it is expired.

그러니 dnf -C install ...날 위해 일해줘

p.s. 내 경우에는 네트워크가 끊어져서 다른 곳에서 다운로드하여 sneakersnet을 통해 전송한 RPM을 설치하고 있는데 실행 파일을 dnf사용하여 직접 설치하여 문제를 일으키고 싶지 않습니다.rpm

답변2

다양한 dnf 및 yum repo 구성 파일을 살펴보면 다음과 같은 몇 가지 명확한 메타데이터 만료 시간을 찾을 수 있습니다.

/etc/yum.repos.d/fedora-updates.repo
  metadata_expire=6h

/etc/dnf/dnf.conf
  metadata_expire=86400

dnfdnf 를 사용하여 명령줄에서 이를 재정의할 수 있지만 --setopt=활성화된 각 저장소와 dnf 마스터 구성에 대해 이 작업을 명시적으로 수행해야 합니다. 그래서 당신은 다음과 같은 결과를 얻게 될 것입니다.

sudo dnf --setopt=metadata_expire=-1 \
 --setopt=fedora.metadata_expire=-1 \
 --setopt=fedora-update.metadata_expire=-1 \
 --setopt=rpmfusion-free.metadata_expire=-1 \
 search abcdef

dnf가 사용자를 위해 별도의 캐시를 생성하지 않도록 sudo를 사용할 때는 주의하세요.

답변3

이는 일시적인 것은 아니지만 되돌릴 수 있습니다.

sudo zypper modifyrepo --no-refresh --all

또는

sudo zypper modifyrepo --no-refresh --remote

초과 데이터가 있는 경우 수동으로 새로 고칠 수 있습니다.

sudo zypper refresh

또한 GUI를 사용할 때 저장소 새로 고침이 꺼집니다.

YAST의 리포지토리 옵션을 사용하여 GUI에서 이를 제어할 수도 있지만 처음 시작할 때 닫히지 않으면 새로 고쳐집니다.

관련 정보