Debian 8 to Debian 9 to Debian 10

We've done this on multiple servers without issues. Be aware that you won't be able to use PHP 5.3/4/5 anymore.

1) Debian 8 to 9:

Code:
cp /etc/apt/sources.list /etc/apt/sources.list.bak
cat >/etc/apt/sources.list <<EOF
deb http://httpredir.debian.org/debian stretch main
deb http://httpredir.debian.org/debian stretch-updates main
deb http://security.debian.org stretch/updates main
EOF

apt update
apt upgrade
apt dist-upgrade
reboot

apt --purge autoremove

apt update; apt install wget gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev libperl4-corelibs-perl libaio1 libaio-dev \
zlib1g zlib1g-dev libcap-dev cron bzip2 zip automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev \
libncurses5-dev libsystemd-dev bind9 dnsutils quota patch libjemalloc-dev logrotate rsyslog libc6-dev libexpat1-dev \
libcrypt-openssl-rsa-perl libnuma-dev libnuma1 ipset

2) Debian 9 to 10:

Code:
cp /etc/apt/sources.list /etc/apt/sources.list.bak
cat >/etc/apt/sources.list <<EOF
deb http://httpredir.debian.org/debian buster main
deb http://httpredir.debian.org/debian buster-updates main
deb http://security.debian.org buster/updates main
EOF

apt update
apt upgrade
apt dist-upgrade
reboot

apt --purge autoremove

apt update; apt install wget gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules-5.28 libperl-dev libperl4-corelibs-perl libwww-perl libaio1 libaio-dev \
zlib1g zlib1g-dev libcap-dev cron bzip2 zip automake autoconf libtool cmake pkg-config python libdb-dev libsasl2-dev \
libncurses5 libncurses5-dev libsystemd-dev bind9 dnsutils quota patch logrotate rsyslog libc6-dev libexpat1-dev \
libcrypt-openssl-rsa-perl libnuma-dev libnuma1 ipset libjpeg-dev

3) upgrade Directadmin (replace 'XXXXX' in the command below with your own user id and license id):

Code:
cd /usr/local/directadmin/custombuild
./build exim

CHANNEL=current
OS_SLUG=linux_amd64
COMMIT=$(dig +short -t txt "$CHANNEL-version.directadmin.com" | sed 's|.*commit=\([0-9a-f]*\).*|\1|')
FILE="directadmin_${COMMIT}_${OS_SLUG}.tar.gz"
curl --location --progress-bar --connect-timeout 10 "https://download.directadmin.com/${FILE}" --output "/root/${FILE}"
tar xzf "/root/${FILE}" -C /usr/local/directadmin
/usr/local/directadmin/directadmin permissions || true
/usr/local/directadmin/scripts/update.sh
service directadmin restart

cd /usr/local/directadmin/custombuild
./build update; ./build all d
reboot
 
Last edited:
Update: I went through the upgrade process.

Debian 8 to Debian 9 looks smooth.
Debian 9 to Debian 10 I had an issue where my eth0 won't up.

So I reverted back to Debian 8 again.

I have eth0:0 as my public IP, is this causing an issue why my eth0 won't up?

This guy also having the same issue as mine:

Any clue?
 
:0 is an alias of the interface. Is there any reason you don't have your IP directly on eth0? That said, it shouldn't matter. What's the contents of /etc/network/interfaces and/or /etc/network/interfaces.d/*, and the output of ip a?

Also what's the actual error message of "won't up"?
 
As Kristian said, shouldn't be a big issue, just compare the interface name returned by the 'ip a' (this might have changed from eth0 to ens18) command with the one set in /etc/network/interfaces, edit your interfaces file and reboot.
 
"It depends". New installations get other names than you're used to, but existing names should stick around I think. Just make sure they match with your configs.
 
I tried again, apparently ensxx also not present, it's like all of my network interface card is gone.

I've disabled additional IPs.

Code:
auth eth0:0
allow-hotplug eth0:0
iface eth0:0 inet static
address 1.2.3.4
netmask 255.255.255.255

I checked below also same (when it was Debian 9 vs after upgraded to Debian 10)

Code:
root@directadmin:~# echo /sys/class/net/*
/sys/class/net/eth0 /sys/class/net/lo
root@directadmin:~# cd /sys/class/net/
root@directadmin:/sys/class/net# ls -al
total 0
drwxr-xr-x  2 root root 0 Jun 25 10:30 .
drwxr-xr-x 45 root root 0 Jun 25 10:30 ..
lrwxrwxrwx  1 root root 0 Jun 25 10:30 eth0 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/device:07/VMBUS:01/557348e5-e238-4f36-9a1c-79a1cbeef168/net/eth0
lrwxrwxrwx  1 root root 0 Jun 25 10:30 lo -> ../../devices/virtual/net/lo
root@directadmin:/sys/class/net# uname -a

So I think the name remains eth0, it's just network service unavailable.
 

Attachments

  • Screen Shot 2021-06-28 at 10.40.21 AM.png
    Screen Shot 2021-06-28 at 10.40.21 AM.png
    39.3 KB · Views: 128
  • Screen Shot 2021-06-28 at 10.42.39 AM.png
    Screen Shot 2021-06-28 at 10.42.39 AM.png
    34.5 KB · Views: 118
Last edited:
Well, networking.service seems to be fine, it's the startips service that is failing. You have eth0 as you showed, but you have not yet posted any output from ip a which would show if there's an IP on eth0.
 
If you have eth0, and only a single IP, I would put that IP on eth0 instead of eth0:0. Maybe I've missed something, but I don't have enough information to understand how things look on your server in order to troubleshoot any further.
 
my eth0 has the LAN IP address (our server is behind firewall)
so I added my WAN IP address using eth0:0 for DirectAdmin to see and bind the WAN IP address.

I have 1 LAN IP and 1 WAN IP.
 
andych, this may not be relevant but there again it may be. what is your debian running in/on? - VPS, KVM, or a stand alone real server? If it is VPS then 9 to 10 may not be possible because of the underlying os that your os runs in/on. Cheers Neil
 
andych, this may not be relevant but there again it may be. what is your debian running in/on? - VPS, KVM, or a stand alone real server? If it is VPS then 9 to 10 may not be possible because of the underlying os that your os runs in/on. Cheers Neil
Hi Neil, thanks for jumping in, it's a VM running on Hyper-V. Any specific reason why it's not possible? Do I need to fresh-install it?
 
andych, in my case my VM running in VPS relied on the base OS - including kernel - so debian 8-9 worked because both were compatible with the VPS kernel.
Debian 9-10 could not work because some stuff in 10 needed a more recent kernel than the one in the VPS. Debian 10 installed in the VPS VM but it didn't work correctly because of some packages were incompatible with the older VPS kernel. Including the kernel itself obviously and libc lol!
I switched to a KVM plan at that point and did a full re-install in a new KVM VM - i can update the kernel in my KVM to whatever i need. I want to stay up to date for security reasons and i found that a KVM solution was better in that respect.
If you go that route (changing VM) then i suggest that you check with DA support about how to migrate licenses as i used an additional temporary license to keep VPS VM running until i had the KVM VM running - so short period with two DA licenses needed. Hope this helps. Neil
 
I'm not familiar with Hyper-V, but considering it runs on Windows I don't think the hypervisor kernel would cause any issues here.

I'm going to assume that eth0 has your Lan IP and is working as expected.

This means it's only the startips that fails to bring up your WAN IP on eth0:0. This is a pretty simple shell script and I suggest you run the various bits in it manually to see if you can find where it fails.

The script is at /usr/local/directadmin/scripts/startips. If you want to run it as it normally would be run, you can do /usr/local/directadmin/scripts/startips start.

If that works, then great, your WAN IP should be added to your interface. If not, it might give you a clue as to what fails. Look in the script and try to run the commands manually and see if you get the expected output. Check the contents of the various files the script is using, and make sure it is correct. If you need any further help with this, you must produce actual output from whatever it is you're trying to do.
 
Back
Top