무인 업그레이드 패키지를 통해 자동 업그레이드가 어떻게 진행되는지 이해하려고 합니다. 아래에 설명된 내용은 Ubuntu 16.04.3을 새로 설치했을 때 발견한 내용입니다.
/etc/cron.daily/apt-compat
exec /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.service
install
내가 이해하는 것처럼 /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은 무인 업데이트 실행을 트리거합니다.