TheFatRat/repokey

66 lines
1.9 KiB
Bash

#!/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