dnf-makecache.timer가 필요한 이유는 무엇입니까?

dnf-makecache.timer가 필요한 이유는 무엇입니까?

systemd(CentOS8)에서는 내가 한 후에도 dnf로그( )에 팝업이 나타나는 것을 발견했습니다 . 에 대해 타이머( ) 가 실행되고 있는 것을 발견했습니다 ./var/log/messagesdnf remove dnf-automaticsystemctl list-unit-files --type=timerdnf-makecache.timer

내가 온라인에서 찾을 수 있는 가장 좋은 것은 dnf-makecache가 "Repo 캐시를 업데이트한다"는 것입니다. 좋아요, 그런데 그게 실제로 무슨 뜻인가요? 저장소 캐시를 매시간 업데이트해야 하는 이유는 무엇입니까? 업데이트를 수동으로 사용하면 이런 일이 발생하지 않을까요 dnf update?

새로 고치지 않으면 dnf update실패하거나 최신 버전을 얻을 수 없습니까 ? 아니면 자동을 사용하지 않으면 dnf-makecache칭찬하고 필요하지 않은 것입니까 ? dnf-automaticIMO: 그렇다면 dnf-automatic제거될 때 제거되어야 합니다.

systemctl disable dnf-makecache.timer이 타이머를 및 systemctl stop dnf-makecache.timer? 로 비활성화하는 경우의 단점/단점

답변1

좋아요, 그런데 그게 실제로 무슨 뜻인가요?

이는 후속 명령 속도를 높이기 위해 패키지의 원격 인덱스가 로컬 파일 캐시에 다운로드됨을 의미합니다 dnf.

저장소 캐시를 매시간 업데이트해야 하는 이유는 무엇입니까?

이는 dnf명령의 편의성과 속도 향상을 위해 수행됩니다. 예를 들어 명령을 실행할 때마다 dnf install저장소에 대한 "새로운" 메타데이터가 필요합니다. 그렇지 않으면 대화형으로 명령을 실행할 때 메타데이터 새로 고침을 기다려야 할 가능성이 높습니다 dnf.

타이머가 1시간마다로 설정되어 있음에도 불구하고 효과적인 실행 시간은 3시간을 넘지 않습니다. 이것은 오히려 버그이며 자세한 내용은 다음과 같습니다.여기.

dnf 업데이트와 함께 업데이트를 수동으로 사용하면 이런 일이 발생하지 않습니까?

예, 기본적으로 어쨌든 발생합니다.메타데이터가 오래된 것으로 간주되는 경우. 즉, 기본 수명인 6시간을 초과했습니다(repo별 정의가 이 TTL을 재정의할 수 있음). 정의에 metadata_expire=-1.

dnf-makecache가 새로 고쳐지지 않으면 dnf 업데이트가 실패하거나 최신 버전을 얻을 수 없습니까?

아니요, 실패하지 않을 것입니다. 메타데이터가 이미 있고 네트워크 연결이 불안정하다면 조금 더 안정적일 수 있다고 말할 수 있습니다.

아니면 dnf-automatic을 칭찬하고 자동을 사용하지 않으면 필요하지 않은 것입니까?

이는 두 가지를 모두 보완하며 dnfdnf-automatic가지 모두 새로운 메타데이터 캐시를 사용하여 실행될 가능성이 높아서 더 빠르게 실행되기 때문입니다.

systemctl 비활성화 dnf-makecache.timer 및 systemctl stop dnf-makecache.timer를 사용하여 이 타이머를 비활성화하는 경우의 단점/단점은 무엇입니까?

느린 dnf명령/대화형 설치 및 업데이트 대기. 기사에 대한 후속 조치를 취하고 조정하지 않는 한:

metadata_timer_sync=3600

타이머는 매우 비효율적이며 많은 이점을 제공하지 않습니다.

추신: 많은 질문을 하시지만 이 커뮤니티에서는 일반적으로 한 가지 질문을 하셔야 합니다. :)

man dnf와 상담해 보세요 man dnf.conf. 문서를 올바르게 작성하는 사람은 이를 헛되이 수행해서는 안 됩니다.

답변2

내 centos 8.1 서버는 방화벽과 제한된 프록시 뒤에 있기 때문에 dnf-makecache-timer는 반복적으로 성가신 오류를 생성합니다. 신뢰할 수 있는 프록시 화이트리스트를 추가하기 위해 모두 사용할 수 없는 임의의 동적 서버 목록을 사용하는 것 같습니다. 이것도 그럴 것이다~에 맞서우리의 보안 지침.

yum을 사용하면 (아마도) 모든 패키지 관리자 작업에서 사용하고 존중할 서버 목록을 정의할 수 있습니다(mirrorlist=… 및 include_only=… ).

dnf-makecache 타이머가 사용하는 서버를 제한하는 작업 솔루션이나 설정을 찾을 수 없습니다.

이상하게도 내가 시도했을 때 명령줄 호출이 결코 실패하지 않았습니다.

내가 이해하는 바에 따르면 (현재 내가 이해하는 바에 따르면) 타당한 질문은 다음과 같습니다.

"필요하지도, 원하지도 않습니다. (우리의 경우) 제어할 수 없는 오류가 발생합니다. 어떻게 비활성화할 수 있나요?

나는 여기에 대답할 것이다:

[main]-섹션 에 추가/etc/dnf/dnf.conf

metadata_timer_sync=0

dnf.conf - man - 페이지에 명시된 대로:

 Use 0 to completely disable automatic metadata synchronizing.

관련 정보