cron과 systemd가 모두 자동 업그레이드를 실행하는 이유는 무엇입니까?

cron과 systemd가 모두 자동 업그레이드를 실행하는 이유는 무엇입니까?

무인 업그레이드 패키지를 통해 자동 업그레이드가 어떻게 진행되는지 이해하려고 합니다. 아래에 설명된 내용은 Ubuntu 16.04.3을 새로 설치했을 때 발견한 내용입니다.

/etc/cron.daily/apt-compatexec /usr/lib/apt/apt.systemd.daily끝에 스크립트를 실행하는 줄이 있습니다 apt.systemd.daily.

systemd도 실행되며 /usr/lib/apt/apt.systemd.daily타이머를 사용합니다. 업데이트를 수행하는 systemd 서비스 정의는 에서 찾을 수 있습니다 /lib/systemd/system/apt-daily.service. 시스템 서비스 정의가 인수를 사용하여 동일한 스크립트를 호출 하는 동안 apt.systemd.daily인수를 사용하여 스크립트를 호출합니다 .update/lib/systemd/system/apt-daily-upgrade.serviceinstall

내가 이해하는 것처럼 /usr/lib/apt/apt.systemd.daily무인 업그레이드 패키지가 자동 업그레이드를 수행하는 데 사용되는 스크립트입니다. 내가 알고 싶은 것은 cron과 systemd가 모두 그것을 실행하는 이유는 무엇입니까?

답변1

두 작업은 무료이며 관계는 크론 작업(16.04 이상)에 설명되어 있습니다.

# Systemd systems use a systemd timer unit which is preferable to
# run. We want to randomize the apt update and unattended-upgrade
# runs as much as possible to avoid hitting the mirrors all at the
# same time. The systemd time is better at this than the fixed
# cron.daily time

Ubuntu 16.04 및 최신 시스템에서는 systemd 타이머가 중요한 작업입니다. 그것은 모든 무거운 작업을 수행합니다. 레거시 cronjob은 어떤 이유로 인해 시스템 타이머가 중지된 경우에만 시스템 타이머를 트리거합니다.

Ubuntu 14.04 및 이전 시스템(비Systemd)에서는 시스템이 상당히 다르게 작동합니다. cronjob은 무인 업데이트 실행을 트리거합니다.

관련 정보