}
dist_upgrade () {
+ log "Running upgrade ..."
+ apt-get -y$s upgrade || {
+ dpkg --configure -a
+ apt-get -y$s upgrade
+ }
+
log "Running dist-upgrade ..."
apt-get -y$s dist-upgrade || {
dpkg --configure -a
if [ "$upgrade" ]; then
notice "
-Prije prelaska na Debian Lenny potrebno je napraviti nadogradnju ovih paketa:
+Prije prelaska na Debian Squeeze potrebno je napraviti nadogradnju ovih paketa:
$upgrade
Pokrenite:
install_php5_extensions
notice "
-Prije prelaska na Debian Lenny potrebno je napraviti nadogradnju sa PHP 4 na PHP 5.
+Prije prelaska na Debian Squeeze potrebno je napraviti nadogradnju sa PHP 4 na PHP 5.
Pokrenite:
# apt-get update
if [ "$ver" = "${ver#2.6.2[4-9]}" ]; then
# kernel too old
notice "
-Prije prelaska na Debian Lenny potrebno je napraviti nadogradnju na najnoviji kernel.
+Prije prelaska na Debian Squeeze potrebno je napraviti nadogradnju na najnoviji kernel.
Pokrenite:
# apt-get update
reboot_required () {
local default_kernel kernel_package running_release running_version
- # try to get default kernel from lilo
- if type lilo >/dev/null 2>&1; then
- default_kernel=$( lilo -t -v 2>/dev/null \
- | grep -B3 '[*]$' \
- | sed -n -e '/^Boot image: / { s///p; q; }' )
+ # try to get default kernel from grub2
+ if [ -z "$default_kernel" -a -r "/boot/grub/grub.cfg" ]; then
+ default_kernel=$( awk '
+ $0 ~ /^set default=".*"/ {
+ def = gensub(/default="(.*)"/, "\\1", "1", $2);
+ if (def !~ /^[0-9]+$/) { exit }
+ }
+ $1 == "menuentry" { menuentry+=1 }
+ $1 == "linux" && menuentry==def+1 { print $2; exit }' \
+ /boot/grub/grub.cfg 2>/dev/null )
fi
- # fallback to grub if lilo not installed
+ # try to get default kernel from grub-legacy
if [ -z "$default_kernel" -a -r "/boot/grub/menu.lst" ]; then
default_kernel=$( awk '
- $1 == "default" { default = $2;
- if (default !~ /^[0-9]+$/) { exit } }
+ $1 == "default" { def = $2;
+ if (def !~ /^[0-9]+$/) { exit } }
$1 == "title" { title+=1 }
- $1 == "kernel" && title==default+1 { print $2; exit }' \
+ $1 == "kernel" && title==def+1 { print $2; exit }' \
/boot/grub/menu.lst 2>/dev/null )
fi
+ # try to get default kernel from lilo
+ if [ -z "$default_kernel" ] && type lilo >/dev/null 2>&1; then
+ default_kernel=$( lilo -t -v 2>/dev/null \
+ | grep -B3 '[*]$' \
+ | sed -n -e '/^Boot image: / { s///p; q; }' )
+ fi
+
if [ -z "$default_kernel" ]; then
log "Could not find default kernel"
return 1
log "Default kernel image: $default_kernel"
if [ ! -e "$default_kernel" ]; then
- log "Default kernel image doesn't exist!?"
- return 1
+ # /boot prefix might be missing
+ default_kernel="/boot/${default_kernel#/}"
+ if [ ! -e "$default_kernel" ]; then
+ log "Default kernel image doesn't exist!?"
+ return 1
+ fi
fi
kernel_package=$( dpkg -S $default_kernel | cut -d: -f 1 )
local hostname domain config_new memtotal memlimit
# restore simple configs
- if pkg kernel-2.6-cn && pkg procps lt 1:3.2.7-11; then
+ if pkg ntp-cn && pkg ntp lt 1:4.2.6.p2+dfsg-1+b1; then
+ if restore_file /etc/ntp.conf; then
+ postupgrade_reconfigure ntp-cn
+ fi
+ fi
+
+ if pkg kernel-2.6-cn && pkg procps lt 1:3.2.8-9; then
if restore_file /etc/sysctl.conf; then
postupgrade_reconfigure kernel-2.6-cn
fi
fi
- if pkg ntp-cn && pkg ntp lt 1:4.2.4p4+dfsg-8; then
- if restore_file /etc/ntp.conf; then
- postupgrade_reconfigure ntp-cn
+ if pkg kernel-2.6-cn && pkg libpam-modules lt 1.1.1-6.1; then
+ if restore_file /etc/security/limits.conf; then
+ postupgrade_reconfigure kernel-2.6-cn
fi
fi
- if pkg apache2-cn && pkg apache2.2-common lt 2.2.9-10+lenny2; then
- if restore_file /etc/apache2/ports.conf; then
- postupgrade_reconfigure apache2-cn
+ if pkg vsftpd-cn && pkg vsftpd lt 2.3.2-3+squeeze2; then
+ if restore_file /etc/vsftpd.conf; then
+ postupgrade_reconfigure vsftpd-cn
fi
fi
- if pkg postfix-cn && pkg sasl2-bin lt 2.1.22.dfsg1-23; then
- if restore_file /etc/default/saslauthd; then
- postupgrade_reconfigure postfix-cn
+ if pkg squirrelmail-cn && pkg squirrelmail lt 2:1.4.21-2; then
+ if restore_file /etc/squirrelmail/apache.conf; then
+ postupgrade_reconfigure squirrelmail-cn
fi
fi
- if pkg bind9-cn && pkg bind9 lt 1:9.5.1.dfsg.P1-1; then
- if restore_file /etc/bind/named.conf.options; then
- postupgrade_reconfigure bind9-cn
+ if pkg spamassassin-cn && pkg spamassassin lt 3.3.1-1; then
+ if restore_file /etc/spamassassin/v310.pre; then
+ postupgrade_reconfigure spamassassin-cn
fi
fi
- if pkg amavisd-cn && pkg amavisd-new lt 1:2.6.1.dfsg-1; then
+ if pkg amavisd-cn && pkg amavisd-new lt 1:2.6.4-3; then
if restore_file /etc/cron.daily/amavisd-new; then
rm -f /etc/cron.daily/amavisd-new.$backup_ext
postupgrade_reconfigure amavisd-cn
fi
- fi
- if pkg spamassassin-cn && pkg razor lt 1:2.85-1; then
- if restore_file /etc/razor/razor-agent.conf; then
- postupgrade_reconfigure spamassassin-cn
+ if restore_file /etc/amavis/conf.d/15-av_scanners; then
+ rm -f /etc/amavis/conf.d/15-av_scanners.$backup_ext
+ postupgrade_reconfigure amavisd-cn
fi
fi
- if pkg kernel-2.6-cn && pkg libpam-modules lt 1.0.1-5; then
- if restore_file /etc/security/limits.conf; then
- postupgrade_reconfigure kernel-2.6-cn
- fi
+ if pkg amavisd-cn lt 3:2.6.5; then
+ restore_file /etc/init.d/amavisd-cn
fi
- if pkg samba-cn && pkg samba-common lt 2:3.2.5-4lenny2; then
- if restore_file /etc/samba/smb.conf; then
- postupgrade_reconfigure samba-cn
- fi
+ if pkg console-tools lt 1:0.2.3dbs-69.1; then
+ restore_file /etc/console-tools/config
fi
- if pkg base-files lt 5lenny2; then
+ if pkg base-files lt 6.0squeeze2; then
restore_file /etc/issue
restore_file /etc/issue.net
fi
- # restore php.ini
- memtotal=$(awk '$1 == "MemTotal:" { print int($2/1024) }' /proc/meminfo)
- if [ $memtotal -gt 1024 ]; then
- memlimit=64
- elif [ $memtotal -ge 512 ]; then
- memlimit=32
- else
- memlimit=16
- fi
-
- if pkg php5-cn && pkg php5-cli lt 5.2.6.dfsg.1-1+lenny2; then
- config_new=$(copy_template /etc/php5/cli/php.ini)
- sed -i "s/^[[:space:]]*memory_limit[[:space:]]*=.*/memory_limit = ${memlimit}M/" $config_new
- sed -i "s/^[[:space:]]*post_max_size[[:space:]]*=.*/post_max_size = ${memlimit}M/" $config_new
- if restore_file /etc/php5/cli/php.ini $config_new; then
- postupgrade_reconfigure php5-cn
- fi
- rm -f $config_new
- fi
-
- if pkg php5-cn && pkg libapache2-mod-php5 lt 5.2.6.dfsg.1-1+lenny2; then
- config_new=$(copy_template /etc/php5/apache2/php.ini)
- sed -i "s/^[[:space:]]*memory_limit[[:space:]]*=.*/memory_limit = ${memlimit}M/" $config_new
- sed -i "s/^[[:space:]]*post_max_size[[:space:]]*=.*/post_max_size = ${memlimit}M/" $config_new
- if restore_file /etc/php5/apache2/php.ini $config_new; then
- postupgrade_reconfigure php5-cn
- fi
- rm -f $config_new
+ # dovecot won't start with these options
+ if pkg dovecot-cn && pkg dovecot-common lt 1:1.2.15-7; then
+ sed -i 's/^\( *\)\(sieve\(_storage\)\?=.*\)/\1#\2/' \
+ /etc/dovecot/dovecot.conf
fi
# check if monitrc is template based
- if [ -f /etc/monit/monitrc ]; then
+ if [ -e /etc/monit/monitrc ]; then # monit is removed at this point
# regenerate config from template
hostname=$(hostname)
domain=$(hostname --domain)
DEBIAN_FRONTEND=noninteractive pkgupgrade libc6 libc6-dev tzdata
}
-# upgrade apache2/php5 to lenny
+# upgrade apache2/php5
upgrade_apache2 () {
pkgrm apache-common # prevents installation of apache2-suexec
pkgupgrade libapache2-mod-php5 php5-cli php5-cn apache2-cn \
upgrade_amavis () {
local conf
- # remove init script diversion before upgrade
- if pkg amavisd-cn lt 3:2.6.1-1; then
- if [ -L /etc/init.d/amavis -a -f /etc/init.d/amavis.amavisd-new ]; then
- rm -vf /etc/init.d/amavis
- dpkg-divert --remove /etc/init.d/amavis
- fi
- fi
-
# move old config aside
for conf in /etc/amavisd.conf /etc/amavis/amavisd.conf; do
if [ -e $conf -a ! -e $conf.$backup_ext ]; then
# install new packages
pkgadd amavisd-cn amavisd-new
- # fix new packages
- check_and_sed '^clamd.*5.clamav.log$' \
- 's/^\(clamd.*\)5.clamav.log$/\14\tsocket/g' \
- /etc/init.d/amavisd-cn || true
-
- # check if link got lost
- if pkg amavisd-cn && [ ! -L /etc/init.d/amavis ]; then
- apt-get install --reinstall --yes amavisd-cn
- fi
-
# start new packages
- /etc/init.d/amavis restart
+ /etc/init.d/amavisd-cn restart
}
# handle freerdius upgrade
pkg freeradius-aai lt 2.1.3-0lenny0 || return 0
- # aai team prevents a clean lenny upgrade
+ # aai team prevents a clean upgrade
cp -av /etc/freeradius /etc/freeradius.$backup_ext
pkgrm freeradius-aai freeradius-ldap freeradius
pkgadd freeradius-aai
local config backup hostname domain
for pkg_name in munin munin-node; do
- pkg $pkg_name lt '1.2.6-10~lenny1' || continue
+ pkg $pkg_name lt '1.4.5-3' || continue
config=/etc/munin/$pkg_name.conf
backup=$config.$backup_ext
# try not to overwrite user modified issue files
fix_issue () {
- if cmp /etc/issue $cnup/files/etc/issue.expect.lenny >/dev/null; then
+ if cmp /etc/issue $cnup/files/etc/issue.expect.new >/dev/null; then
cp -av /etc/issue /etc/issue.$backup_ext
cat > /etc/issue <<EOF
-Debian GNU/Linux 5.0 (CARNet Debian 5.0) \\n \\l
+Debian GNU/Linux 6.0 (CARNet Debian 6.0) \\n \\l
EOF
fi
- if cmp /etc/issue.net $cnup/files/etc/issue.net.expect.lenny >/dev/null; then
+ if cmp /etc/issue.net $cnup/files/etc/issue.net.expect.new >/dev/null; then
cp -av /etc/issue.net /etc/issue.net.$backup_ext
cat > /etc/issue.net <<EOF
-Debian GNU/Linux 5.0 (CARNet Debian 5.0) %h
+Debian GNU/Linux 6.0 (CARNet Debian 6.0) %h
EOF
fi
}
}
check_kernel_space() {
- local available_disk_space kernel_size linux_images pkg ret
+ local available_disk_space kernel_size linux_images metapkg pkg ret
available_disk_space=$(free_space /)
linux_images=$(apt-cache show kernel-2.6-cn | grep ^Depends: \
- | grep -o 'linux-image[^ ]*')
- for pkg in $linux_images; do
+ | grep -o 'linux-image[^, ]*')
+ for metapkg in $linux_images; do
+ pkg=$(apt-cache show $metapkg | grep ^Depends: \
+ | grep -o 'linux-image[^, ]*' | head -1)
+ [ "$pkg" ] || continue
+
kernel_size=$(installed_size $pkg)
ret=$?
[ $ret -eq 0 ] && break