
9th February 2010, 08:16
|
|
Junior Member
|
|
Join Date: Feb 2010
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
There surely is a problem ... just how to configure apt(itude) not to update maildrop  Seems like it's un-holding it, and upgradeing it every day
/etc/cron.daily/aptitude is the guilty one
Just removed it  until new maildrop pacakge comes out ... Still can do manual update ...
Last edited by jdejansb; 9th February 2010 at 08:24.
|

9th February 2010, 20:26
|
|
Senior Member
|
|
Join Date: Feb 2009
Posts: 126
Thanks: 2
Thanked 5 Times in 5 Posts
|
|
Quote:
Originally Posted by falko
What's in /etc/cron.daily/apt and /etc/cron.daily/aptitude?
|
apt
Code:
#!/bin/sh
#
#set -e
#
# This file understands the following apt configuration variables:
#
# "APT::Periodic::Update-Package-Lists=1"
# - Do "apt-get update" automatically every n-days (0=disable)
#
# "APT::Periodic::Download-Upgradeable-Packages=0",
# - Do "apt-get upgrade --download-only" every n-days (0=disable)
#
# "APT::Periodic::AutocleanInterval"
# - Do "apt-get autoclean" every n-days (0=disable)
#
# "APT::Periodic::Unattended-Upgrade"
# - Run the "unattended-upgrade" security upgrade script
# every n-days (0=disabled)
# Requires the package "unattended-upgrades" and will write
# a log in /var/log/unattended-upgrades
#
# "APT::Archives::MaxAge",
# - Set maximum allowed age of a cache package file. If a cache
# package file is older it is deleted (0=disable)
#
# "APT::Archives::MaxSize",
# - Set maximum size of the cache in MB (0=disable). If the cache
# is bigger, cached package files are deleted until the size
# requirement is met (the biggest packages will be deleted
# first).
#
# "APT::Archives::MinAge"
# - Set minimum age of a package file. If a file is younger it
# will not be deleted (0=disable). Usefull to prevent races
# and to keep backups of the packages for emergency.
#
check_stamp()
{
stamp="$1"
interval="$2"
if [ $interval -eq 0 ]; then
return 1
fi
if [ ! -f $stamp ]; then
return 0
fi
# compare midnight today to midnight the day the stamp was updated
stamp_file="$stamp"
stamp=$(date --date=$(date -r $stamp_file --iso-8601) +%s 2>/dev/null)
if [ "$?" != "0" ]; then
# Due to some timezones returning 'invalid date' for midnight on
# certain dates (eg America/Sao_Paulo), if date returns with error
# remove the stamp file and return 0. See coreutils bug:
# http://lists.gnu.org/archive/html/bug-coreutils/2007-09/msg00176.html
rm -f "$stamp_file"
return 0
fi
now=$(date --date=$(date --iso-8601) +%s 2>/dev/null)
if [ "$?" != "0" ]; then
# As above, due to some timezones returning 'invalid date' for midnight
# on certain dates (eg America/Sao_Paulo), if date returns with error
# return 0.
return 0
fi
delta=$(($now-$stamp))
# intervall is in days,
interval=$(($interval*60*60*24))
#echo "stampfile: $1"
#echo "interval=$interval, now=$now, stamp=$stamp, delta=$delta"
if [ $delta -ge $interval ]; then
return 0
fi
return 1
}
update_stamp()
{
stamp="$1"
touch $stamp
}
# we check here if autoclean was enough sizewise
check_size_constraints()
{
# min-age in days
MaxAge=0
MinAge=2
MaxSize=0
CacheDir="var/cache/apt"
CacheArchive="archives/"
eval $(apt-config shell MaxAge APT::Archives::MaxAge)
eval $(apt-config shell MinAge APT::Archives::MinAge)
eval $(apt-config shell MaxSize APT::Archives::MaxSize)
eval $(apt-config shell Dir Dir)
eval $(apt-config shell CacheDir Dir::Cache)
eval $(apt-config shell CacheArchive Dir::Cache::archives)
# sanity check
if [ -z "$CacheDir" -o -z "$CacheArchive" ]; then
echo "empty Dir::Cache or Dir::Cache::archives, exiting"
exit
fi
Cache="${Dir%/}/${CacheDir%/}/${CacheArchive%/}/"
# check age
if [ ! $MaxAge -eq 0 ] && [ ! $MinAge -eq 0 ]; then
find $Cache -name "*.deb" \( -mtime +$MaxAge -and -ctime +$MaxAge \) -and -not \( -mtime -$MinAge -or -ctime -$MinAge \) -print0 | xargs -r -0 rm -f
elif [ ! $MaxAge -eq 0 ]; then
find $Cache -name "*.deb" -ctime +$MaxAge -and -mtime +$MaxAge -print0 | xargs -r -0 rm -f
fi
# check size
if [ ! $MaxSize -eq 0 ]; then
# maxSize is in MB
MaxSize=$(($MaxSize*1024))
#get current time
now=$(date --date=$(date --iso-8601) +%s)
MinAge=$(($MinAge*24*60*60))
# reverse-sort by mtime
for file in $(ls -rt $Cache/*.deb 2>/dev/null); do
du=$(du -s $Cache)
size=${du%%/*}
# check if the cache is small enough
if [ $size -lt $MaxSize ]; then
break
fi
# check for MinAge of the file
if [ ! $MinAge -eq 0 ]; then
# check both ctime and mtime
mtime=$(stat -c %Y $file)
ctime=$(stat -c %Z $file)
if [ $mtime -gt $ctime ]; then
delta=$(($now-$mtime))
else
delta=$(($now-$ctime))
fi
#echo "$file ($delta), $MinAge"
if [ $delta -le $MinAge ]; then
#echo "Skiping $file (delta=$delta)"
break
fi
fi
# delete oldest file
rm -f $file
done
fi
}
# sleep for a random interval of time (default 30min)
# (some code taken from cron-apt, thanks)
random_sleep()
{
RandomSleep=1800
eval $(apt-config shell RandomSleep APT::Periodic::RandomSleep)
if [ $RandomSleep -eq 0 ]; then
return
fi
if [ -z "$RANDOM" ] ; then
# A fix for shells that do not have this bash feature.
RANDOM=$(dd if=/dev/urandom count=1 2> /dev/null | cksum | cut -c"1-5")
fi
TIME=$(($RANDOM % $RandomSleep))
sleep $TIME
}
# main
if ! which apt-config >/dev/null; then
exit 0
fi
UpdateInterval=0
DownloadUpgradeableInterval=0
eval $(apt-config shell UpdateInterval APT::Periodic::Update-Package-Lists DownloadUpgradeableInterval APT::Periodic::Download-Upgradeable-Packages)
AutocleanInterval=$DownloadUpgradeableInterval
eval $(apt-config shell AutocleanInterval APT::Periodic::AutocleanInterval)
UnattendedUpgradeInterval=0
eval $(apt-config shell UnattendedUpgradeInterval APT::Periodic::Unattended-Upgrade)
# check if we actually have to do anything
if [ $UpdateInterval -eq 0 ] &&
[ $DownloadUpgradeableInterval -eq 0 ] &&
[ $UnattendedUpgradeInterval -eq 0 ] &&
[ $AutocleanInterval -eq 0 ]; then
exit 0
fi
# laptop check, on_ac_power returns:
# 0 (true) System is on mains power
# 1 (false) System is not on mains power
# 255 (false) Power status could not be determined
# Desktop systems always return 255 it seems
if which on_ac_power >/dev/null; then
on_ac_power
if [ $? -eq 1 ]; then
exit 0
fi
fi
# sleep random amount of time to avoid hitting the
# mirrors at the same time
random_sleep
# check if we can access the cache
if ! apt-get check -q -q 2>/dev/null; then
# wait random amount of time before retrying
random_sleep
# check again
if ! apt-get check -q -q 2>/dev/null; then
echo "$0: could not lock the APT cache while performing daily cron job. "
echo "Is another package manager working?"
exit 1
fi
fi
# set the proxy based on the admin users gconf settings
admin_user=$(getent group admin|cut -d: -f4|cut -d, -f1)
if [ -n "$admin_user" ] && [ -x /usr/bin/sudo ] && [ -z "$http_proxy" ] && [ -x /usr/bin/gconftool ]; then
use=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/use_http_proxy 2>/dev/null)
host=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/host 2>/dev/null)
port=$(sudo -u "$admin_user" gconftool --get /system/http_proxy/port 2>/dev/null)
if [ "$use" = "true" ] && [ -n "$host" ] && [ -n "$port" ]; then
export http_proxy="http://$host:$port/"
fi
fi
UPDATE_STAMP=/var/lib/apt/periodic/update-stamp
if check_stamp $UPDATE_STAMP $UpdateInterval; then
# check for a new archive signing key (against the master keyring)
apt-key net-update
# now run the update
if apt-get -qq update -o APT::Update::Auth-Failure::="cp /usr/share/apt/apt-auth-failure.note /var/lib/update-notifier/user.d/" 2>/dev/null; then
# Could possible test access to '/var/run/dbus/system_bus_socket' has well,
# but I'm not sure how stable the internal pipe location is defined as
# being; so for the moment just 2>/dev/null . --sladen 2007-09-27
if which dbus-send >/dev/null; then
dbus-send --system / app.apt.dbus.updated boolean:true 2>/dev/null || true
fi
# now run apt-xapian-index if it is installed to ensure the index
# is up-to-date
if [ -x /usr/sbin/update-apt-xapian-index ]; then
ionice -c3 update-apt-xapian-index -q
fi
update_stamp $UPDATE_STAMP
fi
fi
DOWNLOAD_UPGRADEABLE_STAMP=/var/lib/apt/periodic/download-upgradeable-stamp
if check_stamp $DOWNLOAD_UPGRADEABLE_STAMP $DownloadUpgradeableInterval; then
apt-get -qq -d dist-upgrade 2>/dev/null
update_stamp $DOWNLOAD_UPGRADEABLE_STAMP
fi
UPGRADE_STAMP=/var/lib/apt/periodic/upgrade-stamp
if check_stamp $UPGRADE_STAMP $UnattendedUpgradeInterval; then
unattended-upgrade
update_stamp $UPGRADE_STAMP
fi
AUTOCLEAN_STAMP=/var/lib/apt/periodic/autoclean-stamp
if check_stamp $AUTOCLEAN_STAMP $AutocleanInterval; then
apt-get -qq autoclean
update_stamp $AUTOCLEAN_STAMP
fi
# check cache size
check_size_constraints
aptitude
Code:
#!/bin/sh
bak=/var/backups
# Shamelessly ripped from /etc/cron.daily/standard
if test -f /var/lib/aptitude/pkgstates && cd $bak ; then
if ! cmp -s aptitude.pkgstates.0 /var/lib/aptitude/pkgstates ; then
cp -p /var/lib/aptitude/pkgstates aptitude.pkgstates
savelog -c 7 aptitude.pkgstates > /dev/null
fi
fi
|

15th February 2010, 04:59
|
|
Junior Member
|
|
Join Date: Dec 2006
Posts: 22
Thanks: 1
Thanked 2 Times in 1 Post
|
|
Hi, I moved /etc/cron.daily/aptitude to another folder and maildrop is still getting updating every day. Is there a service that needs to be restarted after removing the /etc/cron.daily/aptitude ?
thx
--
Dan
|

15th February 2010, 07:57
|
|
Senior Member
|
|
Join Date: Feb 2009
Posts: 126
Thanks: 2
Thanked 5 Times in 5 Posts
|
|
This is becoming a pain in the ass. If I forget to run the downgrade everyday, my client calls bitching....man there has got to be a way to stop this. Anyone know how I could put a script to run every morning that would run the downgrade?
|

15th February 2010, 11:20
|
|
Member
|
|
Join Date: Feb 2009
Posts: 45
Thanks: 9
Thanked 10 Times in 8 Posts
|
|
I have this same problem on Ubuntu 9.04. I hid the maildrop package upgrade for now, but it would be nice if it worked.
Also, I hope this won't prevent me from upgrading to Ubuntu 9.10 at some point.
|

15th February 2010, 11:22
|
|
Member
|
|
Join Date: Jun 2009
Posts: 44
Thanks: 8
Thanked 14 Times in 9 Posts
|
|
I'm running Ubuntu 9.04.
echo "maildrop hold"|dpkg --set-selections
works great.
What are you ppl running? Strange that it works for me.
|

15th February 2010, 11:33
|
|
Member
|
|
Join Date: Feb 2009
Posts: 45
Thanks: 9
Thanked 10 Times in 8 Posts
|
|
Quote:
Originally Posted by Nicke
I'm running Ubuntu 9.04.
echo "maildrop hold"|dpkg --set-selections
works great.
What are you ppl running? Strange that it works for me.
|
Yes, it does, but I will have to upgrade either maildrop or to Ubuntu 9.10 at some point, and I'd like to know that that's possible eventually.
|

15th February 2010, 11:43
|
|
Member
|
|
Join Date: Jun 2009
Posts: 44
Thanks: 8
Thanked 14 Times in 9 Posts
|
|
Quote:
Originally Posted by StrikerNL
Yes, it does, but I will have to upgrade either maildrop or to Ubuntu 9.10 at some point, and I'd like to know that that's possible eventually.
|
Yes but that is a later problem.
|

15th February 2010, 11:43
|
|
Member
|
|
Join Date: Feb 2009
Posts: 45
Thanks: 9
Thanked 10 Times in 8 Posts
|
|
Quote:
Originally Posted by Nicke
Yes but that is a later problem. 
|
Hence my post
|

15th February 2010, 11:45
|
|
Member
|
|
Join Date: Jun 2009
Posts: 44
Thanks: 8
Thanked 14 Times in 9 Posts
|
|
Quote:
Originally Posted by StrikerNL
Hence my post 
|
People in this thread cant put the packade on hold. Im interested in what they are running.
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT +2. The time now is 09:17.
|
|
Recent comments
1 day 3 hours ago
1 day 10 hours ago
1 day 14 hours ago
1 day 15 hours ago
2 days 5 min ago
2 days 9 hours ago
2 days 10 hours ago
2 days 13 hours ago
2 days 18 hours ago
2 days 18 hours ago