77 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/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 6.0."; 
 | |
| then
 | |
| 	dotnetFound="yes"
 | |
| else
 | |
| 	dotnetFound="no"
 | |
| fi
 | |
| 
 | |
| 	if [ -d $dotnetDir ]
 | |
| 	then
 | |
| 	    dotnetUpdate="yes"
 | |
| 		echo "Updating .NET 6 Runtime..."
 | |
| 	fi
 | |
| 
 | |
| 	curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin -c 6.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 6.0."; 
 | |
| 	then
 | |
| 		if [ "$dotnetUpdate" = "yes" ]
 | |
| 		then
 | |
| 			echo ".NET 6 Runtime was updated successfully!"
 | |
| 		fi
 | |
| 	else
 | |
| 		echo "Failed to update .NET 6 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
 | 
