X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/38d2959ffb8c6f5f291b2910014a67b1b352ab4c..bd8274311db48fdcc78456c17c2d59497b96cc2f:/debian/apt.cron.daily diff --git a/debian/apt.cron.daily b/debian/apt.cron.daily index ee0761bfb..7e976a087 100644 --- a/debian/apt.cron.daily +++ b/debian/apt.cron.daily @@ -3,7 +3,7 @@ # # This file understands the following apt configuration variables: # Values here are the default. -# Create /etc/apt/apt.conf.d/02periodic file to set your preference. +# Create /etc/apt/apt.conf.d/10periodic file to set your preference. # # Dir "/"; # - RootDir for all configuration files @@ -62,12 +62,28 @@ # APT::Periodic::AutocleanInterval "0"; # - Do "apt-get autoclean" every n-days (0=disable) # +# APT::Periodic::CleanInterval "0"; +# - Do "apt-get clean" every n-days (0=disable) +# # APT::Periodic::Verbose "0"; # - Send report mail to root # 0: no report (or null string) # 1: progress report (actually any string) # 2: + command outputs (remove -qq, remove 2>/dev/null, add -d) # 3: + trace on +# +# APT::Periodic::RandomSleep "1800"; +# - The apt cron job will delay its execution by a random +# time span between zero and 'APT::Periodic::RandomSleep' +# seconds. +# This is done because otherwise everyone would access the +# mirror servers at the same time and put them collectively +# under very high strain. +# You can set this to '0' if you are using a local mirror and +# do not care about the load spikes. +# Note that sleeping in the apt job will be delaying the +# execution of all subsequent cron.daily jobs. +# check_stamp() { @@ -311,7 +327,7 @@ check_power(){ # 1 (false) System is not on main power # 255 (false) Power status could not be determined # Desktop systems always return 255 it seems - if which on_ac_power >/dev/null; then + if which on_ac_power >/dev/null 2>&1; then on_ac_power POWER=$? if [ $POWER -eq 1 ]; then @@ -339,7 +355,7 @@ if test -r /var/lib/apt/extended_states; then fi # check apt-config existence -if ! which apt-config >/dev/null ; then +if ! which apt-config >/dev/null 2>&1; then exit 0 fi @@ -375,7 +391,7 @@ fi check_power || exit 0 # check if we can lock the cache and if the cache is clean -if which apt-get >/dev/null && ! eval apt-get check $XAPTOPT $XSTDERR ; then +if which apt-get >/dev/null 2>&1 && ! eval apt-get check $XAPTOPT $XSTDERR ; then debug_echo "error encountered in cron job with \"apt-get check\"." exit 0 fi @@ -398,6 +414,9 @@ eval $(apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgr AutocleanInterval=0 eval $(apt-config shell AutocleanInterval APT::Periodic::AutocleanInterval) +CleanInterval=0 +eval $(apt-config shell CleanInterval APT::Periodic::CleanInterval) + BackupArchiveInterval=0 eval $(apt-config shell BackupArchiveInterval APT::Periodic::BackupArchiveInterval) @@ -409,7 +428,8 @@ if [ $UpdateInterval -eq 0 ] && [ $DownloadUpgradeableInterval -eq 0 ] && [ $UnattendedUpgradeInterval -eq 0 ] && [ $BackupArchiveInterval -eq 0 ] && - [ $AutocleanInterval -eq 0 ]; then + [ $AutocleanInterval -eq 0 ] && + [ $CleanInterval -eq 0 ]; then # check cache size check_size_constraints @@ -438,7 +458,7 @@ UPDATE_STAMP=/var/lib/apt/periodic/update-stamp if check_stamp $UPDATE_STAMP $UpdateInterval; then if eval apt-get $XAPTOPT -y update $XSTDERR; then debug_echo "download updated metadata (success)." - if which dbus-send >/dev/null && pidof dbus-daemon >/dev/null; then + if which dbus-send >/dev/null 2>&1 && pidof dbus-daemon >/dev/null 2>&1; then if dbus-send --system / app.apt.dbus.updated boolean:true ; then debug_echo "send dbus signal (success)" else @@ -474,7 +494,7 @@ fi # auto upgrade all upgradeable packages UPGRADE_STAMP=/var/lib/apt/periodic/upgrade-stamp -if which unattended-upgrade >/dev/null && check_stamp $UPGRADE_STAMP $UnattendedUpgradeInterval; then +if which unattended-upgrade >/dev/null 2>&1 && check_stamp $UPGRADE_STAMP $UnattendedUpgradeInterval; then if unattended-upgrade $XUUPOPT; then update_stamp $UPGRADE_STAMP debug_echo "unattended-upgrade (success)" @@ -485,6 +505,19 @@ else debug_echo "unattended-upgrade (not run)" fi +# clean package archive +CLEAN_STAMP=/var/lib/apt/periodic/clean-stamp +if check_stamp $CLEAN_STAMP $CleanInterval; then + if eval apt-get $XAPTOPT -y clean $XSTDERR; then + debug_echo "clean (success)." + update_stamp $CLEAN_STAMP + else + debug_echo "clean (error)" + fi +else + debug_echo "clean (not run)" +fi + # autoclean package archive AUTOCLEAN_STAMP=/var/lib/apt/periodic/autoclean-stamp if check_stamp $AUTOCLEAN_STAMP $AutocleanInterval; then