Fedora의 DNF 캐시 디렉토리 이름에서 16진수 접미사를 제거하는 방법은 무엇입니까?

Fedora의 DNF 캐시 디렉토리 이름에서 16진수 접미사를 제거하는 방법은 무엇입니까?

DNF는 다음과 같이 표시된 캐시 디렉터리를 사용합니다.

/var/cache/dnf/fedora-d174f3c3f2691dd5
/var/cache/dnf/updates-d28e3be95240972f

고유 식별자를 추가하지 않도록 DNF를 구성하는 방법은 무엇입니까?

YUM을 사용하여 포함된 패키지 디렉터리를 로컬 서버의 위치에 심볼릭 링크했습니다. 여러 설치에서 이 작업을 수행하면 업데이트된 패키지를 한 번만 다운로드한 다음 모든 설치에 설치하면 됩니다.

DNF 패키지 디렉터리를 심볼릭 링크할 수 있지만 몇 달마다 DNF가 새로운 고유 ID를 생성합니다. 즉, 모든 패키지 디렉터리를 심볼릭 링크로 다시 바꿔야 한다는 뜻입니다.

답변1

Python으로 작성 되었으므로 dnf소스 코드를 보면 이 고유 식별자가 어떤 용도로 사용되는지 확인할 수 있습니다. /usr/lib/python2.7/site-packages/dnf/repo.py클래스 Repo메소드 에서 cachedir()ID가 저장소를 검색하는 데 사용되는 URL의 sha256 해시로 계산되는 것을 볼 수 있습니다.

digest = hashlib.sha256(url.encode('utf8')).hexdigest()[:16]

/etc/yum.repos.d/fedora.repo다음과 같은 일반적인 구성이 있는 경우

metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch

그런 다음 릴리스 버전이 변경되면 해시 값도 변경됩니다 $releasever. 예를 들어 fedora 22에서 23으로 이는 일반적이지 않습니다. 이를 통해 dnf는 특정 버전에 특정한 캐시를 유지할 수 있으므로 캐시에 대해 동일한 이름을 유지하고 싶지 않을 수 있습니다.

관련 정보