Go Back   HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials > ISPConfig 3 > Installation/Configuration

Do you like HowtoForge? Please consider supporting us by becoming a subscriber.
Reply
 
Thread Tools Display Modes
  #31  
Old 9th February 2010, 08:16
jdejansb jdejansb is offline
Junior Member
 
Join Date: Feb 2010
Posts: 1
Thanks: 0
Thanked 0 Times in 0 Posts
Default

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.
Reply With Quote
Sponsored Links
  #32  
Old 9th February 2010, 20:26
pebkac pebkac is offline
Senior Member
 
Join Date: Feb 2009
Posts: 132
Thanks: 2
Thanked 7 Times in 7 Posts
Default

Quote:
Originally Posted by falko View Post
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
Reply With Quote
  #33  
Old 15th February 2010, 04:59
mooseman mooseman is offline
Junior Member
 
Join Date: Dec 2006
Posts: 22
Thanks: 1
Thanked 2 Times in 1 Post
Default

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
Reply With Quote
  #34  
Old 15th February 2010, 07:57
pebkac pebkac is offline
Senior Member
 
Join Date: Feb 2009
Posts: 132
Thanks: 2
Thanked 7 Times in 7 Posts
Default

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?
Reply With Quote
  #35  
Old 15th February 2010, 11:20
StrikerNL StrikerNL is offline
Member
 
Join Date: Feb 2009
Posts: 45
Thanks: 9
Thanked 10 Times in 8 Posts
Default

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.
Reply With Quote
  #36  
Old 15th February 2010, 11:22
Nicke Nicke is offline
Member
 
Join Date: Jun 2009
Posts: 44
Thanks: 8
Thanked 14 Times in 9 Posts
Default

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.
Reply With Quote
  #37  
Old 15th February 2010, 11:33
StrikerNL StrikerNL is offline
Member
 
Join Date: Feb 2009
Posts: 45
Thanks: 9
Thanked 10 Times in 8 Posts
Default

Quote:
Originally Posted by Nicke View Post
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.
Reply With Quote
  #38  
Old 15th February 2010, 11:43
Nicke Nicke is offline
Member
 
Join Date: Jun 2009
Posts: 44
Thanks: 8
Thanked 14 Times in 9 Posts
Default

Quote:
Originally Posted by StrikerNL View Post
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.
Reply With Quote
  #39  
Old 15th February 2010, 11:43
StrikerNL StrikerNL is offline
Member
 
Join Date: Feb 2009
Posts: 45
Thanks: 9
Thanked 10 Times in 8 Posts
Default

Quote:
Originally Posted by Nicke View Post
Yes but that is a later problem.
Hence my post
Reply With Quote
  #40  
Old 15th February 2010, 11:45
Nicke Nicke is offline
Member
 
Join Date: Jun 2009
Posts: 44
Thanks: 8
Thanked 14 Times in 9 Posts
 
Default

Quote:
Originally Posted by StrikerNL View Post
Hence my post
People in this thread cant put the packade on hold. Im interested in what they are running.
Reply With Quote
Reply

Bookmarks

Tags
lenny, mailbox, maildrop, update

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Forbidden 403; Samba access; config of maildeamon fawkes Installation/Configuration 4 14th January 2010 18:16
High on Lenny - Lvm Mount Problem Serverman Technical 1 23rd June 2009 16:26
libWand.so.10 error Taxick Installation/Configuration 8 3rd May 2009 01:27
HotSaNIC domino Tips/Tricks/Mods 23 6th November 2006 05:19
Howto suggestion suse PhP ver 4 + Ver 5 wwparrish Suggest HOWTO 11 7th August 2006 13:29


All times are GMT +2. The time now is 18:28.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.