#!/bin/bash echo "--------------The Fat Rat Repokey 1.0----------" echo ".....Checking Dependencies....." if [ $(id -u) != "0" ]; then echo "Root Previledge is required to run this script" exit 0 fi which apt-key > /dev/null 2>&1 if [ "$?" != "0" ]; then echo "APT Package Management is not installed" exit 0 fi echo ".....Dependencies Check Done....." rchk () { apt-get update &> /tmp/aptkey.log awk '{print $1}' RS='NO_PUBKEY' /tmp/aptkey.log | sed '1d' > /tmp/expkeys.log awk '{print $1}' RS='EXPKEYSIG' /tmp/aptkey.log | sed '1d' >> /tmp/expkeys.log sort /tmp/expkeys.log | uniq > /tmp/expkeystmp.log rm /tmp/expkeys.log && mv /tmp/expkeystmp.log /tmp/expkeys.log cntk=$(wc -l /tmp/expkeys.log | awk '{print$1}' | sed 's/ //g') if [[ "$cntk" == "0" ]] then echo "No Keys to be processed" exit 0 else echo "Unable to process key for $dist" echo "" echo "Possible Causes" echo "- Check if you are connected to Internet" echo "- Any unofficial repository in /etc/apt/sources.list" echo "- Key not validated yet by the repository maintainers" echo "" exit 0 fi } keyapt () { apt-get update &> /tmp/aptkey.log awk '{print $1}' RS='NO_PUBKEY' /tmp/aptkey.log | sed '1d' > /tmp/expkeys.log awk '{print $1}' RS='EXPKEYSIG' /tmp/aptkey.log | sed '1d' >> /tmp/expkeys.log cat /tmp/expkeys.log | sort | uniq > /tmp/expkeystmp.log rm /tmp/expkeys.log && mv /tmp/expkeystmp.log /tmp/expkeys.log cntk=$(wc -l /tmp/expkeys.log | awk '{print$1}' | sed 's/ //g') if [[ "$cntk" == "0" ]] then echo "No Keys to be processed" exit 0 fi for i in $(seq $cntk) do gtkey=$(sed -n ${i}p /tmp/expkeys.log) apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $gtkey &> /tmp/gtkey.log kout=$(grep -w "Total number processed:" /tmp/gtkey.log | awk -F'Total number processed:' '{print $2}' | sed 's/ //g') dist=$(grep -o '".*"' /tmp/gtkey.log | sed 's/"//g') if [[ "$kout" == "1" ]] then echo "Succefull Key processed for $dist" else rchk fi done exit 0 } keyapt