Friday, December 11, 2009

So, I have Sidux installed in my home desktop computer, and I needed a script to increase the speed of the apt-get install/upgrade/dist-upgrade commands, so I followed these steps that I found on the internet to solve my problem:

1) Run the following command:
sudo apt-get install axel

2) Create the following script:
#!/bin/sh
#apt-fast by Matt Parnell http://www.mattparnell.com , this thing is FOSS
#please feel free to suggest improvements to admin@mattparnell.com
# Use this just like apt-get for faster package downloading. Make sure to have axel installed

#If the first user entered variable string contains apt-get, and the second string entered is either install or dist-upgrade
if echo "$1" | grep -q "[upgrade]" || echo "$2" | grep -q "[install]" || echo "$2" | grep -q "[dist-upgrade]"; then
echo "Working...";

#Go into the directory apt-get normally puts downloaded packages
cd /var/cache/apt/archives/;

#Have apt-get print the information, including the URI's to the packages
apt-get -y --print-uris $1 $2 $3 $4 > debs.list;

#Strip out the URI's, and download the packages with Axel for speediness
egrep -o -e "(ht|f)tp://[^\']+" debs.list | xargs -l1 axel -a;

#Perform the user's reqested action via apt-get
apt-get -y $1 $2 $3 $4;

echo "Done! Make sure and check to see that the packages all were installed properly. If a package is erred, run sudo apt-get autoclean and try installing it again without the use of this script.";

elif echo "$1" | grep -q "[*]"; then
apt-get $1;
else
echo "Sorry, but you appear to be entering invalid options. You must use apt-get and one of apt-get's options in order to use this script.";
fi
3) Make the file an executable:
chmod +x ./apt-fast
4) Now you can use the (sudo) apt-fast {install|upgrade|dist-upgrade} to increase your downloads speed

And that's it!

You can add a symbolic link (or even move the file) to the /usr/bin directory, so the script can be called with no path involved.

Source

No comments: