最后活跃于 6 months ago

修订 ea7dada423be2ff8b389d113641d22768dcba9c3

deploy_unattended-upgrades.sh 原始文件
1# wget https://gist.githubusercontent.com/waja/d9e176f712ae6a6e4442486df80a13ba/raw/deploy_unattended-upgrades.sh -O /tmp/a && sh /tmp/a
2apt-get -y install unattended-upgrades needrestart && \
3cat > /etc/apt/apt.conf.d/10periodic <<EOF
4APT::Periodic::Update-Package-Lists "1";
5APT::Periodic::Download-Upgradeable-Packages "1";
6APT::Periodic::AutocleanInterval "7";
7APT::Periodic::Unattended-Upgrade "1";
8EOF
9sed -i 's#// "o=Debian,n=jessie"# "o=Debian,n=jessie"#' /etc/apt/apt.conf.d/50unattended-upgrades && \
10sed -i 's#// "o=Debian,n=jessie-updates"# "o=Debian,n=jessie-updates"#' /etc/apt/apt.conf.d/50unattended-upgrades && \
11sed -i 's#//Unattended-Upgrade::Remove-Unused-Dependencies "false"#Unattended-Upgrade::Remove-Unused-Dependencies "true"#' /etc/apt/apt.conf.d/50unattended-upgrades && \
12sed -i 's#//Unattended-Upgrade::Automatic-Reboot "false"#Unattended-Upgrade::Automatic-Reboot "true"#' /etc/apt/apt.conf.d/50unattended-upgrades && \
13sed -i 's#//Unattended-Upgrade::Automatic-Reboot-Time "02:00"#Unattended-Upgrade::Automatic-Reboot-Time "04:00"#' /etc/apt/apt.conf.d/50unattended-upgrades
14DIST=$(lsb_release -c | cut -f 2); [ "${DIST}" != "jessie" ] && sed -i "s/jessie/${DIST}/g" /etc/apt/apt.conf.d/50unattended-upgrades
15# Let needrestart restart daemons automatically
16cat > /etc/needrestart/conf.d/auto_restart.conf <<EOF
17# Restart daemons after library updates automatically
18\$nrconf{restart} = 'a';
19EOF
20# prevent updating some core packages which requires reboot
21if [ "${1}" = "--crit" ]; then
22 for PACKAGE in libc6 linux-image- openssl xen libxen qemu libvirt; do
23 sed -i -E "s#//\t\"vim\";#\t\"${PACKAGE}\";\n//\t\"vim\";#" /etc/apt/apt.conf.d/50unattended-upgrades
24 done
25 sed -i 's#Unattended-Upgrade::Automatic-Reboot "true"#//Unattended-Upgrade::Automatic-Reboot "false"#' /etc/apt/apt.conf.d/50unattended-upgrades
26fi
27exit 0
28# in case you need a mail notification
29[ $(grep ^//Unattended-Upgrade::Mail /etc/apt/apt.conf.d/50unattended-upgrades | grep -c -v MailOnlyOnError) -gt 0 ] && \
30 sed -i 's#//Unattended-Upgrade::Mail "root";#Unattended-Upgrade::Mail "user@domain.tld";#g' /etc/apt/apt.conf.d/50unattended-upgrades
31