|
@@ -0,0 +1,76 @@
|
|
|
+#!/bin/sh
|
|
|
+set -e
|
|
|
+dotnetDir="/opt/dotnet"
|
|
|
+dnsDir="/etc/dns"
|
|
|
+dnsTar="/etc/dns/DnsServerPortable.tar.gz"
|
|
|
+dnsUrl="https://download.technitium.com/dns/DnsServerPortable.tar.gz"
|
|
|
+
|
|
|
+mkdir -p $dnsDir
|
|
|
+installLog="$dnsDir/install.log"
|
|
|
+echo "" > $installLog
|
|
|
+
|
|
|
+echo ""
|
|
|
+echo "==============================="
|
|
|
+echo "Technitium DNS Server Update"
|
|
|
+echo "==============================="
|
|
|
+
|
|
|
+if dotnet --list-runtimes 2> /dev/null | grep -q "Microsoft.NETCore.App 5.0.";
|
|
|
+then
|
|
|
+ dotnetFound="yes"
|
|
|
+else
|
|
|
+ dotnetFound="no"
|
|
|
+fi
|
|
|
+
|
|
|
+ if [ -d $dotnetDir ]
|
|
|
+ then
|
|
|
+ dotnetUpdate="yes"
|
|
|
+ echo "Updating .NET 5 Runtime..."
|
|
|
+ fi
|
|
|
+
|
|
|
+ curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin -c 5.0 --runtime dotnet --no-path --install-dir $dotnetDir --verbose >> $installLog 2>&1
|
|
|
+
|
|
|
+ if [ ! -f "/usr/bin/dotnet" ]
|
|
|
+ then
|
|
|
+ ln -s $dotnetDir/dotnet /usr/bin >> $installLog 2>&1
|
|
|
+ fi
|
|
|
+
|
|
|
+ if dotnet --list-runtimes 2> /dev/null | grep -q "Microsoft.NETCore.App 5.0.";
|
|
|
+ then
|
|
|
+ if [ "$dotnetUpdate" = "yes" ]
|
|
|
+ then
|
|
|
+ echo ".NET 5 Runtime was updated successfully!"
|
|
|
+ fi
|
|
|
+ else
|
|
|
+ echo "Failed to update .NET 5 Runtime. Please try again."
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+
|
|
|
+if curl -o $dnsTar --fail $dnsUrl >> $installLog 2>&1
|
|
|
+then
|
|
|
+ if [ -d $dnsDir ]
|
|
|
+ then
|
|
|
+ echo "Updating Technitium DNS Server..."
|
|
|
+ fi
|
|
|
+
|
|
|
+ tar -zxf $dnsTar -C $dnsDir >> $installLog 2>&1
|
|
|
+
|
|
|
+ if [ "$(ps --no-headers -o comm 1 | tr -d '\n')" = "systemd" ]
|
|
|
+ then
|
|
|
+ if [ -f "/etc/systemd/system/dns.service" ]
|
|
|
+ then
|
|
|
+ echo "Restarting systemd service..."
|
|
|
+ systemctl restart dns.service >> $installLog 2>&1
|
|
|
+ fi
|
|
|
+
|
|
|
+ echo ""
|
|
|
+ echo "Technitium DNS Server was updated successfully!"
|
|
|
+ else
|
|
|
+ echo ""
|
|
|
+ echo "Failed to update Technitium DNS Server: systemd was not detected."
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+else
|
|
|
+ echo ""
|
|
|
+ echo "Failed to download Technitium DNS Server from: $dnsUrl"
|
|
|
+ exit 1
|
|
|
+fi
|