Ubuntu Upgrade

dan

Verified User
Joined
Jan 2, 2007
Messages
99
Location
North Wales, UK
Hi
I'm running Ubuntu 8.10 on my server, and Canonical have deprecated support for it, so apt-get no longer works properly. I'm contemplating upgrading it to 10.04.1 LTS, but I'm just acutely aware that DA might break since it's a binary rather than relying on something like Python, Perl, etc.
My question is - will I have issues if I upgrade? I'll be upgrading with do-release-upgrade on the command line, so everything will be updated via apt. This will obviously also update, during the process, key binaries - exim, apache, etc..
I also have to update it 3 or 4 times to get to the version I want. It wants to run an upgrade path 8.10 -> 9.04 -> 9.10 -> 10.04.1.
Feedback appreciated.
Dan
 
Note that I'm responding only to one small part of your post:
will I have issues if I upgrade?
Maybe.
I'll be upgrading with do-release-upgrade on the command line, so everything will be updated via apt. This will obviously also update, during the process, key binaries - exim, apache, etc..
You'll definitely have problems if apt-get updates exim, apache, etc.[/quote]
Many programs in the hosting stack shouldn't be updated by apt-get, but rather by DirectAdmin using CustomApache or CustomBuild.

Check to make sure what apt-get excludes, and past the exclusions here for better information.
I also have to update it 3 or 4 times to get to the version I want. It wants to run an upgrade path 8.10 -> 9.04 -> 9.10 -> 10.04.1.
Feedback appreciated.
My recollection is that even Ubuntu people don't recommend this. I strongly recommend asking this on the Ubuntu forum.

Jeff
 
mm. actually ubuntu suggests that you can jump versions so long as the original and target versions are LTS versions, or you can upgrade to the target version in increments, as i suggested, this is their recommended upgrade path.

however, it doesn't look like the ubuntu upgrader will be able to leave the hosting stack alone, as it's not technically apt-get that's doing the upgrade, it's some other do-release-upgrade script which handles the whole thing from start to finish.

my question now is this: if i run do-release-upgrade several times to get my server to 10.04.1 LTS, even if it has upgraded the hosting stack, would re-running customapache/custombuild after the upgrade overwrite the versions that are there with the versions that *it* wants to install?

Dan
 
Let's presume you're right and it won't leave the hosting stack alone. That's a serious problem. It should only update software originally installed from .deb packages. If it won't leave other software alone it's quite dangerous to use.

I doubt, though, that it really does that. Does the package management system have a system for handling excludes? Have you used it to exclude everything that should be excluded?

If ubuntu has updated packages it shouldn't, then it's unlikely that custombuild will fix the problem; it leaves too much alone to account for customizations.

I strongly suggest you ask the question of DirectAdmin Support.

Jeff
 
hmm. well, i'm in the process of backing up all the user's home directories and mysql databases, /usr/loca/directadmin, etc.
suppose the upgrader does upgrade all the hosting stack. would it be possible to apt-get remove all the relevant packages and have custombuild re-install them?
 
for the first stage of the upgrade, this is what do-release-upgrade said it was going to do:

Code:
Remove: libavcodec51 libxcb-xlib0 


Install: apt-transport-https bc binutils-static grub-common 
  imagemagick-doc iso-codes libavcodec52 libdirectfb-1.0-0 
  libdjvulibre-text libdns46 libisc45 libmagickcore1 libmagickwand1 
  libntfs-3g49 liboil0.3 libparted1.8-10 librrd4 
  libschroedinger-1.0-0 libspeex1 libswscale0 libsysfs2 libts-0.0-0 
  libvolume-id1 libx264-65 linux-image-2.6.28-19-server 
  linux-restricted-modules-2.6.28-19-server 
  linux-restricted-modules-common linux-restricted-modules-server 
  proftpd-basic proftpd-mod-ldap proftpd-mod-mysql proftpd-mod-pgsql 
  python-newt python-pexpect python-pycurl python-smartpm python2.4 
  python2.4-minimal python2.6 python2.6-minimal screen-profiles 
  shared-mime-info update-notifier-common wireless-crda 


Upgrade: adduser apache2-mpm-prefork apache2-utils apache2.2-common 
  apparmor apparmor-utils apt apt-utils aptitude at autoconf automake 
  autotools-dev base-files base-passwd bash bash-completion bind9 
  bind9-host bind9utils binutils bsdmainutils bsdutils 
  busybox-initramfs bzip2 ca-certificates checkinstall 
  command-not-found command-not-found-data console-setup 
  console-terminus consolekit cpio cpp cpp-4.3 cron dash dbus 
  dbus-x11 dcraw debconf debconf-i18n debianutils dhcp3-client 
  dhcp3-common dmsetup dnsutils dosfstools dpkg dpkg-dev dselect 
  e2fslibs e2fsprogs ed eggdrop eggdrop-data eject ethtool file 
  findutils flex fontconfig fontconfig-config friendly-recovery 
  fuse-utils g++ g++-4.3 gcc gcc-4.3 gcc-4.3-base gettext-base 
  ghostscript grep groff-base grub gsfonts gzip hdparm ifupdown 
  imagemagick initramfs-tools initscripts installation-report iproute 
  iptables kbd klibc-utils klogd landscape-common laptop-detect 
  libapache2-mod-php5 libapparmor-perl libapparmor1 libapr1 
  libaprutil1 libatk1.0-0 libatk1.0-data libattr1 libavformat52 
  libavutil49 libbind9-40 libblkid1 libbz2-1.0 libc6 libc6-dev 
  libc6-i686 libcairo2 libcap2 libck-connector0 libcomerr2 
  libcompress-raw-zlib-perl libcompress-zlib-perl libcups2 
  libcupsimage2 libcurl3-gnutls libcwidget3 libdb4.6 libdb4.6-dev 
  libdb4.7 libdbd-mysql-perl libdbi-perl libdbus-1-3 libdbus-glib-1-2 
  libdevmapper1.02.1 libdjvulibre21 libdrm2 libept0 libexpat1 libffi5 
  libfltk1.1 libfontconfig1 libfreetype6 libfuse2 libgc1c2 libgcc1 
  libgcrypt11 libgd2-xpm libgdbm3 libgl1-mesa-glx libglib2.0-0 
  libglib2.0-data libgmp3c2 libgnutls26 libgomp1 libgpm2 libgraphviz4 
  libgs8 libgsf-1-114 libgsf-1-common libgtk2.0-0 libgtk2.0-bin 
  libgtk2.0-common libhtml-parser-perl libidn11 libilmbase6 
  libio-compress-base-perl libio-compress-zlib-perl libisccc40 
  libisccfg40 libiw29 libjasper1 libkeyutils1 libklibc libkrb53 
  liblcms1 libldap-2.4-2 liblockfile1 libltdl7 liblwres40 libmagic1 
  libmailtools-perl libmpfr1ldbl libmysqlclient15off libncurses5 
  libncursesw5 libneon27-gnutls libnet-daemon-perl libnewt0.52 
  libnfsidmap2 libopenexr6 libpam-ck-connector libpam-modules 
  libpam-runtime libpam0g libpango1.0-0 libpango1.0-common 
  libparse-debianchangelog-perl libpcap0.8 libpci3 libpcre3 
  libpcsclite1 libperl-dev libperl5.10 libpixman-1-0 libplrpc-perl 
  libpng12-0 libpolkit2 libpq5 libreadline5 librpc-xml-perl 
  librsvg2-2 libruby1.8 libsasl2-2 libsasl2-modules libselinux1 
  libsepol1 libslang2 libsm6 libsqlite3-0 libss2 libssl-dev 
  libssl0.9.8 libstdc++6 libstdc++6-4.3-dev libsvn1 libt1-5 
  libtasn1-3 libterm-readkey-perl libthai-data libthai0 libtheora0 
  libtiff4 liburi-perl libusb-0.1-4 libuuid1 libvorbis0a 
  libvorbisenc2 libwmf0.2-7 libwrap0 libwww-perl libx11-6 libx11-data 
  libx264-dev libxau6 libxcb-render-util0 libxcb-render0 libxcb1 
  libxext6 libxft2 libxi6 libxml-sax-expat-perl libxml2 libxrandr2 
  libxt6 linux-firmware linux-image-server linux-libc-dev 
  linux-server locales login logrotate lsb-base lsb-release lshw 
  ltrace man-db manpages mawk memtest86+ mktemp mlocate 
  module-init-tools mount mtr-tiny mysql-client mysql-client-5.0 
  mysql-common nano ncurses-base ncurses-bin net-tools netbase 
  nfs-common nfs-kernel-server ntfs-3g ntpdate openbsd-inetd 
  openssh-client openssh-server openssl openssl-blacklist parted 
  passwd pciutils perl perl-base perl-modules php-apc php5 
  php5-common php5-ffmpeg php5-gd php5-xcache popularity-contest 
  portmap ppp pppconfig procps proftpd python python-apt 
  python-central python-dbus python-gdbm python-gnupginterface 
  python-gobject python-minimal python-openssl python-pam 
  python-pyopenssl python-support python-twisted-bin 
  python-twisted-core python-zopeinterface python2.5 
  python2.5-minimal quota readline-common rrdtool rsync ruby1.8 
  screen smarty ssl-cert strace subversion sudo sysklogd sysv-rc 
  sysvinit-utils tasksel tasksel-data tcl8.5 tcpd tcpdump telnet time 
  traceroute ttf-dejavu ttf-dejavu-core ttf-dejavu-extra tzdata 
  ubuntu-minimal ubuntu-serverguide ubuntu-standard ucf udev ufw 
  unzip update-inetd update-manager-core update-motd util-linux 
  uuid-runtime vim-common vim-tiny w3m wajig wget whiptail whois 
  wireless-tools wpasupplicant x-ttcidfont-conf x11-common xkb-data 
  xml-core zlib1g zlib1g-dev

i don't see anything significant in there, but then again, i don't know exactly what it is i'm looking for. the only thing i can see that would have anything to do with the hosting stack is the apache2.2-common upgrade which i don't see as being an issue as it's currently running apache 2.2.10.

i've just send this same message to da tech support too to get their view on it. will post back when i hear something.

Dan
 
Great find, Tom.

The packages that need to be excluded from upgrade (and most from installation) can probably be found in these forums searching for yum exclude, but then of course the package names will probably need to be adjusted for Debian/Ubuntu.

Jeff
 
Yum example:

Code:
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
exclude=apache* httpd* mod_* mysql* MySQL* da_* *ftp* exim* sendmail* php* bind-chroot*
 
awesome. although, i think i may leave the o/s upgrade, and upgrade the entire server in 12 months. using custombuild right now to get all the hosting stack up to date, i'll just live with that for now, and install 11.04 LTS next year on a new server.

thanks anyway.

Dan
 
Back
Top